首页 > 解决方案 > 如何将 Android 项目升级到 Java 11

问题描述

我正在使用最新的 Android Studio Arctic Fox 2020.03.01 Canary 8 和 AGP 7,并且我想将我的项目转换为使用 Java 11。显然,正如https://developer.android.com上所述,仅执行以下操作不起作用/studio/preview/features#use-java-11

android {
    compileSdkVersion 30

    compileOptions {
      sourceCompatibility JavaVersion.VERSION_11
      targetCompatibility JavaVersion.VERSION_11
    }

    // For Kotlin projects
    kotlinOptions {
      jvmTarget = "11"
    }
}

构建时出现以下错误:

Execution failed for task ':app:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':app:androidJdkImage'.
   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JdkImageTransform: /Users/azfarsiddiqui/Library/Android/sdk/platforms/android-30/core-for-system-modules.jar.
         > jlink executable /Applications/Android Studio Preview.app/Contents/jre/jdk/Contents/Home/bin/jlink does not exist.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

为简单起见,我一直在此处的 Jetpack Compose 示例项目中尝试此操作:https ://github.com/android/compose-samples/tree/main/JetNews

有什么想法吗?多谢你们

标签: androidandroid-studioandroid-jetpackandroid-jetpack-compose

解决方案


来自 Android Studio Artic Fox 2020.3.1

首选项(设置) -> 构建、执行、部署 -> 构建工具 -> Gradle -> Gradle JDK -> 选择 JDK 11 或下载 JDK

在此处输入图像描述

北极狐2020.3.1版本之前

我假设您安装了 Java 11 或更高版本。以下步骤:

文件 -> 项目结构 -> SDK 位置 -> 将 JDK 位置更改为 Java 11 jdk 文件夹

如果您使用的是 Mac OS,请尝试在以下位置搜索该文件夹:

/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home

在此处输入图像描述


推荐阅读