如何为Android Studio设置JDK?


42

我无法为Android 2.1 编译默认的新项目,因为(?)Android Studio使用的JDK是JDK 1.7,但它应该是JDK 1.6。

要更改它,我转到文件 -> 项目结构,然后尝试找到JDK 1.6位置。

但是,当我选择其目录并按时OK,出现以下错误:

请选择一个有效的JDK目录

请选择一个有效的JDK目录

如您在屏幕快照中所见,我正在尝试将Java 6 OpenJDK 64位设置为新的JDK。

我能做什么?Android Studio是否不兼容OpenJDK,我应该改用Oracle JDK吗?


您尝试过该bin文件夹了吗?
Louis Matthijssen 2014年

我试着用:./bin| ./jre| ./jre/bin所有同样的信息
卢西奥

1
对我来说,我只需要/jre在目录结构中使用上面的文件夹,所以我的路径是/usr/lib/jvm/java-8-oracleand not /usr/lib/jvm/java-8-oracle/jre。我认为该路径应该/jre以默认路径(“嵌入式” JDK)作为结尾,但是事实证明,如果您查看默认文件夹,则该文件夹名为“ jre”,其中包含另一个名为“ jre”的文件夹
杰克M

Answers:


24

我正在将OpenJDK 7与Android Studio一起使用,并且效果很好。(目前我什至没有安装Oracle JDK。)

在您显示的屏幕上(项目结构-> SKD位置),我具有JDK位置的以下路径:/usr/lib/jvm/java-1.7.0-openjdk-amd64


8

通过检查studio.sh,你还可以设置一个STUDIO_JDKJDK_HOMEJAVA_HOME环境变量指向JDK的位置。


studio.sh检查STUDIO_JDKJDK_HOME以及JAVA_HOME环境变量依次是:

if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
  JDK="$STUDIO_JDK"
elif [ -n "$JDK_HOME" -a -x "$JDK_HOME/bin/java" ]; then
  JDK="$JDK_HOME"
elif [ -n "$JAVA_HOME" -a -x "$JAVA_HOME/bin/java" ]; then
  JDK="$JAVA_HOME"

因此,您可以将它们设置为适当的值,然后Studio会进行选择。


这也适用于Windows。如果您在JAVA_HOME中使用默认值DCEVM的JDK(不适用于android studio),则很有用。
Mateus Viccari'8

5

似乎Android Studio无法识别OpenJDK,因此我需要安装OracleJDK

然后,我选择Oracle JDK的路径,它起作用了!


我安装了它,但即时通讯无法设置其路径变量。你能告诉我我该怎么做吗?
Nitesh Verma,2015年

1
是的,首先请确保java -version正确输出Java版本。然后,在AS窗口中选择/usr/lib/jvm/jdk1.8.0/。那一刻对我来说已经足够了:-)
卢西奥(Lucio)2015年

3

这为我工作:

  1. 找出java目录:

    $ echo $JAVA_HOME
    /usr/lib/jvm/java-7-oracle
  2. 打开Android Studio,然后打开文件->项目结构。

  3. SDK位置下,我从上方经过了java目录
  4. 等待几秒钟,我得到“ 0错误0 advertencias”

有效!:)


2

我遵循的步骤:

  1. 打开终端并输入 echo $JAVA_HOME

  2. 复制了终端中显示的路径- Ctrl+ Shift+ C在Ubuntu终端中复制

  3. 在Android Studio中-项目结构-粘贴复制的路径

  4. 等待软件识别并更新设置

  5. 这解决了无效的Jdk设置问题


1

如果您有一个./bin包含JDK和Android Studio 的文件夹,则可以在终端中STUDIO_JDK运行之前设置变量studio.sh

STUDIO_JDK=./bin/jdk/ ./bin/android-studio/bin/studio.sh

0

我解决了这个问题。我使用AS 2.1和JDK1.7,但它需要我更新JDK1.8的某些功能。我下载了Java设置文件。也许我只安装了jre,但没有安装jdk。因此AS总是警告我“请选择一个有效的JDK目录”。因此,我想问问问问者的问题是否与我相同,即应该安装JDK而不安装jre。


0

我认为您可能已将jdk安装在其他位置,例如/usr/local/java。就我而言,在您的屏幕快照中显示的目录中,我也看到了相同的文件夹名称。

因此,只需检查jdk是否在其他地方。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.