尽管我实际上在使用Oracle JDK,为什么Android Studio会对OpenJDK发出警告?

时间:2016-09-04 18:06:11

标签: java ubuntu android-studio openjdk

Android Studio一直在推荐我使用Oracle JDK,尽管我已经在使用它了。我已经安装了Oracle JDK,配置了所有“替代”和环境变量以使其成为默认值,但警告仍然存在。这是为什么?我应该在其他地方配置吗?我知道我可以点击“不再显示”,但我想知道原因并确保我实际使用的是Oracle JDK,有没有办法在Android Studio中检查它?

Android Studio OpenJDK warning appearing even when using Oracle JDK

1 个答案:

答案 0 :(得分:1)

我自己找到了原因 - 它是Unity启动器面板的工作原理。

我已将Android Studio解压缩到/opt/google/android-studio并最初使用/opt/google/android-studio/bin/studio.sh运行它。之后,我右键单击它的图标出现在Unity面板上并选择“将其锁定到启动器”以使图标保留在那里。在我按下此图标启动Android Studio之后。

幕后做的是问题的原因。系统已在~/.local/share/applications/jetbrains-studio.desktop创建了一个快捷方式文件,其中包含以下内容:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Android Studio Setup Wizard
Icon=jetbrains-studio.png
Exec=/usr/lib/jvm/default-java/bin/java -Xbootclasspath/a:/opt/google/android-studio/bin/../lib/boot.jar -classpath /opt/google/android-studio/bin/../lib/bootstrap.jar:/opt/google/android-studio/bin/../lib/extensions.jar:/opt/google/android-studio/bin/../lib/util.jar:/opt/google/android-studio/bin/../lib/jdom.jar:/opt/google/android-studio/bin/../lib/log4j.jar:/opt/google/android-studio/bin/../lib/trove4j.jar:/opt/google/android-studio/bin/../lib/jna.jar:/usr/lib/jvm/default-java/lib/tools.jar -Xms256m -Xmx1280m -XX:MaxPermSize=350m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -da -Djna.nosys=true -Djna.boot.library.path= -Djna.debug_load=true -Djna.debug_load.jna=true -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -Dawt.useSystemAAFontSettings=lcd -Djb.vmOptionsFile=/opt/google/android-studio/bin/studio64.vmoptions -XX:ErrorFile=/home/administrator/java_error_in_STUDIO_%p.log -Djb.restart.code=88 -Didea.paths.selector=AndroidStudio2.1 -Didea.platform.prefix=AndroidStudio com.intellij.idea.Main
StartupNotify=false
StartupWMClass=jetbrains-studio
OnlyShowIn=Unity;
X-UnityGenerated=true

正如Exec=行所说它运行Studio JAR的时候认为它是“默认Java”(它似乎与我选择的update-alternatives --config java不一致)而不是手动安装Orecle JDK并不涉及studio.sh脚本(它会选择Oracle JDK)。

错误的JDK选择的原因可能是我在安装Oracle JDK之前创建了快捷方式。现在,因为我已经删除了OpenJDK和快捷方式文件并以相同的方式重新创建它,所以它代之以Exec=/usr/lib/jvm/java-8-oracle-amd64/bin/java...