Flutter执行build appbundle命令打包时遭遇构建失败问题
执行场景
执行flutter build appbundle命令打包Flutter应用时出现构建失败。
警告信息
警告:SDK处理。当前版本仅支持最高版本3的SDK XML文件,但检测到版本4的SDK XML文件。这可能是由于使用的Android Studio与命令行工具版本不一致导致。
字体资源“MaterialIcons-Regular.otf”已被tree-shaken,大小从1645184字节缩减至1136字节(缩减99.9%)。可通过添加--no-tree-shake-icons参数禁用摇树优化。
字体资源“fa-solid-900.ttf”已被tree-shaken,大小从419720字节缩减至2552字节(缩减99.4%)。可通过添加--no-tree-shake-icons参数禁用摇树优化。
核心失败原因
任务:path_provider_android:compileReleaseJavaWithJavac执行失败,连锁错误详情:
无法解析
:path_provider_android:androidJdkImage配置的所有文件。
无法转换core-for-system-modules.jar以匹配属性{artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}。JdkImageTransform执行失败:
C:\Users\Awais\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\Awais.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\Awais.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\jdkImage --disable-plugin system-modules}
排查与解决建议
- 执行打包命令时添加
--stacktrace参数,获取详细堆栈跟踪以定位深层问题 - 使用
--info或--debug参数,输出更多日志信息排查资源加载或配置细节 - 统一Android Studio与命令行SDK工具版本:
- 打开Android Studio的SDK管理器,检查SDK Build Tools、SDK Platform Tools版本,确保与命令行环境使用的版本一致
- 升级或降级到兼容版本,解决SDK XML版本不兼容警告
- 针对JdkImageTransform错误的修复步骤:
- 执行
flutter clean清理项目缓存后重新尝试打包 - 检查Android SDK中android-34平台包是否完整,若损坏则删除后重新下载
- 验证Android Studio内置JBR运行时是否正常,必要时切换到系统兼容版本的JDK
- 执行
内容的提问来源于stack exchange,提问作者Awais safdar

