Android 源码分析(一) 开篇介绍

  Read the fucking source code !!!

  一.前言:

  从事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

  四.最后

  本来想说总结,但是想想还不是总结的时候,这只是一个开始。

  后续的随笔我会从自己工作中常用的几个类入手,慢慢逐步分析,由浅入深来探索android源码。由于功力有限,可能前期会介绍的比较浅显,但是这是一个迭代的过程,每篇文章最后都会经过多次修改,逐步完善。毕竟一口吃不掉一个胖子,坚持坚持坚持。

  最后推荐个博客:老罗Android之旅:https://blog.csdn.net/Luoshengyang/。

 

  

  

  

posted @ 2018-06-18 19:47  FreeFunCode  阅读(2496)  评论(0编辑  收藏  举报