I downloaded the newest Android Studio, and I wanted to run the Android Jetpack Compose Project, but when I ran it, I got the 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`.
I already downloaded Java 11 and added Java 11 in gradle.properties.
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
The JAVA_HOME shows Java 11, but when I run, it doesn't work -
/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
How should I do?
My Android Studio version
My Java version
java 11.0.10 2021年01月19日 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162, mixed mode)
My gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
build.gradle classpath
classpath "com.android.tools.build:gradle:7.0.0-alpha13"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
File build.gradle
plugins {
id 'com.android.application'
id 'kotlin-android'
}
android {
compileSdk 30
defaultConfig {
applicationId "com.example.testandroid3"
minSdk 21
targetSdk 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
useIR = true
}
buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.4.31'
}
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(11))
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation "androidx.compose.ui:ui:$compose_version"
implementation "androidx.compose.material:material:$compose_version"
implementation "androidx.compose.ui:ui-tooling:$compose_version"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.0'
implementation 'androidx.activity:activity-compose:1.3.0-alpha02'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
}
-
just run npx @react-native-community/cli doctor then it will give you report. press e to install then it will do it everything for younewUser– newUser2022年12月25日 08:37:06 +00:00Commented Dec 25, 2022 at 8:37
47 Answers 47
Make sure that your Gradle is using the proper JDK.
Try running ./gradlew --version in your project's directory. The output should be something like this:
Gradle 7.0-rc-2
------------------------------------------------------------
Build time: 2021年04月01日 21:26:39 UTC
Revision: 912a3368b654b71250dfc925a20d620393
Kotlin: 1.4.31
Groovy: 3.0.7
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 11.0.10 (Ubuntu 11.0.10+9-Ubuntu-0ubuntu1.20.10)
OS: Linux 5.11.4-051104-generic amd64
If the JVM points to version 1.8 then you should change it in settings. You can find it in Preferences → Build, Execution, Deployment → Build Tools → Gradle → *Gradle JDK.
30 Comments
compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = '11' }build.gradle file of your project. But, I believe it won't help. Make sure that your system (OS) has Java 11, since just changing Gradle settings didn't help me. On MacOS I used sdkman to install and use jdk 11. After installing I saw in ./gradlew -verion proper value for user Java and project started building fine again.For Android Studio Arctic Fox (4.2), with 2020年3月1日 Patch 2 on Windows 10 Pro PC:
Step 1
Step 2
12 Comments
If you are using Android Studio (Arctic Fox 2020年3月1日) on Windows 10.
This is how you fix the Build failed error:
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
Open the Project Structure...
(from the Toolbar)
Project Structure on the Toolbar(or from the File Menu)
Project Structure... on the File MenuClick on the Gradle Settings link
Select the correct Java JDK from the Gradle JDK drop-down list
NOTE: If you cannot find the correct Java JDK, then you'll first need to download and install it...
5 Comments
Android Studio Arctic Fox (4.2) with 2020年3月1日 Patch 3 - Mac
You just need to choose the embedded JDK version 11.0.10 from the Gradle settings of preferences.
2 Comments
This is how I fixed it on macOS.
./gradlew --version
Go to Preference → Build, Execution, Deployment → Gradle
Change the Gradle JDK to your latest version.
I have only one JDK (Microsoft build OpenJDK 17) installed before installing Android Studio. For unknown reasons, a JDK 1.8 has been installed along Android Studio and set as the Gradle default at /Users/<username>/Library/Java/JavaVirtualMachines/corretto-1.8.0_322
7 Comments
Embedded JDK version 11.0.11 worked for me on my M1 mac.Go to Preference -> Build, Execution, Deployment -> Build Tools -> GradleOn macOS M1 I solved it by the following steps.
Opened file ~/.zshrc in Visual Studio Code
Added this line:
export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"Saved the file
Reloaded the terminal with modified file by running
source ~/.zshrctesting if the changes have been loaded by running
echo $JAVA_HOMEVerified that the correct location is displaying.
Verified that the Gradle is displaying correct Java 11 version by running
cd android ./gradlew --version
And here is the result:
------------------------------------------------------------
Gradle 7.3.3
------------------------------------------------------------
Build time: 2021年12月22日 12:37:54 UTC
Revision: 6f556c80f945dc54b50e0be633da6c62dbe8dc71
Kotlin: 1.5.31
Groovy: 3.0.9
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 11.0.12 (JetBrains s.r.o. 11.0.12+0-b1504.28-7817840)
OS: Mac OS X 12.2.1 aarch64
Tried to build it again by running:
yarn android
And it's succeeded.
3 Comments
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home". Simply change jre with jbr.In Android Studio I just did this:
Preferences → Build,Execution,Deployment → Build Tools → Gradle
Easy peasy.
Preferences->Build,Execution,Deployment->Build Tools-> Gradle
1 Comment
Invalid Gradle JDK configuration found..I got this error when I started gradlew ktlintFormat in the Terminal of Arctic Fox build.
I opened Project Structure (menu File → Project Structure) and selected Java 11, but it didn't help even after a restart of Android Studio.
Then I changed the Java path in Settings (see the accepted answer), but it didn't help. You should set it.
I tried to change Windows system variables and changed
JAVA_HOME.(A short way: run
cmdwith administrative rights and write:setx /M JAVA_HOME "C:\Program Files\Java\jdk-11.0.11", and then restart Android Studio)Press Win+X, press "System", and enter "va".
I pressed Edit button and "Browse Directory...", and then selected JRE (or JDK) folder (without
bin) of Java 11. Then OK, and OK (as always).I opened
cmd(command line in Windows) and typed:%JAVA_HOME%. It wrote me this error:'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Looking at Setting the JAVA_HOME Variable in Windows , I found that we should replace
Program FileswithProgra~1(yes, this DOS trick still works). So, replace JAVA_HOME again like in the picture below (C:\Progra~1\Android\Androi~1\jre).Restart Android Studio or reset the computer.
4 Comments
JavaVersion.VERSION_11 and jvmTarget (JavaVersion.VERSION_11.toString()), as you wrote. I think, after this changes Android Studio will ask to upgrade to Java 11.I downloaded the 11 JDK again and it works. This saves you time as you don’t have to clear the cache, build, and rebuild your project.
Downloading new JDK (pick version 11 again or a later version)
1 Comment
You can solve it in this simple way.
Go to https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
Download the JDK ZIP file of your system. (Let’s say Windows)
Extract it in any folder with high permissions under your PC main directory
Now open and Go to your Android studio project structure located at men File* → Project structure.
And paste the directory where you unzipped the JDK version here. As you see, mine is JDK 16 as at now and installed in that directory as seen in the picture:
1 Comment
When I upgraded to Android Studio 15 (Dolphin) I got this error, and it is sooooo easy to fix. This answer is the easiest, fastest and the best...
In Android Studio I just did this:
Preferences → Build,Execution,Deployment → Build Tools → *Gradle. Select Java 11 or 12, etc..
Easy peasy
See the picture.
1 Comment
I got this error when I updated one of the dependencies in Android Studio that requires Java 11. You just need to follow these steps.
Download the Java 11. For Mac, download a .dmg file and for Windows a ZIP file. Link: Download Java 11
Select options at Android studio
Follow the steps and choose your newly saved Java SDK
Follow the steps and choose your newly saved Java SDK.
(Follow the steps and choose your newly saved Java SDK.)
Comments
You can do it this way (menu File → Build option):
Comments
If you are using MS App Center, you may face the same kind of issue when you use Java 11 in your Android project. If you are looking a solution for MS App Center issue. This may help you!
- Go to
https://appcenter.ms/users/user1/apps/yourapp/build/branches - Click settings icon to go to
Build configuration - Scroll down to
Environmentand turn on. - Set
JAVA_HOMEto$(JAVA_HOME_11_X64)
1 Comment
For a Flutter project with Visual Studio Code
Add this to file gradle.properties:
org.gradle.java.home=<path to JDK 11>
Example:
C:\\Program Files\\Java\\jdk-11.0.15
3 Comments
local.properties if you care about best practices.For macOS users
The bundled JDK into macOS is 1.8, but now we need 11. Make Gradle use AndroidStudio's JDK for building the project:
Into file <PROJECT_ROOT>/gradle.properties, add line:
org.gradle.java.home=/Users/.../Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/.../Android Studio.app/Contents/jre/Contents/Home
Note: If you're not use Jetbrains Toolbox and you've installed Android Studio into /Application, use this path instead (thanks to @AndrewBekhtold):
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/Contents/Home
5 Comments
org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/HomeOn Mac, only setting JAVA_HOME to JDK 11 embedded to Android Studio helped.
I did it with this command in the command line:
export JAVA_HOME=ENTER_PATH_TO_JDK_HERE
PATH_TO_JDK could be something like /Users/userName/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android\ Studio.app/Contents/jre/Contents/Home
1 Comment
I was just having the same problem -
Android Gradle plugin requires Java 11 to run
Resolve it by replacing the value of Gradle JDK, "JDK 1.9" by "Android Studio SDk default JD 11.0.11" in menu Settings → Build, Execution, Deployment → Build Tools → Gradle.
Comments
All the solutions here are helpful for Java 11. But if you don't want to upgrade to Java 11 then you should just downgrade Android Gradle plugin (ADP) to 4.X as shown below:
Comments
⚠️ Note: this is a solution if you are getting this error on the GitHub Actions Pipeline
If you are using Java 11 in your project, but the GitHub Action Pipeline that builds the application is set to use Java 1.8, you will get this error.
To fix it, replace the following:
- name: set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
with:
- name: set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 11
3 Comments
.github/workflows folder on your Project.I have concluded that Gradle calls the version of Java installed on the system, regardless of Android Studio settings.
On macOS, check the list of installed Java versions in the system with the command:
/usr/libexec/java_home -V
If there is no Java 11 or higher among them, you will get an error like the author of the question.
The solution is to install the Java 11 or higher.
The second solution is to make a symlink in the folder ~/Library/Java/JavaVirtualMachines/ to the JRE embedded in Android Studio with the command:
ln -s "/Applications/Android Studio.app/Contents/jre" "~/Library/Java/JavaVirtualMachines/Android Studio Default JRE"
Additionally you can add this line to ~/.zshenv:
export JAVA_HOME=/usr/libexec/java_home
You can get installation paths for different Java versions if needed:
/usr/libexec/java_home -v 11
or
/usr/libexec/java_home -v 1.8
1 Comment
/usr/libexec/java_home -V is what helped me.If you are currently using Android Studio Arctic Fox (4.2):
- You can set manually the Gradle JDK (menu Preferences → Build Tools → Gradle → Gradle JDK (use or download JDK 11))
- Restore the default setting and don't do the previous tip in all projects (menu File → Manage IDE settings → Restore Default Settings)
1 Comment
For the latest version, this works for my Windows machine
Menu File → Project Structure
Choose the JDK 11 from you machine that you installed
Click Apply and OK.
Restart your Android Studio after these changes
Now, you're good to go
3 Comments
I solved it by adding this to the gradle.properties file:
org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64
But your Java 11 may be located in a different directory.
Example path for Windows:
org.gradle.java.home=C\:\\Program Files\\Java\\jdk-13.0.2
Comments
I ran into a similar problem when trying to run the benchmarking samples for the first time.
The instructions to run the sample were to execute
./gradlew macrobenchmark:cC
in the IDE terminal, but in my case this resulted with the same error.
I had tried the accepted answer above from M Tomczyński above, but that didn't work for me. I believe this was as a result of my existing config for JAVA_HOME (which can be found here).
This also meant that option 2, changing my JAVA_HOME config, wasn't an option.
The change which did work for me though was option 3 in the suggestions above. I checked the path for Java 11 from the answer above and added that into gradle.properties, and then sync'd gradle as per the IDE prompt, and re-ran the macrobenchamark gradle command successfully.
org.gradle.java.home=/Applications/Android Studio Preview.app/Contents/jre/Contents/Home
Comments
Changing the Gradle JDK to 11 worked for me in Android Studio Arctic Fox (4.2):
Step 1:
Navigate to: menu File → Setting → Build, Execution, Deployment → Build Tools → Gradle
Step 2:
Change Gradle JDK to 11, below the Gradle Projects.
Step 3:
Apply, and Rebuild Project!
2 Comments
Add the Java Home path to wrapper.properties
Changing the Gradle JDK in Android Studio Preferences didn't work for me.
But I was able to correct the JDK by adding the org.gradle.java.home path in the gradle-wrapper.properties file.
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
# I had to add this line (macOS)
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/Contents/Home
I found the JAVA_HOME path by going to menu File → Project Structure → SDKs → Choose the JDK you want to use → JDK home path.
After that, I was able again to run Gradle Wrapper (gradlew) commands.
1 Comment
If you don't want to use JDK 11 and still want to use JDK 1.8, you can revert back the Android plugins as below.
plugins {
id 'com.android.application' version '4.2.0' apply false
id 'com.android.library' version '4.2.0' apply false
}
Comments
If you run into this problem from the terminal in Android Studio, you should configure JAVA_HOME in your environment into Java 11, set the Gradle JDK in Preferences can't solve. I guess that running Gradle from the terminal and running Gradle from the IDE are not the same process and they use different JDK location.
Comments
None of the previous answers worked for me in Android Studio 4.2 (Arctic Fox), 2020年3月1日 Patch 3.
Only adding org.gradle.java.home=<Path-to-JDK-v11> to gradle.properties worked in my case.
If you are using Linux, just add org.gradle.java.home=/opt/android-studio/jre.
1 Comment
Explore related questions
See similar questions with these tags.