Android Studio 关联 Android 源码比较方便,一般下载后可自动关联,但是 Android Studio 默认使用的 JDK 是内嵌的,是不带源码的。所以在查看 JDK 源码时,看到的是反编译 class 而成的代码,没有注释。那么应该如何关联 JDK 源码呢,下面我讲述的是 mac 中的方式,其他系统中类似。
方法一:使用自己下载的 JDK
打开 File -> OtherSettings -> Default Project Structure..
去掉 Use embedded JDK 的勾选,再选择下载的 JDK 的路径。点击确定后,在 ~/Preferences/AndroidStudio2.3/options/jdk.table.xml 可以看到:
<jdk version="2">
<name value="1.8" />
<type value="JavaSDK" />
<version value="java version "1.8.0_112-release"" />
<homePath value="XXX/Contents/Home" />
<roots>
<annotationsPath>
<root type="composite">
<root type="simple" url="jar://XXX/lib/jdkAnnotations.jar!/" />
</root>
</annotationsPath>
<classPath>
<root type="composite">
... // jdk jar 包路径
</root>
</classPath>
<javadocPath>
<root type="composite" />
</javadocPath>
<sourcePath>
<root type="composite"> // 下面两个源码路径
<root type="simple" url="jar://XXX/jre/jdk/Contents/Home/src.zip!/" />
<root type="simple" url="jar://XXX/jre/jdk/Contents/Home/javafx-src.zip!/" />
</root>
</sourcePath>
</roots>
<additional />
</jdk>
从上面 XML 文件中可以看到添加了 JDK 源码的路径。
方法二:拷贝源码文件到内嵌的 JDK 路径中
从第一方法可以推测出把src.zip
和javafx-src.zip
复制到$APPLICATION_HOME_DIR$/jre/jdk/Contents/Home/
目录下,再重新切换回内嵌的 JDK location 后,也可以直接查看 JDK 的源码了。