You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java17+新版Flutter环境下Ladybug中Gradle构建AGP兼容性错误

解决Java 17 + 新版Flutter在Ladybug中的Gradle构建AGP兼容性错误

错误信息

执行任务':shared_preferences_android:compileDebugJavaWithJavac'失败。
无法解析配置':shared_preferences_android:androidJdkImage'的所有文件。
无法转换core-for-system-modules.jar以匹配属性{artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。

执行JdkImageTransform时失败:C:\Users\scs\AppData\Local\Android\sdk\platforms\android-34\core-for-system-modules.jar。
执行进程C:\Program Files\Android\Android Studio\jbr\bin\jlink.exe时出错,参数为{--module-path C:\Users\scs.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\scs.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\jdkImage --disable-plugin system-modules}

解决方案

1. 匹配AGP与Gradle版本

Java 17要求Android Gradle插件(AGP)版本至少为7.4.0,需同步对应Gradle版本:

  • 打开项目根目录下的android/build.gradle,修改AGP版本:
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2' // 或更高兼容版本
    }
}
  • 修改android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip // AGP7.4对应Gradle7.5+

2. 明确指定Java编译版本

在android/app/build.gradle的android代码块中添加配置,强制使用Java 17编译:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    // 项目使用Kotlin时添加以下配置
    kotlinOptions {
        jvmTarget = '17'
    }
}

3. 清理Gradle缓存并重建

  • 执行Flutter清理命令:
flutter clean
  • 删除本地Gradle缓存目录(如C:\Users\scs\.gradle\caches)
  • 重新获取依赖并构建:
flutter pub get
flutter run

4. 检查SDK与JDK完整性

  • 确认Android SDK的android-34平台包完整:打开Android Studio的SDK Manager,检查Android 13 (Tiramisu)下的SDK Platform是否安装完好,必要时重新下载。
  • 指定兼容JDK路径:推荐使用Android Studio自带的JBR,在项目local.properties中明确配置:
jdk.dir=C:\\Program Files\\Android\\Android Studio\\jbr
sdk.dir=C:\\Users\\scs\\AppData\\Local\\Android\\sdk

5. 升级Flutter插件版本

旧版本shared_preferences_android可能不兼容新AGP与Java 17,执行升级命令:

flutter pub upgrade shared_preferences

内容的提问来源于stack exchange,提问作者Taimoor Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:21:06