🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
### Android开发之查看Android源码 ### #### **在线查看Android源码** * [Android OS](https://www.androidos.net.cn/) * [Android XRef](http://androidxref.com/) * http://www.grepcode.com/ >[warning] **下载官方源码麻烦,在线查看源码方便,但是在线查看源码没有工具方便,而且受限于网络状况。不过最大的好处就是可以查找所有版本的源码** #### **下载官方源码** - 下载Android源码,有3种方式 - 通过Android SDK Manager下载 - 下载的Android源码都是框架层的(framework层),一些底层的C或者C++语言的源码无法查看 - 通过repo下载 - [官方参考文档](https://source.android.com/source/downloading) - 官方参考文档针对Linux或者Mac系统,在Windows上基本不可行,很费劲,具体操作可参考官方文档 - 通过国内网友下载好的源码上传到的百度网盘 - Android的源码,可以到[官方](https://source.android.com/source/)下载,但是window平台下载很难实现,而且需要翻墙,很蛋疼;但是国内有牛人,已经随时更新官方的源码(截止写这篇文章,已经更新到了Android11beta版本已发布),而且上传到了百度网盘,好人一生平安,网盘地址在这里[Android源码](https://pan.baidu.com/s/1ngsZs#list/path=%2FAndroid%E6%BA%90%E7%A0%81),感觉这地址长期有效,因为,之前好像就是从这里下载的,现在还是一样,云盘地址无效的话,可以[这里](https://testerhome.com/topics/2229)找大神。**下载完成,解压就很蛋疼,必须用7Z提取(如果使用WinRAR或者其他解压工具,一定会出错,至于原因,我也不知道,所以这里强调一定要用7Z提取),解压很耗时,感觉比下载还费时。** - 查看Android源码 - 使用Android studio,目前只能查看通过Android SDK Manager下载的框架层的源码,而且某些框架层的源码可能还无法查阅。但是有大神的文章------>[Android Studio导入Android系统源码](http://gityuan.com/2016/06/13/android-studio-reading-source/),是否可行,未验证。 - 使用source sight,可以查阅我的另一篇文章----->[开发利器之source insight 查看Android源码](http://note.youdao.com/noteshare?id=63efcde7782950818f04e927a4470ab2&sub=41C8C2C8E5B84553AF42C4FC4541515E) - 使用eclipse查看 - 1、只查看框架层的话,可以通过下图操作![](https://i.imgur.com/mZLcGEi.png) - 2、重点 - 创建一个Java project,路径指向Android源码所在的目录,不过做这一步之前需要将源码根目录下development\ide\eclipse中的.classpath拷贝到根目录,如下图所示 - ![](https://i.imgur.com/0HYqrNI.png) - ![](https://i.imgur.com/sZUMvUL.png) - 搞定这一步,就可以创建Java工程了,由于Android源码较大,导入过程可能会耗时长一点,如下图所示 ![](https://i.imgur.com/bIHJn3H.png) - 导入Android源码,创建Java工程后,可以使用Ctrl+shift+R快捷键打开open Resource对话框,查找任意类型的文件,使用Ctrl+shift+T快捷键打开open Type查找类文件 >[warning] **注意**:由于Android5.0(API21)以及以后的版本中使用Android Runtime代替了Dalvik虚拟机,所以在一些方面差异很大,所以最好导入Android5.0 和Android 4.4W(API20)的源码来做对比,其他版本的源码,根据自己的需要,导入即可。 - 使用eclipse查看源码遇到的问题(只是为了方便查看源码) - 尽管目前主流开发工具是AS,但是查看源码还是用eclipse较好,另外长期不用eclipse,创建Android项目时,会出现各种各样的问题。 - 问题一----------》安装ADT插件 - 最好是离线安装ADT插件,由于国内墙的问题,最好下载好[ADT压缩包](https://pan.baidu.com/s/1o8TfwYu?utm_source=androiddevtools.cn&utm_medium=website),如果这里找不到,可以去[这里](http://www.androiddevtools.cn/)找,然后安装,具体可参考[这里](http://www.cnblogs.com/sinco-20161121/p/6095966.html)或者参考[这里](https://github.com/inferjay/AndroidDevTools/wiki/首页?utm_source=androiddevtools&utm_medium=website) - ![](https://i.imgur.com/mDQiUwJ.png) - 如果安装后没有Android SDK Manager及Android Virtual Device Manager两个图标,可以在window中添加然后显示,window-->perspective-->customize perspective--->action set availability中勾选Android SDK and AVD,然后再重启eclipse即可 - 问题二----------》创建Android项目,由于xml文件报错,导致R文件无法生成 - 这类问题,一般都是资源文件问题中找不到资源,才导致R文件无法生成,这时可以参考这里-------》[Eclipse导入android项目包xml报错未生成R文件 ](https://jingyan.baidu.com/article/c910274be7536acd361d2dca.html) - 问题三--------》ADT版本或者eclipse版本和SDK中的版本不一致,导致找不到某一个jar的问题 - 这类问题一般都是,版本更新造成的,兼容性问题,比如build-tools中的dex.jar包找不到,可以参考[这里](http://blog.csdn.net/qq_32224139/article/details/69525946),这里可以找一个不是最新版本的build-tools,将其下面的dex.jar复制到最新版本的lib目录下,重启eclipse,一般都可以解决。