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 的源码了。