Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. Error

Viewed 4359

I want to publish a library with Jitpackio. When I publish the library I get the following error;

"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 Version : 7.0.2

My Gradle JDK Version

Can you help me?

5 Answers

The problem was that JitPack.io was running with JDK1.8 on its own. Add a jitpack.yml file to the project file with this content:

jdk:
  - openjdk11

When I did that the problem went away.

According to AGP release note here

When using Android Gradle plugin 7.0 to build your app, JDK 11 is now required to run Gradle. Android Studio Arctic Fox bundles JDK 11 and configures Gradle to use it by default, which means that most Android Studio users do not need to make any configuration changes to their projects.

JDK 11 is required if you using AGP 7.0.

You can modify AS JDK version like below (Only effect run app build project in AS small hammer or run action)enter image description here if Android Studio Arctic Fox | 2020.3.1 you use .

For some one building android app with AGP 7.0 with command line

  1. Modify JAVA_HOME value path to JDK 11 (Which will effect all of project on environment)
  2. Declare "org.gradle.java.home = path to JDK 11" in special project gradle.properties file (Effect to only this project)

solution in reviewed in jitpack github page: here

as said : you should create a file in root of project named jitpack.yml contain

jdk:
  -openjdk11 

then change build.gradle file in library as :

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
        }
    }
}

}

Create jitpack.yml in root project dir.

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

It's working for me.

Only add jitpack.yml isn't working for me in gradle 7.0.2, but change gradle jdk works, according to this blog

Related