Android Studio 可以使用 OpenJDK 1.8 还是需要 Linux 上的 Oracle JDK?使用 OpenJDK 会更容易,因为它安装在 Fedora 上。
我在 Intel Haswell i7 芯片上运行 64 位 Fedora-23 linux 和 Android Studio 1.5.1.build AI-141.2456560。
$ java -version
openjdk version "1.8.0_72"
OpenJDK Runtime Environment (build 1.8.0_72-b15)
OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)
$ ./java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)
$ uname -a
Linux localhost.localdomain 4.3.5-300.fc23.x86_64 #1 SMP Mon Feb 1 03:18:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ more build.txt
AI-141.2456560
不,正如android文档所说,需要Oracle JDK。使用 openJDK 运行一个空项目的简单构建时,我在渲染时遇到“空指针异常”。这个错误可能来自 IDE,而不是 APK 文件的构建。
使用Oracle的JDK运行studio后,一切正常,代码没有改动
实际上它变得比这更复杂,因为我的系统上有两个版本。 Oracle JDK 用于启动 studio.sh 文件,但在 studio 中,我仍然在“项目结构> JDK”下指定了 OpenJDK,如下所示:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.72-4.b15.fc23.x86_64
如果这种混合情况失败,我会报告。
我在 Fedora 64 位(目前是 23 位)和 OpenJDK 上使用 Android Studio 1.0 版(目前是 2.0 beta)。它曾经显示一个警告,说“不支持OpenJDK,如果出现问题不要打开错误报告”,我不知道它是否仍然存在(我可能点击了“不显示”这又是”)。
还有一个关于 libinput 的警告,但我认为它与 OpenJDK 无关。
无论如何,在我的情况下,它工作得很好,据我所知,我不必使用特殊技巧。显然你的里程可能会有所不同。
在android文档中找到以下
OpenJDK 与 Android Studio 2.2 及更高版本捆绑在一起,这是我们推荐您在 Android 项目中使用的 JDK 版本。
向@Abilogos 喊话
文档:https://developer.android.com/studio/intro/studio-config#jdk
在 2023 年添加一个答案,以防你也在这里绊倒。 OpenJDK 现已打包并推荐与 Android Studio 一起使用。
https://developer.android.com/studio/intro/studio-config#jdk