Android系统源码是很好的学习系统架构设计,查找问题的最佳工具。 网上流传的talk is cheap, show me the code, 或者Show me the fucking code.说明了源码的重要性,而作为Android系统基础的系统源码则是最值得看的源码了,对我们学习谷歌开发大牛的架构设计,提高我们的开发水平也有很多帮助。
目前我经历过的几种查看源码的方式:
- Android开发过程中调用的Android SDK中framework jar提供的源码,这部分不包括@hide的内容和非framework的代码,但解决一般的问题可以尝试使用此方式。
- 在线源码的方法。通过百度搜索在线看源码,链接中会有包括http://androidxref.com/等网站提供的在线源码,可以选择对应的android版本进行搜索。其网站是这样的。
但是实际使用中,发现跟网络和电脑有影响,比如代码量很大的文件,搜索和加载会非常慢,还有加载失败卡住的情况。可以根据需要选用。
或者选择另一个在线网站,这个是目前常用的方式。http://androidos.net.cn/sourcecode
3.直接下载AOSP源码,编译获取android.ipr
正规的下载网站https://source.android.google.cn/source/downloading
谷歌中国的地址。
但是一般我们国内下载使用清华的镜像。https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
内有详细的说明这里不再全部贴出。
优点是代码全,谷歌最新的各分支各commit的都有。
缺点就是代码量太大,未编译的就要30G,编译过后需要160多G, 一般的电脑需要多核编译一夜或者一天一夜。
然后还没完,编译完后,还需要最终转换为Android.ipr 文件,然后由android studio打开查看。此方法详细的步骤不是此篇文章的目的,有需要的朋友可以网上搜索,一艘一大把,不想搜的,我搜了一个https://www.jianshu.com/p/2ba5d6bd461e可以参考步骤尝试。
我在公司目前使用的是此种方式,ubuntu系统环境,使用android studio打开,方便,但是还是比较卡的,使用as打开要加载很久,对内存和cpu是个考验。
4.第四种方法是我最近学来的,家里的电脑window的,快速查看源码。
秘诀就在这个地址,https://github.com/aosp-mirror/platform_frameworks_base
下载下来之后通过SourceInsight 装载工程,new project->add tree, 详细的步骤可以参考https://www.jianshu.com/p/3e0100328a36
另外再写这篇文章搜索也看到如下链接中的,用sourceinsight打开android sdk,有兴趣的可以学习下。
相信以上几种查看Android系统源码的方法,可以让你的进阶之路更加轻松。喜欢的可以收藏下。