Android源码阅读准备
源码下载
参考官方doc,需要自备梯子
选定分支
我自己的是Nexus6,写这篇日志时,当前官网适配的最新版本是 7.1.1_r45,因此我的源码编译和阅读都是基于这个分支,手机上也是运行的这个版本。
工欲善其事,必先利其器
- Windows : Source Insight,跟踪代码的一大利器
- Linux : wine + Source Insight,各种问题,够折腾
- Linux : AndroidStudio,各种java索引跳转溜溜的,除了native代码
因此,我采用了AndroidStudio导入Android源码的方式来浏览源码
这样唯一一个问题就是native代码的阅读,需要自己手动全局查找:
1.查找某个类:Ctrl + Shift + F,然后输入类名称,比如查找native的Looper类,可以通过全局搜索” Looper {“,来定位到类定义位置。
2.查找某个方法: Ctrl + Shift + F,
- 方法名
- 方法名 + {
- 正则表达式:” “ + 方法名 + [(] (.*) [)] + [\n] + [{]
- 某个类中的某个方法,直接搜: “ “ + 方法名 + “(“
- 有些方法是类定义的C++方法,可以采用: “::” + 方法名, 的方式来搜索
3.查找某个文件: Ctrl + Shift + N(或者按两次), 输入文件名,如果有多个匹配,需要谨慎选择,通常情况下都是优先匹配到的第一个文件。
完
如此,我们就可以遨游在AndroidSource的海洋里了
参考链接
https://source.android.com/source/downloading
http://blog.csdn.net/yanbober/article/details/48846331
http://www.runoob.com/regexp/regexp-syntax.html