从事Android开发工做也有好几年,说来惭愧,居然没有好好去研究下android的源码,有种暴殄天物的感受。一方面从本身技术提高角度,另外一方面也是想给本身一个目标,生活也不至于太茫然。准备花段时间好好研究下android的源码,写博客也算是给本身一个完成目标,不至于半途而废。同时,因为本人技术和语言组织能力有限,对于有些技术点多多少少都有点借鉴源自网络,若是未申明转载地址,多是因为原文出处没法探究,还请原做者谅解。介绍多多少少都有不足之处,可能浅显,可能有误,可能没有描述清楚,还请谅解,能够给我留言,方便完善,不要给其余查看到的同窗产生误解就行了。android
我也是fork别人的网盘,忘记了那篇文章地址了,抱歉!感谢!网络
连接: https://pan.baidu.com/s/15PNt1W4jjxZXM9o-qCC94A 密码: p3td架构
根目录 | 描述 |
abi | abi相关代码,应用程序二进制接口 |
bionic | bionic C库 |
bootable | 启动引导相关代码 |
build | 存放系统编译规则及generic等基础开发配置包 |
cts | Android兼容性测试套件标准 |
dalvik | dalvik Java虚拟机 |
development | 应用程序开发相关代码 |
device | 设备相关代码 |
docs | 介绍开源的相关文档 |
external | Android使用的一些开源的模组 |
frameworks | 核心框架——Java及C++语言,是Android应用程序的框架 |
gdk | 即时通讯模块 |
hardware | 主要是硬件适配层HAL代码 |
kernel | Linux的内核文件 |
libcore | 核心库相关 |
libnativehelper | 是Support functions for Android's class libraries的别名,表示动态库,是实现JNI库的基础 |
ndk | ndk相关代码。Android NDK(Android Native Development Kit)是一系列的开发工具,容许程序开发人员在Android应用程序中嵌入C/C++语言编写的非托管代码 |
out | 编译完成后的代码输出在此目录 |
packages | 应用程序包 |
pdk | Plug Development Kit的缩写,是本地开发套件 |
prebuilts | x86和ARM架构下预编译的一些资源 |
sdk | SDK及模拟器 |
system | 文件系统和应用及组件,是用C语言实现的 |
tools | 工具文件夹 |
vendor | 厂商定制代码 |
Makefile | 全局的Makefile |
对于源码文件夹目录详细对应的描述能够参考这边博文:https://blog.csdn.net/norry870420/article/details/54288369框架
原本想说总结,可是想一想还不是总结的时候,这只是一个开始。ionic
后续的随笔我会从本身工做中经常使用的几个类入手,慢慢逐步分析,由浅入深来探索android源码。因为功力有限,可能前期会介绍的比较浅显,可是这是一个迭代的过程,每篇文章最后都会通过屡次修改,逐步完善。毕竟一口吃不掉一个胖子,坚持坚持坚持。工具
最后推荐个博客:老罗Android之旅:https://blog.csdn.net/Luoshengyang/。开发工具