Android Studio中添加任意Flutter包后编译失败的问题求助
问题:Flutter添加外部包后Gradle编译失败
错误日志
Launching lib\main.dart on AOSP on IA Emulator in debug mode... Running Gradle task 'assembleDebug'... 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\dimitri\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\dimitri\.gradle\caches\transforms-3\4a46fc89ed5f9adfe3afebf74eb8bfeb\transformed\output\temp\jmod --add-modules java.base --output C:\Users\dimitri\.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 26s Error: Gradle task assembleDebug failed with exit code 1
环境版本信息
Flutter/Dart版本
flutter --version Flutter 3.24.5 • channel stable • https://github.com/flutter/flutter.git Framework • revision dec2ee5c1f (5 days ago) • 2024-11-13 11:13:06 -0800 Engine • revision a18df97ca5 Tools • Dart 3.5.4 • DevTools 2.37.3
Gradle/Java版本
PS E:\DevEnv\flutter\projects\doit\lesson01\android> ./gradlew -version ------------------------------------------------------------ Gradle 8.3 ------------------------------------------------------------ Build time: 2023-08-17 07:06:47 UTC Revision: 8afbf24b469158b714b36e84c6f4d4976c86fcd5 Kotlin: 1.9.0 Groovy: 3.0.17 Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023 JVM: 17.0.12 (Oracle Corporation 17.0.12+8-LTS-286) OS: Windows 11 10.0 amd64
Pubspec.yaml配置
name: lesson01 description: "DoIt Lesson Project." publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: sdk: ">=3.5.0 <4.0.0" dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.8 google_fonts: ^6.2.1 dev_dependencies: flutter_test: sdk: flutter flutter_lints: ^5.0.0 flutter: uses-material-design: true
问题根源
这个错误核心是Gradle通过jlink工具处理Android 34的core-for-system-modules.jar生成JDK镜像时失败,主要诱因包括:
- Android SDK Platform 34的系统模块文件损坏或不完整
- 当前使用的Oracle JDK 17.0.12与Android Studio内置的JBR(JetBrains Runtime)存在兼容性冲突,导致
jlink执行出错 - Gradle缓存中的旧文件干扰了正常编译流程
解决方法
- 修复Android SDK Platform 34:打开Android Studio的SDK Manager,找到「Android 14 (API 34)」,先卸载再重新安装,确保
core-for-system-modules.jar文件完整无损坏 - 统一JDK路径:在Android Studio的「Project Structure」中,将项目JDK路径设置为Android Studio内置的JBR,路径为
C:\Program Files\Android\Android Studio\jbr,保证Gradle和IDE使用同一版本JDK - 清理Gradle缓存:删除用户目录下的
.gradle/caches文件夹(路径:C:\Users\dimitri\.gradle\caches),然后依次执行flutter clean和flutter pub get命令,重新生成依赖缓存 - 降级Android SDK版本:如果上述方法无效,修改
android/app/build.gradle文件,将compileSdkVersion和targetSdkVersion改为33,避开API 34的兼容性问题 - 升级Gradle版本:修改
android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl为https\://services.gradle.org/distributions/gradle-8.6-all.zip,升级到更稳定的Gradle版本以提升兼容性
内容的提问来源于stack exchange,提问作者ussrback
相关产品推荐
相关产品推荐

