本文作为一个开篇,接下来会有一系列的文章通过对AOSP源码的分析,来对Android的内部实现进行解析。
适用读者
本系列文章适合参与Android系统开发或者对于Android内部实现感兴趣的人群。
本系列文章的讲解基于AOSP (Android Open Source Project)源码,
关于AOSP源码的获取和编译,请参阅官网网站:Android Open Source Project
为什么要这么做
虽然目前市面上已经有大量解析AOSP源码的书籍和博客,但我最终还是决定要写下去,因为:
- AOSP 的官方资料太少,更多人的人去研究和分析Android系统是有益的
- 目前已有的资料大部分是针对4.x前后的版本的,而本系列文章会以Android N(7.0)版本为基础
- 每个人看问题和分析问题的方式不一样,我希望用自己的方式做一个整理
- ”纸上得来终觉浅,绝知此事要躬行“,我希望通过自己对每个模块的分析,加深自己对于Android系统的理解
会包含什么
后续文章所包含的内容,请参阅目录部分。
请注意,随着时间的推移和笔者的学习经历,这些内容可能会发生变动。
如果有什么比较关键的内容,而我没有考虑到,也欢迎读者给出建议。
不会包含什么
本系列文章主要是为了说明Android的实现原理和运行机制,
由于以下内容笔者认为比较独立,与我想关注的内容关系不大(但不是说他们不重要)
或者这些话题太大,因此不适合在本系列文章中包含,它们包括(但不限于):
- Linux内核的开发知识
- 浏览器的相关知识(Webkit,Chromium)
- Android App开发知识
更新的方式
限于笔者的时间和能力有限,我无法保证该系列文章的更新速度。
另外,我也无法保证目录中的内容会按顺序进行更新,
我会挑选我最近比较感兴趣的或者近期工作内容相关的模块进行解析。
但我会尽量保证在有限的时间内,完善目录中的所有内容。
最后
作为一个操作系统而言,Android这个词本身包含的内容太多。
本系列文章只作为笔者学习Android系统的一些知识的总结和归纳,因此我无法保证整个知识体系的完整性。
因此,在学习Android系统的时候,建议读者参阅更多的资料(我自己也是一样)。
最后,由于本人的知识水平有限,文章中可能包含错误的地方,欢迎读者指出。