读Android 5.X源码系列之 - 如何阅读Android源码
转自陈启超的博客 http://chenqichao.me/2015/05/16/116-Android-50-001/
其实很(che)早(du)之(zi)前就想深入看看Android底层源码,而不是一直停留在熟悉框架层的阶段上,只不过由于各种原因没有做到, 当然如果非常熟悉Framework层的api和性能优化相关的内容也能写出非常棒的应用。作为一名Dev,虽然目标不是能定制Rom的,但有时间还是可 以看看一些底层的内容,感受感受各种代码冲击,还有就是为了工作而准备,为什么不试试?还有,那谁,国产COS你的节操掉了一地…
原归正题,本篇就来说一说怎么阅读Android的源码。其实在知乎上已经有一个很攒劲的问答了 《大牛们是怎么阅读 Android 系统源码的?》 这里补充一些我知道的内容:
1.如何翻墙
只要涉及Google的开发就一定需要了解如何翻墙,这里有一个我之前转发的文章感兴趣的可以看看:《G_F_W翻墙小结》
2.下载源码
在天朝下载Android和编译源码从来都是一件令人蛋碎的事情,Android 5.0的源码6GB左右,没有好的梯子,我想你在出征前已经选择自杀放弃挑战了。由于学校网络限制等原因,其实我也没有下载编译成功…但是照样不太影响前 进的脚步(且听下面分析)。下载源码最官方的教程一定是Google的,地址在这:Downloading and Building, 当然只看这个是不够的,你还需要了解源码的来龙去脉比如版本号历史、什么是Repo/Git以及各种命令、内核Kernel代码和Android源码的关 系(其实没有关系)等等,详细的下载源码步骤网上一搜一大把,但是要想下载成功,一定需要坚持不懈的你,说到这里你是不是又想放弃了…看看下面第三条
3.在线阅读源码
既然不想折腾下载编译痛苦的过程,那我直接看源码不也是一样(底层工程师求别喷…),下面列举几个在线可以直接查看源码的网站,这样只要你有网络,就可以学习Android源码
-
https://android.googlesource.com 最权威的在线代码,没有之一,但是需要翻墙
-
AndroidXef 一个包含最新内核源码和Android源码的网站,当然也支持各种搜索
-
GrepCode.com 一个专注于几个著名Java项目的在线源码网站,当然也包括Android框架层。
在线查看源码的确定就是你的网速需要还可以,另外不支持代码内跳转、不支持修改重新编译…但是在浏览器中cmd+f(ctrl+f)同样给力。
以上的一点小结希望对你学习Android源码有点帮助,如果你有好的资源也可以在评论下方给出!
另外附上几个有用连接: