Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gradle插件需要Java 11才能运行。您当前正在使用Java1.8_Android_Android Studio_Gradle_Android Gradle Plugin - Fatal编程技术网

Android Gradle插件需要Java 11才能运行。您当前正在使用Java1.8

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

我下载了最新的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 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 zipfile。(比如说windows)

  • 将其解压缩到PC主目录下任何具有高权限的文件夹中

  • 现在打开并转到位于文件>项目结构的Android studio项目结构

  • 然后将解压jdk版本的目录粘贴到这里,正如您所看到的,我的现在是jdk 16,安装在该目录中,如图所示


  • 我已经这样设置了,但它不工作。我有完全相同的错误,在设置中更改JDK为我修复了它,对不起,你不是这样。唯一的区别可能是Gradle,因为我使用的是7.0 rc2,但这不重要。@VenShine您也可以尝试切换到system Gradle,而不是project wrapper中的Gradle。下面是使用sdkman的示例设置的一些说明。您可以通过在项目目录中调用
    /gradlew--version
    来确认Gradle使用的是正确的版本。它将输出JVM版本库,我重新启动Android Studio,清除缓存,然后工作。