Flutter构建失败::app:compileDebugJavaWithJavac遇JdkImageTransform错误
Flutter构建Android应用时JdkImageTransform错误求助
错误信息
Warning: SDK processing. This version only understands SDK XML versions up to 3 but an SDK XML file of version 4 was encountered. This can happen if you use versions of Android Studio and the command-line tools that were released at different times. FAILURE: Build failed with an exception. * What went wrong: 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: /home/user-name/Android/Sdk/platforms/android-34/core-for-system-modules.jar. > Error while executing process /opt/android-studio/jbr/bin/jlink with arguments {--module-path /home/user-name/.gradle/caches/transforms-3/9263d05e7a9236c2cfa2ca39c5a20e5a/transformed/output/temp/jmod --add-modules java.base --output /home/user-name/.gradle/caches/transforms-3/9263d05e7a9236c2cfa2ca39c5a20e5a/transformed/output/jdkImage --disable-plugin system-modules}
Flutter Doctor 检测结果
Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.24.3, on Ubuntu 24.04.1 LTS 6.8.0-45-generic, locale en_US.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [✓] Chrome - develop for the web [✓] Linux toolchain - develop for Linux desktop [✓] Android Studio (version 2024.2) [✓] IntelliJ IDEA Ultimate Edition (version 2024.2) [✓] Connected device (3 available) [✓] Network resources
已尝试的解决方法
- 将
JAVA_HOME设置为Java 17(/usr/lib/jvm/java-17-openjdk-amd64),并通过java -version验证生效 - 将Android Studio从Ladybug切换到Koala版本,问题未解决
- 执行
./gradlew clean和flutter clean清理缓存,问题依旧存在 - 通过Android Studio SDK管理器重新安装Android SDK Platform 34
补充环境信息
- Flutter版本:3.24
- Java版本:OpenJDK 17
- Android Studio版本:Android Studio Ladybug
- 操作系统:Ubuntu 24
可能的解决方向
统一Android SDK命令行工具与Android Studio版本
错误提示明确提到SDK XML版本不兼容,这通常是因为Android Studio版本和SDK命令行工具版本不匹配。打开Android Studio的SDK管理器,切换到SDK Tools标签,确保Android SDK Command-line Tools (latest)的版本与当前Android Studio版本适配,若已安装可尝试卸载后重新安装对应版本。强制Gradle使用指定JDK
在项目的android/gradle.properties文件中添加以下配置,强制Gradle使用你设置的OpenJDK 17,避免默认使用Android Studio自带的JetBrains Runtime引发兼容性问题:org.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64降级Android SDK Platform版本
修改android/app/build.gradle中的compileSdkVersion和targetSdkVersion,从34降级到33,重新构建项目,尝试避开Android 34相关的JDK镜像转换问题。清理Gradle全局缓存
除项目级清理外,删除Gradle全局缓存目录,让Gradle重新下载所有依赖和缓存文件:rm -rf ~/.gradle/caches升级Flutter到最新稳定版
当前Flutter 3.24版本可能对Android 14(SDK 34)和Android Studio 2024.2的兼容性不足,执行以下命令升级到最新稳定版:flutter upgrade
内容的提问来源于stack exchange,提问作者Raihan Firdaus
相关产品推荐
相关产品推荐

