繁体   English   中英

Android Studio - 无法确定 Java 版本

[英]Android Studio - Could not determine Java version

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

改变这个:

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

对此:

targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8

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

My Solution,在菜单中,点击File > Project Structure here,将 JDK 指向适当的位置C:\\Program Files\\Java\\jdk

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

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

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

My Solution,在菜单中,点击File > Project Structure here,选择8 version

你设置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

我只是将默认的 java JDK 从 Oracle JDK 更改为 OpenJDK。 奇迹般有效。

类似于 Keds 的回答。 在 android Studio 中,在项目选项卡/文件资源管理器中转到Gradle Scripts -> 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

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

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

C:\Program Files\Java\jdk-10.0.2 

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

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

好吧,对我来说解决问题的是我没有使用嵌入式 jdk 然后将 java 版本设置为 java 7 并构建它因为 lambda 表达式给了我错误然后我将 java 版本设置为 1.8 然后同步然后构建并且它工作

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

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

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

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

在模块级build.gradle文件中,将compile替换为implementation并将testCompile替换为testImplementation compileOptions{},从 JavaVersion... 字符串周围删除单引号。

再次同步并制作项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM