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. C# 添加修改防火墙端口及程序

    文章转自:http://sdfiyon.iteye.com/blog/1197511 一.添加 COM 引用 在引用里,选择 COM 页, 找到 NetFwTypeLib , 确定即可 二.添加允许通 ...

  2. (转)关于python3中staticmethod(静态方法)classmethod(类方法)实例方法的联系和区别

    原文:http://dmcoders.com/2017/08/30/pythonclass/ https://zhuanlan.zhihu.com/p/28010894------正确理解Python ...

  3. Bash控制结构

    1. if-else语句 #!/bin/bash #if ... fi 语句: if [ $a != $b ] then echo "a != b" fi #if ... else ...

  4. qtcreator_process_stub中文输出乱码

    使用qt运行程序输出中文,全都变成了□,让人很头疼,百度了很久,找了一些解决方案都是: 用vim打开x11-common,在控制台输入 vim /etc/X11/Xresources/x11-comm ...

  5. StreamSets学习系列之StreamSets是什么?

    不多说,直接上干货! StreamSets是一个侧重数据集成.数据加工流程构建的平台,也是一个开源的产品.通过StreamSets,用户可以方便的接入不同的数据源,并且完成数据加工流程的构建.Stea ...

  6. 前端通信:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码(改迭代已作废,移步迭代10)

    该迭代已作废,最新的请移步这里:https://www.cnblogs.com/GerryOfZhong/p/10726306.html 距离上一篇博客书写,又过去了大概几个月了,这段时间暂时离开了这 ...

  7. Mac OS X 下搭建thrift环境

    1.概述 thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生产引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, ...

  8. mysql 删除单表内多个字段重复的数据

    mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...

  9. php获取 POST请求的数据

    普通键值对的数据: $_POST[‘username’]; // 获取 username的信息: $_REQUEST; //则会获取 整个请求中的键值对,返回结果为数组: 如果是,流数据,则需要使用: ...

  10. SpringBoot入门 (十三) WebSocket使用

    本文记录在SpringBoot中使用WebSocket. 一 什么是WebSocket WebSocket是基于TCP协议的一种网络协议,它实现了浏览器与服务器全双工通信,支持客户端和服务端之间相互发 ...