1、了解android系统
主要包括发展历史,android的基本架构,内核,文件系统。
2、使用android系统
现在基本上有android手机的人天天都在用。
3、研究学习android系统
主要包括获取源代码、编译运行系统源码、编译的原理、系统启动流程。
4、定制修改开发android系统
主要包括进行系统定制,android底层开发。
二、android的发展史
2003年Android公司成立,系统开始开发
2005年Android公司被google公司收购
2007年11月5日,google公司成立手机开发联盟
2008年9月Android 1.0正式发布,HTC的G1手机使用
三、android系统整体框架
其中包括几个重要的组成部分,主要有如下:
1、Linux内核
android系统在标准linux内核的基础上加了android特有的一些驱动。
binder驱动,用于进程间通讯
还有电源管理,音频驱动,输入设备驱动等。
2.android核心库层
2.1 libc
BSD继承来的标准C系统函数库
2.2 SSL(Secure Sockets Layer 安全套接层)
SSL在传输层对网络连接进行加密, 有以下三个功能:
(1) 使用公钥证书对双端进行认证
(2) 通信加密
(3) 数据完整性检查
2.3 SGL
底层的2D图形引擎
2.4 Webkit
web浏览器引擎,支持Android浏览器和一个可嵌入的web视图
2.5 FreeType
位图(bitmap)和矢量(vector)字体显示
2.6 OpenGL ES
3D加速库,支持硬件加速及高度优化的软件加速
2.7 SQLite
强劲的轻型关系型数据库引擎
2.8 Media Framework
基于PacketVideo OpenCORE实现,支持多种常用的音频(MP3、AAC和AMR)、视频格式(MPEG4, H.264)的录制回放,支持静态图片文件(JPG, PNG)
2.9 Surface Managerd
对显示子系统的管理,为多个应用程序提供2D和3D图层的无缝融合dw
android运行时环境
包含Dalvik虚拟机和java核心库,提供java编程语言核心库大多数功能。
Dalvik,冰岛小渔村的名字,非常小,非常美丽
java虚拟机。
a.每一个android应用程序在独立的虚拟机中运行,每一个虚拟机一个进程。xxx.java
b.基于寄存器,一般jvm都是基于栈的,所以速度快。
c.执行.dex压缩文件,针对内存优化。
d.java类通过java编译器编译成.class,然后再由dx生成.dex文件。
e.依赖于linux内核的一些东西,线程和内存管理等。
3.应用程序框架层
主要是为了让应用程序开发更加方便,快捷,容易。不然一个系统如果应用程序开发难,那么相关应用程序自然就少,应用少的话玩的人自然就少。
3.1 Activity Manager
window + 用户交互代码,主要用于管理应用程序的生命周期。
3.2 window Manager
显示窗口管理
3.3 view system
基本界面组件
3.4 资源管理器
管理应用程序相关的字符串,图片,布局文件等资源
3.5 内容提供者
用来应用程序和应用程序之间共享数据的,比如电话应用和短信应用共享联系人信息。
3.6包管理器
管理应用程序包
3.7 电话管理器
电话相关业务
3.8 消息(Notification)Manager
在状态栏显示信息
3.9 定位管理器
获得当前地理位置
3.10 XMPP serice
即时消息服务
4.应用程序和小组件
电话,消息等等应用程序,都是java语言开发。
5. android源代码获取
https://android.googlesource.com/
6.android源代码目录
abi 应用程序二进制接口
bionic bionic c库
bootable 启动引导相关代码
dalvik dalvik java虚拟机
其中几个比较重要,跟移植密切相关的目录:
device 产品相关代码,按厂家分类
framework 应用程序框架代码
out 目标输出目录
build 编译系统规则
developers & development 开发工具,例子
hardware HAL层代码,硬件抽象层代码
packages 系统级应用程序代码
external 第三方库工具,webkit 等。
ndk 本地代码 linux应用层
system 系统核心服务代码,init初始化程序
文章来源于互联网:Android系统学习总结一
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.dandroid.cn/archives/19936,转载请注明出处。
评论0