如何将Android Studio默认gradle JDK更改为11

Get*_*ood 19 android gradle android-studio android-gradle-plugin

当我单击运行时收到此消息:

> 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`.
Run Code Online (Sandbox Code Playgroud)

错误消息“Android Gradle 插件需要 Java 11 才能运行。您当前正在使用 Java 1.8”的答案在设置中更改 Gradle JDK 有效。但仅限于那个项目。当我创建新项目时,Android Studio 会再次自动使用默认的 1.8。

我有 11 个可用,AS 只是不会自动使用它。我尝试过的事情:将 JAVA_HOME 环境更改为 JDK 11 的位置,但仍然出现相同的错误。

无效缓存/重新启动一段时间没有任何作用

如何设置一次并应用到以后所有的新项目中?

在此输入图像描述

附加 app/build.gradle

plugins {
    id 'com.android.application'
    id 'kotlin-android'
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.grid"
        minSdk 22
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
}

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
}
Run Code Online (Sandbox Code Playgroud)

顶级构建.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.3"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

Roh*_*ngh 7

安装了多个 Android Studio?

简短回答:

只需删除其他版本即可解决问题。

长答案:

我安装了两个版本的 Android Studio Android 4.2Android Arctic Fox。两个 Android Studio 都安装了不同的 Gradle JDK 版本。

这就是我在 Arctic Fox Gradle Settings 中看到的。(默认选择为 1.8)

在此输入图像描述

我的理论:

如果您注意到 Gradle JDK 安装在 Applications/Android Studio/Content/ 下

我假设 Gradle 设置页面会显示所有已安装的 Gradle JDK 版本。并且“设置”页面中没有设置默认版本的选项。因此第一个 Gradle 版本成为默认版本。

我不知道它是按字母顺序排序还是基于下载时间戳

但我相信它是基于时间戳的。最旧的安装版本位于列表顶部。

这是一个支持性的观察。当我删除 Android Studio 4.2 和 ctrl+z(撤消)时,列表顺序发生了变化。

在此输入图像描述

免责声明:

我可能完全错误,因为我没有任何官方文档、链接来支持这一说法。这只是一个理论。
而且我也明白这不是一个理想的解决方案。因为删除旧的 Android Studio 可能不是每个人的选择。


小智 5

可能看起来很晚,但我通过安装所需的 java jdk 修复了我的问题,顺便安装了 jdk 17。那是从我的浏览器下载并安装它之后。然后你可以使用以下命令检查你的设备上的java版本:在cmd上输入“java --version”命令,然后您只需重新启动电脑并打开android studio即可。然后在 android studio 的终端上检查 gradlew --version 命令的 jvm,如果它已更新,那么就可以开始了


小智 5

2023 更新

我试图从版本 1.8 更新到版本 11。每次我关闭 Studio 并再次打开它时,它都会重置。浏览了网上的解决方案,发现没有一个有效。我找不到包含 JDK 信息的文件。该文件已在较新版本中更改。

新解决方案:

步骤1:打开Android Studio并保持打开状态。

第 2 步: 转到下面给出的位置:

C:\Users\{username}\AppData\Roaming\Google\AndroidStudio2022.1\options
Run Code Online (Sandbox Code Playgroud)

或按Win + R并输入以下内容:

%userprofile%\AppData\Roaming\Google\AndroidStudio2022.1\options
Run Code Online (Sandbox Code Playgroud)

您的最新版本的 Android Studio 可能有所不同。

步骤 3:jdk.table.xml从选项文件夹中删除该文件。

步骤4:在设置中将Gradle JDK更改为新的JDK,以便Studio可以将新路径保存在文件中。(重要提示:Else Studio 从其内存中分配 JDK)

第5步:重新启动Android Studio。

这为我解决了这个问题。新创建的jdk.table.xml将具有更新的 JDK 值。


Akh*_*ha8 -2

您是否尝试过:app module build.gradle 文件。

android {
    // ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlinOptions {
        jvmTarget = '11'
    }
}
Run Code Online (Sandbox Code Playgroud)

也尝试选择默认提供的Android Studio SDK 在此输入图像描述

  • 感谢您的帮助。使用 VERSION_11 会给我带来这个问题/sf/ask/4587986581/,这就是我使用 VERSION_1.8 的原因无论如何,这对于这个项目来说效果很好。但是当我创建一个新项目时,该项目再次使用 1.8。有什么线索吗? (2认同)

归档时间:

查看次数:

21952 次

最近记录:

2 年,5 月 前