Flutter 依赖shared_preferences 编译报错问题处理

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':shared_preferences_android:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':shared_preferences_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\Administrator\AppData\Local\Android\sdk\platforms\android-34\core-for-system-modules.jar.
         > Error while executing process D:\Program Files\Android\Android Studio\jbr\bin\jlink.exe with arguments {--module-path C:\Users\Administrator\.gradle\caches\transforms-3\8b1ee8b41298da6569946ea2a7f2a6b7\transformed\output\temp\jmod --add-modules java.base --output C:\Users\Administrator\.gradle\caches\transforms-3\8b1ee8b41298da6569946ea2a7f2a6b7\transformed\output\jdkImage --disable-plugin system-modules}

这个问题是由于编译过程默认使用android studio默认的jdk21,版本过高,详情可以使用flutter doctor -v 查看java版本

解决方案:

第一个办法,在项目的中的 android/gradle.properties 文件,强制修改项目使用的java版本

添加一行(推荐使用jdk 17), 路径要用两个反斜杠

org.gradle.java.home=C\:\\Users\\Administrator\\.jdks\\corretto-17.0.13
第二个方法,设置全局java环境变量

然后删除掉android studio中的jbr, 这样就会用你设置的全局版本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值