在用Android Studio開發(fā)App的時候蜜葱,我們經常會看一些源碼內部的實現(xiàn)方法,點擊源碼之后可能看到的是以下情形:
我們發(fā)現(xiàn)點開的是
.class
文件俐巴,而不是.java
文件骨望,源碼全都是拋出Stub,左上角提示Sources for 'Android API 28 Platform' not found.
欣舵,也就是沒有找到Android28的API資源擎鸠。
解決步驟:
1、檢查對應版本SDK API Sources是否下載
打開Android Studio邻遏,點擊Tools->SDK Manager
,找到SDK管理器糠亩,
發(fā)現(xiàn)沒有下載源碼資源虐骑,將
Sources for Android 28
前面的方框打鉤准验,點擊右下角OK
按鈕赎线,開始下載資源。下載完后糊饱,點擊進入源碼垂寥,有可能還是
.class
文件,依然看不到源碼另锋,這時我們進行下一步操作滞项。
2、手動配置SDK信息
打開Mac的Finder(本文以Mac為例夭坪,Windows找到對應文件即可)文判,點擊菜單前往->前往文件夾
,輸入/Users/username(你的Mac用戶名)/Library/Preferences
室梅,進去后找到當前正在使用的Android Studio版本配置目錄戏仓,比如我的是Android Studio 3.2,
進入options
目錄亡鼠,找到jdk.table.xml
赏殃,打開后找到API 28的噢誒之位置,發(fā)現(xiàn)沒有配置路徑间涵,
手動添加路徑仁热,添加后如下所示
<jdk version="2">
<name value="Android API 28 Platform" />
<type value="Android SDK" />
<homePath value="$USER_HOME$/Library/Android/sdk" />
<roots>
<annotationsPath>
<root type="composite">
<root url="jar://$USER_HOME$/Library/Android/sdk/platforms/android-28/data/annotations.zip!/" type="simple" />
</root>
</annotationsPath>
<classPath>
<root type="composite">
<root url="jar://$USER_HOME$/Library/Android/sdk/platforms/android-28/android.jar!/" type="simple" />
<root url="file://$USER_HOME$/Library/Android/sdk/platforms/android-28/data/res" type="simple" />
</root>
</classPath>
<javadocPath>
<root type="composite">
<root url="file://$USER_HOME$/Library/Android/sdk/docs/reference" type="simple" />
</root>
</javadocPath>
<sourcePath>
<root type="composite" >
<root url="file://$USER_HOME$/Library/Android/sdk/sources/android-28" type="simple" />
<root/>
</sourcePath>
</roots>
<additional jdk="1.8" sdk="android-28" />
</jdk>
上下拉動jdk.table.xml
,會發(fā)現(xiàn)里邊有當前所有你已下載的SDK版本配置勾哩,如果想查看其他版本源碼抗蠢,在對應位置配置對應版本路徑即可,然后將項目的compileSdkVersion
改為對應版本即可思劳。
保存迅矛,重啟一下Android Studio,再次進入就可以看到源碼了敢艰。