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.zipjavafx-src.zip复制到$APPLICATION_HOME_DIR$/jre/jdk/Contents/Home/目录下,再重新切换回内嵌的 JDK location 后,也可以直接查看 JDK 的源码了。

Android Studio 关联 JDK Java 源码的更多相关文章

  1. 如何用Android Studio查看build.gradle源码

    上一篇博客里讲过 build.gradle 里的每一行代码基本都是在调用一个方法,既然是这样,我们就可以用 android studio(下面简称as) 去查看它源码的方法注释说明,这样就可以理解每个 ...

  2. Android studio导入第三方类库源码以及jar包

    新建一个Android项目,项目结构如下: 1.添加第三方类库源码 首先将第三方类库考入与app同级的目录下: 之后,在build.gradle(Moudule:app)下添加编译代码:在seting ...

  3. 图解Android Studio导入Eclipse项目源码

    方法/步骤   打开Android Studio,在主页面中选择"File"->"New"->"Import project...&quo ...

  4. Android 1.6 PackageParser.java 源码分析

    文件目录: android-1.6_r2\frameworks\base\core\java\android\content\pm\PackageParser.java # PackageParser ...

  5. Android Studio导入github项目源码步骤

    1.从github上将源码下载下来 2.打开AS,新建一个新项目(我选择了EmptyActivity) 3.先不要在AS 中打开源码,来整理源码 在源码的目录下面,将project下的build.gr ...

  6. Android Studio 关联源码问题

    Android Studio 点击某个类查看源码有时候会出现如下情况  这种情况并不是每个项目都会出现这种情况,那是因为项目的编译版本不同,有的关联了Sources中的源码,而有的没有. 下面说一下具 ...

  7. Android Studio -- 关联源码

    1,昨天刚把SDK升级到25,然后准备开始 新的一年码代码,结果发现查看源码的时候出现了一堆的“ throw new RuntimeException("Stub!");” 网上搜 ...

  8. Android Studio导入Android 4.4.4r1的源码

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70339471 一.环境配置 1.ubuntu 14.04.5 x64bit 2.j ...

  9. Android反编译(一)之反编译JAVA源码

    Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具  dex2jar   http://code.go ...

随机推荐

  1. 课程一(Neural Networks and Deep Learning),第三周(Shallow neural networks)—— 2、Practice Questions

    1.以下哪一项是正确的?(检查所有适用的) (A,D,F,G) A.  a[2] 表示第二层的激活函数值向量. B. X 是一个矩阵, 其中每一行都是一个训练示例. C. a[2] (12) 表示第二 ...

  2. 基于vue的web应用如何构建成手机端的原生安装包

    话不多说,点击前往

  3. CentOS 7.5 安装与配置 Percona Server 5.7

    个人比较喜欢 MYSQL 的轻量,今天花了一点时间把阿里云上的 MYSQL5.7 换成了 Percona-Server .Percona 是一个开源的 MySQL 衍生版,TokuDB 的数据库引擎使 ...

  4. React技术栈梳理

    一.react是什么? react是一个js框架,可以用它来编写html页面,使用react后我们可以完全抛弃html(只需要一个主index文件),而用纯js来编写页面: 二.为什么要使用react ...

  5. LVS+Heartbeat 高可用集群方案操作记录

    之前分别介绍了LVS基础知识和Heartbeat基础知识, 今天这里简单说下LVS+Heartbeat实现高可用web集群方案的操作说明. Heartbeat 项目是 Linux-HA 工程的一个组成 ...

  6. 技术笔记2 jetty jboss

    jetty热部署: jetty启动加载文件webdefault.xml .文件里: <init-param> <param-name>useFileMappedBuffer&l ...

  7. PHP强大的数组函数

    <?php/** * Created by PhpStorm. * User: 63448 * Date: 2018/5/6 * Time: 21:56 */echo "<h3& ...

  8. 常见移动设备的 CSS3 Media Query 整理(iPhone/iPad/Galaxy/HTC One etc.)

    @charset "utf-8"; /** * iPhone 4/4s landscape & portrait */ @media only screen and (mi ...

  9. [转载] npm 一些操作

    npm i module_name -S = > npm install module_name --save 写入到 dependencies 对象 npm i module_name -D ...

  10. Jquey节点操作

    创建添加节点: 创建jquery对象:$("<a href="http://baidu.com" target="_blank">百度请点 ...