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

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?



Solution 1:[1]

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.

Solution 2:[2]

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 3:[3]

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

}

Solution 4:[4]

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.

Solution 5:[5]

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

Solution 6:[6]

If the answer by ending0421 didn't solve your problem,
first anyway change that Gradle JDK location to Embedded then you can directly edit the buid.gradle (Module) under compileOptions as show below and make sure that you have installed Java 11. You can get it from Oracle.
Click here to look at the image

As you can see here, you must change both the sourceCompatibility and targetCompatibility to JavaVersion.VERSION_11 and you can click on sync now or rebuild the project and make project.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Joachim Sauer
Solution 2
Solution 3
Solution 4 Michael Lee
Solution 5 cy lee
Solution 6