@Deprecated
Android O SDK最新版源碼已發(fā)布,請(qǐng)通過SDK manager更新
眾所周知,Android O(API 26) SDK已經(jīng)發(fā)布,但是根據(jù)情況,也會(huì)打包發(fā)布sdk source,完整的源代碼 https://android.googlesource.com
不知道大家有沒有發(fā)現(xiàn)把項(xiàng)目編譯升級(jí)到8.0后不能跳轉(zhuǎn)查看sdk源碼了,比如android.view.View
我們開發(fā)時(shí)一般只需要關(guān)聯(lián)android包下面的源碼,可以通過Android Studio直接跳轉(zhuǎn)查看,只需要在sdk manager 中勾選Sources for Android xx 下載即可。

但是截至2017-09-22 Android 8.0下面沒有Sources for Android 26的選項(xiàng),無法下載sdk源碼!
已下載的sdk源碼在 sdk/sources目錄可以找到

發(fā)現(xiàn)android-25/android 下面就是對(duì)應(yīng)的
https://android.googlesource.com/platform/frameworks/base/+/android-8.0.0_r12/core/java/android/ 中的文件,所有我們可以試試復(fù)制 platform/frameworks/base/core/java/android 中的代碼到android-26目錄。
如果有完整android source的可以直接復(fù)制,如果沒有可以去clone一份復(fù)制,但是這個(gè)庫也是很大的,需要耐心下載。
不知道git能不能在初次使用時(shí)只clone部分文件夾
這里介紹一個(gè)簡(jiǎn)單的方法只下載core/java/android 中的文件!
https://android.googlesource.com/platform/frameworks/base 對(duì)應(yīng)https://github.com/aosp-mirror/platform_frameworks_base/
整個(gè)repo很大,但是我們只需要下載部分,這里要用到github 的svn功能,github 上每個(gè)repo都可以用svn checkout ! 而svn可以單獨(dú)下載部分文件夾的,
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目錄移動(dòng)到android-26目錄 - 復(fù)制
android-25/package.xml和android-25/source.properties復(fù)制到android-26目錄 - 修改上一步復(fù)制的兩個(gè)文件,將所有25改成26
最后改完效果是這樣的,注意source.properties中AndroidVersion.ApiLevel也要改成26

完成,重啟一下Android Studio,看到Sources for Android 26出來了,同時(shí)sdk中的類也可以正常跳轉(zhuǎn)了!
