Android系统基础介绍
2017-07-28 21:56
204 查看
Android系统基础介绍
<深入理解Android内核设计思想>读书笔记 —————————— —-> 11.android系统特点
开发与扩展性android最大的特点是开放性,虽然android遵循的是Apache开源软件许可证,和Linux遵从的GPL不同
合理的分层架构
现在的android系统分为5层结构,具体的分析下面再说
Application Application FrameWork Library and Runtime HardWare Abstraction Layer linux Kernel
强大的SDK
SDK(softWare Development kit)是操作系统与开发者直接的接口,应用程序开发者使用操作系统提供的api接口开发出各种各样的app
界面不断改进,更加美观
完善的生态系统
类似于生物生态系统,趋于稳定的持续发展
android系统提供底层平台基础 开发者通过研发新产品来获取利润,提供相应的服务 消费者使用这些产品来满足自身需求 Market提供了开发者和消费者之间资金支付与交易的平台
系统的运行速度有待提高,开机速度有的太慢
android使用厂家太多,导致各种各样的产品,使开发难度增加,各种各样的分辨率和屏幕大小是个很大的难题
2.Android系统框架
5.Application 4.Application FrameWork 3.Library and Runtime 2.HardWare Abstraction Layer 1.linux Kernel 1.使用linux内核是因为linux是开源的,经过多年的发展linux在各种各样的硬件方面有很强的兼容性,这使得对各种硬件手机搭建android在驱动方面更加方便 2.硬件抽象曾通过定义硬件驱动接口来进一步降低android系统和硬件的耦合;同时也是因为GPL协议规定所有代码必须开源,这对于一部分厂商是无法接受的,所以android打了这个擦边球。 3.系统运行库层,也成c库层,这样android可以使用很多成熟的项目,比如OpenGl,SQLite等 4.应用程序框架层,就是JAVA库层,一方面为上层应用提供了API接口,另一方面提供了一些系统服务局进程的实现,个人理解是通过封装系统运行库层和硬件抽象层使得开发者可以直接用过java调用。 5.应用程序分为系统移植和应用程序的开发
3.android系统文件(.img)
Image 描述 boot.img 包含内核的启动参数,内核等多个元素 ramdisk.img 一个小型的文件系统 system.img android系统的运行程序包(frameWork在这)和一些库,挂在载/system下 userdata.img 用户数据存储,被挂载在/data目录下 recovery.img 系统进入“恢复模式”所需要的包
3.1 boot.img,主要包括kernel和ramdisk
boot.img文件构成,必须页对齐 (1 page == 4K) boot header 1 page大小 存储内核启动的头部信息,前面8个字节是ANDROID! kernel n pages大小 内核 ramdisk n pages大小 文件系统 second stage 0 pages大小 可选的
3.2 ramdisk.img
通过解压可以发现system目录,data目录和init程序都在ramdisk.img中
3.3 system.img
解压出来包含的东西较多,个人想法 app目录 系统预装的app bin目录 系统命令 fonts目录 字体 framework目录 framework lib目录 第三方库,jar或者.so .o .a preinstall目录 预先安装
4.android升级
android系统升级或者擦出数据等等都会进入RecoveryMode模式,设备会运行一个名为Recovery的程序,并通过下面几个文件和主系统进行沟通/cache/recovery/command android系统给recovery的命令行文件
/cahce/recovery/log recovery程序的输出文件
/cache/recovery/intent recovery传递给android的intent
下面来讲解一下恢复出厂设置功能在Recovery中的处理流程
1. 在手机系统中选择了“恢复出厂设置”
2. android系统在/cache/recovery/command中写入了”–wipe_data”命令行
3. 设备重启后发现了command命令,所以进入recovery模式
4. recovery模式在BCB(bootloader control block)中写入“boot-recovery”和“–wipe_datazhey”这样即使设备重启也会进入erase流程
5. 通过erase_voluem来重新格式化/data
6. 通过erase_volume来从新格式化/cache
7. finish_revcovery擦出BCB是重启可以正常进入开机流程
5.makefile知识
目标:依赖 命令 makefile都是通过这个规程来扩展的
注意:
1.在一个makefile中有多个目标产物,比如make和make clean命令,第一个是默认的第一个目标,第二个是制定了目标
2.一个make程序有下面几个步骤
2.1变量赋值,环境监测等
2.2按照规程产生依赖树
2.3根据依赖树,从叶到根形成目标文件
相关文章推荐
- RHCE课程-RH033Linux基础笔记九-文件系统和TAR的打包压缩介绍
- Android系统介绍与移植
- Android 系统系统框架介绍
- android基础介绍
- Android系统详细介绍
- Android系统介绍
- Linux系统下C语言编程基础知识介绍
- Android面试之----Android系统架构图及简单的系统架构介绍
- android 3.0系统全介绍
- android 系统163邮箱设置详细介绍~
- Android系统架构图及简单的系统架构介绍
- 模组基础介绍与android RIL 介绍
- Android图形系统分析与移植--三、内核空间显示功能介绍
- Android 系统基础
- Android面试之----Android系统架构图及简单的系统架构介绍
- android系统开发(六)-HAL层开发基础
- Android菜单系统介绍
- 【Android基础】调用系统发Email和短信
- RHCE课程-RH033Linux基础笔记九-文件系统和TAR的打包压缩介绍 推荐
- 第一章 Android系统介绍