我最近在 Ubuntu 14.04 上安装了 Android Studio v1.0.1,并注意到它警告不要使用 OpenJDK,因为“间歇性性能和 UI 问题”。按照建议,我安装了 Oracle JRE 和 JDK,并更新了路径和环境。当我从命令行启动 Android Studio 时,android-studio/bin/studio.sh
警告消失了,一切看起来都很好。
在 Android Studio 中,有一个创建桌面条目的选项(工具 > 创建桌面条目...)。当我这样做并启动桌面条目时,我再次看到有关使用 OpenJDK 的警告。有谁知道使用此桌面条目时与我自己在命令行上运行脚本相比可能会有什么不同?
我在 Stack Overflow 上发现了类似的问题这里,但遗憾的是,尽管这篇文章是一年前发布的,却没有答案。我尝试阅读其他问题,例如这个和这个,但它们似乎都旨在修复通过命令行上的脚本运行应用程序时出现的问题。这些解决方案都没有解决我的桌面条目问题。
物有所值:
$ echo $JAVA_HOME
/usr/lib/jvm/jdk-7-oracle-x64
$ echo $STUDIO_JDK
/usr/lib/jvm/jdk-7-oracle-x64
$ which java
/usr/bin/java
$ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Nov 26 10:59 /usr/bin/java -> /etc/alternatives/java
$ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 38 Dec 22 08:49 /etc/alternatives/java -> /usr/lib/jvm/jdk-7-oracle-x64/bin/java
答案1
如果您的 Ubuntu 机器上安装了多个 Java 版本,请运行以下命令选择您想要的默认版本:
$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode
* 3 /usr/lib/jvm/java-7-oracle/jre/bin/java 1063 manual mode
$ sudo update-alternatives --config javac
There are 3 choices for the alternative javac (providing /usr/bin/javac).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-7-oracle/bin/javac 1063 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/bin/javac 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1051 manual mode
* 3 /usr/lib/jvm/java-7-oracle/bin/javac 1063 manual mode
要摆脱通知,您必须选择 Oracle Java 而不是 OpenJDK。Oracle Java 7 安装教程