【问题标题】:Android Studio - Could not determine Java versionAndroid Studio - 无法确定 Java 版本
【发布时间】:2015-12-24 03:34:33
【问题描述】:

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

【问题讨论】:

    标签: java android android-studio


    【解决方案1】:

    改变这个:

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

    对此:

    targetCompatibility JavaVersion.VERSION_1_8
    sourceCompatibility JavaVersion.VERSION_1_8
    

    【讨论】:

    • 奇怪的解决方案,但有效!我猜这是 AS 3.4 中的拼写错误
    • 我认为这是新Android工作室的变化。他们希望将 JavaVersion 用作对象而不是字符串
    【解决方案2】:

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

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

    【讨论】:

    • 对我来说相同的 problem,但是在分配了正确的 jdk 位置后,gradle 仍然会找到错误的 java 版本。
    【解决方案3】:

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

    【讨论】:

    【解决方案4】:

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

    【讨论】:

    • 感谢您的回答。如果错误再次发生,将尝试。
    【解决方案5】:

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

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

    【讨论】:

      【解决方案6】:

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

      【讨论】:

      • 我已经有了一个变量。该命令返回“/usr/lib/jvm/java-7-oracle”
      【解决方案7】:

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

      【讨论】:

        【解决方案8】:

        类似于 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
        

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

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

        C:\Program Files\Java\jdk-10.0.2 
        

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

        【讨论】:

          【解决方案9】:

          这对我没有任何帮助,所以如果它可以帮助其他人: 在你的项目中右击“app”,进入“Open Module Settings”>“Properties”,将源兼容性和目标兼容性更改为你需要的Java版本。

          【讨论】:

            【解决方案10】:

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

            【讨论】:

              【解决方案11】:

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

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

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

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

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

              再次同步并制作项目。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2021-07-03
                • 2021-08-05
                • 2018-07-28
                • 1970-01-01
                • 2018-04-04
                • 2021-02-28
                • 2021-12-31
                • 2019-05-05
                相关资源
                最近更新 更多