准备知识
AOSP即Android Open Source Project,也就是Android系统源码的相关内容。这块代码巨多,而且牵扯比较广,需要各种各样的相关知识。不过AOSP的内容模块相对清晰,仔细啃还是可以的。
AOSP的相关参考资料也是很多的,我现在一般是跟着老罗的Android系统源码情景分析的书和博客搞事情,他的讲解都有源码和例子,废话比较少,比较易懂。同时他的内容比较多的涉及framework方面的东西,底层比如bionic,ART和dalvik虚拟机的部分相对就讲的少一点,所以我又搞了刘超的《深入解析Android5.0系统》这本书,两边现在都在慢慢啃。Anyway,资料这玩意只是辅助,提供思路,最后还是自己啃代码靠谱。
除了源码部分的内容,Android系统是基于Linux系统建立的,一定程度上讲Android其实算是运行在Linux操作系统上的软件,所以Linux的相关内容也是需要了解的。这部分资料就更多了,随意就行。
获取源码
编译环境
Android源码目前只能在Linux上编译使用,所以要看源码请移步Linux系统。我用的是Ubuntu,算是主流了吧。然后获取和运行源码需要以下工具:
- Git工具:其实也不一定,一些镜像支持直接下载
- Java SDK: 不然拿头跑
- 可能还需要一些工具包,可以用以下命令获取: