在用Android Studio開發(fā)App的時候,我們經(jīng)常會看一些源碼內(nèi)部的實現(xiàn)方法,點擊源碼之后可能看到的是以下情形:

image.png
我們發(fā)現(xiàn)點開的是
.class文件,而不是.java文件,源碼全都是拋出Stub,左上角提示Sources for 'Android API 28 Platform' not found.,也就是沒有找到Android28的API資源。
解決步驟:
1、檢查對應(yīng)版本SDK API Sources是否下載
打開Android Studio,點擊Tools->SDK Manager,找到SDK管理器,

image.png
發(fā)現(xiàn)沒有下載源碼資源,將
Sources for Android 28前面的方框打鉤,點擊右下角OK按鈕,開始下載資源。
image.png
下載完后,點擊進入源碼,有可能還是
.class文件,依然看不到源碼,這時我們進行下一步操作。
2、手動配置SDK信息
打開Mac的Finder(本文以Mac為例,Windows找到對應(yīng)文件即可),點擊菜單前往->前往文件夾,輸入/Users/username(你的Mac用戶名)/Library/Preferences,進去后找到當(dāng)前正在使用的Android Studio版本配置目錄,比如我的是Android Studio 3.2,

image.png
進入options目錄,找到jdk.table.xml,打開后找到API 28的噢誒之位置,發(fā)現(xiàn)沒有配置路徑,

image.png
手動添加路徑,添加后如下所示
<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)里邊有當(dāng)前所有你已下載的SDK版本配置,如果想查看其他版本源碼,在對應(yīng)位置配置對應(yīng)版本路徑即可,然后將項目的compileSdkVersion改為對應(yīng)版本即可。
保存,重啟一下Android Studio,再次進入就可以看到源碼了。