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

Flutter集成Firebase后运行失败:JdkImageTransform错误如何解决?

问题描述

Flutter项目集成Firebase后无法运行,已尝试以下操作:

  • 执行flutter clean
  • 更换多个Java版本(当前使用Java 17)
  • 执行命令:
    ./gradlew clean  
    ./gradlew build  
    

Gradle构建成功,但运行应用时仍报错,具体错误信息如下:

Launching lib\main.dart on Pixel 8 Pro in debug mode...
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.
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings

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\nisha\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\nisha.gradle\caches\transforms-3\01761d3d44a592c784df1715afe57f9c\transformed\output\temp\jmod --add-modules java.base --output C:\Users\nisha.gradle\caches\transforms-3\01761d3d44a592c784df1715afe57f9c\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 2m 12s
Running Gradle task 'assembleDebug'... 133.6s
Error: Gradle task assembleDebug failed with exit code 1

原因分析
  1. Android组件版本不兼容:Android Studio与命令行工具版本不一致,导致SDK XML版本(4)超出当前工具支持的最高版本(3)
  2. Java编译版本过时:项目配置的source/target Java版本为8,与当前使用的Java 17不匹配,触发过时警告且影响构建
  3. JDK镜像转换失败:path_provider_android插件在处理Android 34系统模块jar包时,jlink命令执行出错,核心原因是JDK版本、Android SDK版本与Gradle插件版本不匹配
解决步骤
  • 统一Android Studio与命令行工具版本
    打开Android Studio的SDK Manager,进入SDK Tools标签页,确保Android SDK Command-line Tools更新到与Android Studio版本兼容的最新版本,避免版本差异导致的XML解析问题

  • 更新Java编译版本配置

    1. 打开项目android/app/build.gradle文件,修改compileOptions:
      android {
          compileOptions {
              sourceCompatibility JavaVersion.VERSION_17
              targetCompatibility JavaVersion.VERSION_17
          }
      }
      
    2. 打开android/build.gradle文件,确保Gradle插件版本支持Java 17,例如:
      plugins {
          id "com.android.application" version "8.2.0" apply false
          id "org.jetbrains.kotlin.android" version "1.9.0" apply false
      }
      
  • 清理并重新构建项目
    依次执行以下命令:

    flutter clean
    cd android && ./gradlew clean
    cd .. && flutter pub get
    flutter run
    
  • 更新依赖插件版本
    打开pubspec.yaml文件,确保path_provider依赖为最新兼容版本,例如:

    dependencies:
      path_provider: ^2.1.2
    

    执行flutter pub get更新依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 10:28:13