@Deprecated
Android O SDK最新版源碼已發(fā)布,請(qǐng)通過(guò)SDK manager更新
眾所周知,Android O(API 26) SDK已經(jīng)發(fā)布撒妈,但是根據(jù)情況拗盒,也會(huì)打包發(fā)布sdk source,完整的源代碼 https://android.googlesource.com
不知道大家有沒(méi)有發(fā)現(xiàn)把項(xiàng)目編譯升級(jí)到8.0后不能跳轉(zhuǎn)查看sdk源碼了毙替,比如android.view.View
我們開發(fā)時(shí)一般只需要關(guān)聯(lián)android包下面的源碼,可以通過(guò)Android Studio直接跳轉(zhuǎn)查看践樱,只需要在sdk manager 中勾選Sources for Android xx
下載即可厂画。
但是截至2017-09-22 Android 8.0下面沒(méi)有Sources for Android 26
的選項(xiàng),無(wú)法下載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ù)制瞭稼,如果沒(méi)有可以去clone一份復(fù)制忽洛,但是這個(gè)庫(kù)也是很大的,需要耐心下載环肘。
不知道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
出來(lái)了,同時(shí)sdk中的類也可以正常跳轉(zhuǎn)了牙咏!