android - 如何将 Android 项目升级到 Java 11

标签 android android-studio android-jetpack android-jetpack-compose

我正在使用最新的 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
有什么想法吗?多谢你们

最佳答案

来自 Android Studio Artic Fox 2020.3.1
首选项(设置) -> 构建、执行、部署 -> 构建工具 -> Gradle -> Gradle JDK -> 选择 JDK 11 或下载 JDK
enter image description here
在北极狐2020.3.1版本之前
我假设您安装了 Java 11 或更高版本。以下步骤:
文件 -> 项目结构 -> SDK 位置 -> 将 JDK 位置更改为 Java 11 jdk 文件夹
如果您使用的是 Mac OS,请尝试在以下位置搜索该文件夹:

/Library/Java/JavaVirtualMachines/jdk-11.0.9.jdk/Contents/Home
enter image description here

关于android - 如何将 Android 项目升级到 Java 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66449161/

相关文章:

android - Jetpack Compose - 如何获得 Composable 的禁用/褪色外观?

android - 导航组件 : Cannot find NavController

android-studio - 无法创建虚拟设备: Unable to create Android virtual device

android - 使用 Jetpack Compose 在单击按钮时动态添加 View

android - 使用字节数组读入文件,然后显示在ImageView (Android)

android - 在 MVP 模式中,Presenter 应该是 Android 应用程序的 Activity 明智还是功能明智

java - 为什么 Dagger 2 中需要@SubComponent?

java - 按钮大小看起来不同

java - 微调器列表项

android - “gradlew”在 Android Studio 终端中未被识别为内部或外部命令错误