Flutter构建失败:JdkImageTransform导致path_provider_android编译任务出错
Flutter构建错误解决:
:path_provider_android:compileDebugJavaWithJavac JDK转换失败 问题场景
Windows 11环境下用Android Studio Ladybug运行Flutter项目,构建时卡在:path_provider_android:compileDebugJavaWithJavac任务,核心错误是JdkImageTransform执行失败,调用jlink.exe处理core-for-system-modules.jar时出错。
错误输出:
FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':path_provider_android:compileDebugJavaWithJavac'. > Could not resolve all files for configuration ':path_provider_android: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: C:\Users\mtnoy\AppData\Local\Android\sdk\platforms\android-34\core-for-system-modules.jar. > Error while executing process C:\Program Files\Android\Android Studio\jbr\bin\jlink.exe with arguments {--module-path C:\Users\mtnoy\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\mtnoy\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\jdkImage --disable-plugin system-modules} * 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. > Get more help at https://help.gradle.org. BUILD FAILED in 7s Error: Gradle task assembleDebug failed with exit code 1
系统信息
- 操作系统:Windows 11
- Android Studio版本:Ladybug
- Flutter版本:最新版
- Android SDK平台:android-34
已尝试方案
- 更新Flutter SDK至最新版
- 执行
flutter clean后重新构建 - 重装Android Studio Hedgehog并更新命令行/平台工具
- 检查JDK兼容性与环境变量
可行解决办法
1. 替换Android Studio内置JBR为JDK 17
Ladybug内置的JetBrains Runtime(JBR)可能存在jlink兼容性问题,换成标准JDK 17:
- 下载安装OpenJDK 17或Oracle JDK 17
- 打开Android Studio,进入
File > Project Structure > SDK Location - 找到
JDK location,选择刚安装的JDK 17路径,应用更改后重新构建
2. 降级Android SDK平台至33
android-34的core-for-system-modules.jar可能和当前Gradle/JDK组合不兼容:
- 打开Android Studio的SDK Manager
- 卸载Android 14(API 34)平台,安装Android 13(API 33)
- 修改项目
android/app/build.gradle中的compileSdkVersion和targetSdkVersion为33,执行flutter clean后重新构建
3. 清理Gradle缓存
Gradle缓存的转换文件可能损坏:
- 关闭Android Studio
- 删除
C:\Users\mtnoy\.gradle\caches\transforms-3文件夹 - 重启Android Studio,执行
flutter pub get后重新构建
4. 强制Gradle使用指定JDK
在项目根目录的gradle.properties中添加以下配置(替换为你的JDK 17实际路径):
org.gradle.java.home=C:\\Program Files\\Java\\jdk-17.0.9 # 示例路径,根据实际情况修改
内容的提问来源于stack exchange,提问作者Temp Teen
相关产品推荐
相关产品推荐

