@Deprecated
Android O SDK最新版源码已发布,请通过SDK manager更新
众所周知,Android O(API 26) SDK已经发布,但是根据情况,也会打包发布sdk source,完整的源代码 https://android.googlesource.com
不知道大家有没有发现把项目编译升级到8.0后不能跳转查看sdk源码了,比如android.view.View
我们开发时一般只需要关联android包下面的源码,可以通过Android Studio直接跳转查看,只需要在sdk manager 中勾选Sources for Android xx 下载即可。
但是截至2017-09-22 Android 8.0下面没有Sources for Android 26的选项,无法下载sdk源码!
已下载的sdk源码在 sdk/sources目录可以找到
发现android-25/android 下面就是对应的
https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r12/core/java/android/ 中的文件,所有我们可以试试复制 platform/frameworks/base/core/java/android 中的代码到android-26目录。
如果有完整android source的可以直接复制,如果没有可以去clone一份复制,但是这个库也是很大的,需要耐心下载。
不知道git能不能在初次使用时只clone部分文件夹
这里介绍一个简单的方法只下载core/java/android 中的文件!
https://android.googlesource.com/platform/frameworks/base 对应https://github.com/aosp-mirror/platform_frameworks_base/
整个repo很大,但是我们只需要下载部分,这里要用到github 的svn功能,github 上每个repo都可以用svn checkout ! 而svn可以单独下载部分文件夹的,
svn ls https://github.com/aosp-mirror/platform_frameworks_base
svn ls https://github.com/aosp-mirror/platform_frameworks_base/branches
找到路径,直接下载
svn export https://github.com/aosp-mirror/platform_frameworks_base/branches/oreo-release/core/java/android
最后在sdk/sources目录新建android-26,并将下载的android目录移动到android-26目录
复制android-25/package.xml 和android-25/source.properties 复制到android-26 目录
修改上一步复制的两个文件,将所有25改成26
最后改完效果是这样的,注意source.properties中AndroidVersion.ApiLevel也要改成26
完成,重启一下Android Studio,看到Sources for Android 26出来了,同时sdk中的类也可以正常跳转了!