Android Gradle插件需要Java 11才能运行。您当前正在使用Java1.8
我下载了最新的Android Studio,我想运行Android Jetpack Compose项目,但运行时出现错误:Android Gradle插件需要Java 11才能运行。您当前正在使用Java1.8,android,android-studio,gradle,android-gradle-plugin,Android,Android Studio,Gradle,Android Gradle Plugin,我下载了最新的Android Studio,我想运行Android Jetpack Compose项目,但运行时出现错误: > 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 fo
> 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`.
我已经下载了Java11,并在gradle.properties中添加了Java11
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
JAVA_主页显示JAVA 11,但我运行,它不工作,
/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
我该怎么办
我的Android Studio版本
我的Java版本
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)
我的gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
build.gradle类路径
classpath "com.android.tools.build:gradle:7.0.0-alpha13"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.31"
格雷德尔先生
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"
}
确保您的
gradle
使用了正确的JDK。
尝试在项目目录中运行/gradlew--version
,输出应如下所示:
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
如果JVM指向1.8版,那么您应该在设置中更改它。您可以在Build,Execution,Deployment>buildtools>Gradle>gradlejdk
我第一次尝试运行时遇到了类似的问题 运行样本的指令是执行
/gradlew宏基准:cC
在IDE终端中,但在我的例子中,这导致了相同的错误
我尝试了上面M Tomczyński的公认答案,但这对我来说不起作用。我相信这是我现有的JAVA\u HOME
配置的结果(可以找到)
这也意味着选项2,更改我的JAVA_HOME
config,不是一个选项
不过,对我来说确实有效的改变是上述建议中的选项3。我从上面的答案中检查了Java11的路径,并将其添加到gradle.properties
,然后根据IDE提示同步gradle,并成功地重新运行macrobenchamark-gradle命令
org.gradle.java.home=/Applications/Android Studio Preview.app/Contents/jre/Contents/home
您可以用这种简单的方法解决它
我已经这样设置了,但它不工作。我有完全相同的错误,在设置中更改JDK为我修复了它,对不起,你不是这样。唯一的区别可能是Gradle,因为我使用的是7.0 rc2,但这不重要。@VenShine您也可以尝试切换到system Gradle,而不是project wrapper中的Gradle。下面是使用sdkman的示例设置的一些说明。您可以通过在项目目录中调用
/gradlew--version
来确认Gradle使用的是正确的版本。它将输出JVM版本库,我重新启动Android Studio,清除缓存,然后工作。