Android Studio查看源码

在用Android Studio开发App的时候,我们经常会看一些源码内部的实现方法,点击源码之后可能看到的是以下情形:

image.png

我们发现点开的是.class文件,而不是.java文件,源码全都是抛出Stub,左上角提示Sources for 'Android API 28 Platform' not found.,也就是没有找到Android28的API资源。

解决步骤:
1、检查对应版本SDK API Sources是否下载

打开Android Studio,点击Tools->SDK Manager,找到SDK管理器,

image.png

发现没有下载源码资源,将Sources for Android 28前面的方框打钩,点击右下角OK按钮,开始下载资源。
image.png

下载完后,点击进入源码,有可能还是.class文件,依然看不到源码,这时我们进行下一步操作。

2、手动配置SDK信息

打开Mac的Finder(本文以Mac为例,Windows找到对应文件即可),点击菜单前往->前往文件夹,输入/Users/username(你的Mac用户名)/Library/Preferences,进去后找到当前正在使用的Android Studio版本配置目录,比如我的是Android Studio 3.2,

image.png

进入options目录,找到jdk.table.xml,打开后找到API 28的噢诶之位置,发现没有配置路径,

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,会发现里边有当前所有你已下载的SDK版本配置,如果想查看其他版本源码,在对应位置配置对应版本路径即可,然后将项目的compileSdkVersion改为对应版本即可。
保存,重启一下Android Studio,再次进入就可以看到源码了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容