我使用Android studio 2.2,并使用嵌入式JDK作为我的项目的JDK,这是设置显示的推荐方式。
我的项目在主机上运行了一个java模块。当我处理这个java模块时,弹出菜单显示Fetching documentation...
,并且每次我想查找一些Java API的文档时都需要花一点时间来显示文档。
我的主机/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home
所以我尝试从
更改文件~/Library/Preferences/AndroidStudio2.2/options/jdk.table.xml
的几行
<javadocPath>
<root type="composite">
<root type="simple" url="http://docs.oracle.com/javase/8/docs/api" />
</root>
</javadocPath>
到
<javadocPath>
<root type="composite">
<root type="simple" url="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/src.zip!/" />
<root type="simple" url="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/javafx-src.zip!/" />
</root>
</javadocPath>
但是在我重新启动Android studio之后,我的更改没有生效。当我查看文档时,它会非常缓慢,并且jdk.table.xml
的内容已经恢复,javadocPath
网址路径仍然指向http://docs.oracle.com/javase/8/docs/api
。
如何在嵌入式JDK的Android studio中使用本地JDK文档?
答案 0 :(得分:1)
我在这里遇到了类似的问题。您的尝试激发了我尝试其他方法:将本地JDK安装中的src.zip
文件链接到Android Studio的jre
目录。我们假设您的Android Studio位于$ANDROID_STUDIO_HOME_DIR
:
# assuming you're on something *nix-y
$ ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/src.zip $ANDROID_STUDIO_HOME_DIR/jre/src.zip
重启后似乎有效[*]。适当的看似值会自动添加到jdk.table.xml
文件中,并且所有内容都会在进一步重新启动后幸存下来。当然,将文件复制到位可能会有相同的效果,但我想我会发现软链接对这个黑客有用的提醒......
[*]:我想如果你使用JavaFX,你也需要为javafx-src.zip
做同样的事情。
稍后:此次更改在下次Android Studio更新后无法生效。更新过程(2.2到2.3)引发了一个关于我所添加的src.jar
文件的补丁冲突的对话框。在解除该对话框后,更新运行完成。然后工作室似乎工作正常,除了再一次我的java模块的快速文档丢失。我重新添加了src.jar
的链接,让它再次运行。
为了完整起见,我还发现了一种使用API文档副本而不是本地JDK src.zip
的方法。如果API文档已链接/复制到$ANDROID_STUDIO_HOME_DIR/jre/docs/api
,则会将其选中。
所以,要使用上面提到的Documentation for Android SDK
:
$ mkdir $ANDROID_STUDIO_HOME_DIR/jre/docs
$ ln -s ~/android-sdks/docs/reference $ANDROID_STUDIO_HOME_DIR/jre/docs/api
或者,如果您在jdk-xxx-docs-all.zip
解压缩了Oracle $JDK_DOCS
的副本:
$ mkdir $ANDROID_STUDIO_HOME_DIR/jre/docs
$ ln -s $JDK_DOCS/api $ANDROID_STUDIO_HOME_DIR/jre/docs/api