Android Studio - 无法确定Java版本

时间:2015-09-26 11:40:45

标签: java android android-studio

我使用终端安装了Android Studio的新副本,但是当我创建一个新项目时,它会给出错误 “无法确定Java版本”。 JDK和SDK都已安装。 Android Studio已更新至最新版本。 我正在使用Ubuntu 14.04 LTS

11 个答案:

答案 0 :(得分:27)

更改此:

targetCompatibility 'JavaVersion.VERSION_1_8'
sourceCompatibility 'JavaVersion.VERSION_1_8'

对此:

targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8

答案 1 :(得分:4)

我遇到了同样的问题,但在Windows 7操作系统上。这是因为在同一位置C:\Program Files\Java Java 5,7,8和9中存在多个版本的java。尽管环境变量JAVA_HOME和PATH设置为Java 8,但Android studio指的是Java 9。 / p>

我的解决方案,在菜单中点击此处File > Project Structure,将JDK指向适当的位置C:\Program Files\Java\jdk

答案 2 :(得分:3)

一个潜在的问题是旧版本的Gradle无法从OpenJDK生成的java -version输出中解析Java版本。较新的版本可以(我认为它是围绕Gradle 2.2更新的;最新版本,2.9版本)。

答案 3 :(得分:3)

将gradle / wrapper / gradle-wrapper.properties中的distributionUrl更改为新版本的gradle

答案 4 :(得分:2)

我在ubuntu 16中遇到了同样的问题。这是因为在同一个位置7,8和9中存在多个版本的java。尽管环境变量JAVA_HOME和PATH设置为Java 8,但Android studio指的是Java 9。

我的解决方案,在菜单中,单击文件>项目结构在这里,选择8版本

答案 5 :(得分:1)

您是否设置了JAVA_HOME环境?在终端中运行echo $JAVA_HOME,看看你是否获得了Java二进制文件的有效路径。

如果没有,请设置JAVA_HOME:

nano .bashrc

添加以下行:

export JAVA_HOME=<path to jdk>
export PATH=$JAVA_HOME/bin:$PATH

保存文件,然后重新加载.bashrc

source ~/.bashrc

答案 6 :(得分:0)

我只是将默认的Java JDK从Oracle JDK更改为OpenJDK。像魅力一样。

答案 7 :(得分:0)

类似于Keds的回答。在Android Studio中,在“项目”标签/文件资源管理器中,转到 Gradle脚本-> gradle.properties

您将看到类似这样的内容:

#Sat Sep 21 13:08:26 CEST 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-2.4-all.zip

distributionURL很旧,我根据其他答案认为,无法正确解析Java版本。

因此,请访问此网站以选择较新的版本: http://services.gradle.org/distributions/

我选择了

distributionUrl=http\://services.gradle.org/distributions/gradle-4.8.1-all.zip

只是因为。有较新的版本,例如4.10.2,但我并不是真正使用gradle,这只是项目所必需的。

尽管它并没有真正影响我运行项目,但我的项目并未指向新的JDK。它被推荐为自动指向Android Studio的jre文件。

如果要更改此设置,请获取最新的Java JDK的文件路径位置。通常在

C:\Program Files\Java\your_jdk_file

对于Windows。 在Android Studio中,转到文件->项目结构-> SDK位置。

取消选中“嵌入式JDK(推荐)”,然后将文件路径粘贴到整个文件的最新JDK文件路径。

例如

C:\Program Files\Java\jdk-10.0.2 

不仅仅是bin文件。祝你好运!

答案 8 :(得分:0)

这对我没有任何帮助,以防万一它可以帮助别人: 右键单击项目中的“应用”,转到“打开模块设置”>“属性”,然后将源兼容性和目标兼容性更改为所需的Java版本。

答案 9 :(得分:0)

好吧,为我解决的问题是我没有使用embed jdk,然后将Java版本设置为Java 7并构建它,由于lambda表达式给了我错误,然后我将Java版本设置为1.8,然后同步,然后构建并有效

答案 10 :(得分:0)

使用最新版本的android studio打开旧的android项目时,会发生许多编译错误。但是,以下步骤对我有用,以更新项目设置和构建脚本。

打开文件->项目结构,并确保

  1. 您选择了最新版本的Android Gradle插件和 Gradle版本
  2. CompileSdkVersion和 targetSdkVersion 相同
  3. compileSdkVerrion 和buildToolsVersion兼容(如果不完全相同)

在项目级别的 build.gradle 文件中,确保将 google()添加到buildscript {}和 allprojects {} 的存储库中

在模块级别的 build.gradle 文件中,将 compile 替换为 implementation ,将 testCompile 替换为< strong> testImplementation 。在 compileOptions {} 删除中来自JavaVersion…字符串的单引号。

再次同步并创建项目。