【问题标题】:Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. ErrorAndroid Gradle 插件需要 Java 11 才能运行。您当前使用的是 Java 1.8。错误
【发布时间】:2021-10-07 02:29:51
【问题描述】:

我想用 Jitpackio 发布一个库。当我发布库时,出现以下错误;

"Failed to apply plugin 'com.android.internal.application'.
    Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
     You can try some of the following options:
       - changing the IDE settings.
       - changing the JAVA_HOME environment variable.
       - changing `org.gradle.java.home` in `gradle.properties`."

Gradle 版本:7.0.2

My Gradle JDK Version

你能帮帮我吗?

【问题讨论】:

  • 如果它指向旧的 JDK 版本,您是否检查了所有三个选项?到目前为止,您还尝试了哪些其他选项,这些选项很容易理解,特别是如果您在互联网上搜索它们。

标签: java android android-studio gradle jitpack


【解决方案1】:

问题在于 JitPack.io 是单独使用 JDK1.8 运行的。在项目文件中添加jitpack.yml文件,内容如下:

jdk:
  - openjdk11

当我这样做时,问题就消失了。

【讨论】:

  • 谢谢!这个答案让我很开心!
  • 这应该在官方 JitPack 文档中提到。这就像一个魅力。
【解决方案2】:

根据 AGP 发行说明here

使用 Android Gradle 插件 7.0 构建您的应用时,现在需要 JDK 11 来运行 Gradle。 Android Studio Arctic Fox 捆绑了 JDK 11 并将 Gradle 配置为默认使用它,这意味着大多数 Android Studio 用户不需要对其项目进行任何配置更改。

如果您使用 AGP 7.0,则需要 JDK 11。

您可以像下面这样修改 AS JDK 版本(仅影响在 AS 小锤子中运行应用程序构建项目或运行动作) if Android Studio 北极狐 | 2020.3.1你用的。

对于一些使用 AGP 7.0 和命令行构建 android 应用程序

  1. 将 JAVA_HOME 值路径修改为 JDK 11(这将影响环境中的所有项目)
  2. 在特殊项目 gradle.properties 文件中声明“org.gradle.java.home = JDK 11 的路径”(仅对本项目有效)

【讨论】:

  • 我正在使用“Android Studio 北极狐 | 2020.3.1”。 Gradle JDK 版本 11.0.10 但没有解决这个问题:(
  • @gokmenBayram 您为修复构建错误做了哪些选项?为什么在构建android库(AAR)时要导入Application插件?
【解决方案3】:

在 jitpack github 页面中审查的解决方案: here

如前所述: 您应该在名为的项目的根目录中创建一个文件 jitpack.yml 包含

jdk:
  -openjdk11 

然后将库中的 build.gradle 文件更改为:

apply plugin: 'com.android.library' 
apply plugin:'maven-publish'
.
.
afterEvaluate {
publishing {
    publications {
        release(MavenPublication) {
            from components.release
            groupId = "ntk.android.base"
            artifactId = 'baseActivity'
            version = version
        }
    }
}

}

【讨论】:

    【解决方案4】:

    在根项目目录中创建jitpack.yml

    jdk:
      - openjdk11
    before_install:
      - sdk install java 11.0.10-open
      - sdk use java 11.0.10-open
    

    它对我有用。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    【解决方案5】:

    根据this blog,仅在 gradle 7.0.2 中添加 jitpack.yml 对我不起作用,但更改 gradle jdk 有效

    【讨论】:

    • 请将您的答案添加为评论或自行解释。
    【解决方案6】:

    如果end0421的回答没有解决你的问题,
    首先无论如何将 Gradle JDK 位置更改为 Embedded 然后您可以直接编辑 compileOptions 下的buid.gradle (Module),如下所示,并确保您已安装了 Java 11。您可以从 Oracle 获得它。

    正如您在此处看到的,您必须将sourceCompatibilitytargetCompatibility 都更改为JavaVersion.VERSION_11,然后您可以点击立即同步或重新构建项目并制作项目。

    【讨论】:

      猜你喜欢
      • 2022-01-21
      • 2021-07-02
      • 1970-01-01
      • 2022-06-17
      • 2021-10-14
      • 2021-07-21
      • 2022-08-08
      • 1970-01-01
      • 2022-06-17
      相关资源
      最近更新 更多