Flutter升级后构建Debug App Bundle时google_sign_in_Android模块编译失败求助
针对你描述的情况——Flutter升级并清理依赖后,使用google_sign_in: ^6.2.2、Java 17、Target SDK 34构建Debug版App Bundle时触发google_sign_in_android模块的编译错误,但降级到6.1.6或构建Release版就正常——我之前也碰到过类似的Gradle JDK镜像转换问题,给你几个亲测有效的解决方向:
临时降级依赖(最快生效)
你已经试过这个方法了,确实是最直接的临时方案:把pubspec.yaml里的google_sign_in版本锁定到6.1.6或更旧的稳定版,直到官方修复新版本在Debug模式下和JDK 17、SDK 34的兼容性问题。检查并修复Android SDK平台完整性
错误日志里提到android-34/core-for-system-modules.jar处理失败,大概率是这个系统模块文件损坏了。你可以打开Android Studio的SDK Manager,先卸载Android 34的SDK平台,然后重新下载安装。之后记得清理缓存:- 运行
flutter clean清空Flutter项目缓存 - 进入项目的
android目录,运行./gradlew cleanBuildCache清理Gradle构建缓存
- 运行
指定Gradle使用的JDK版本
有时候Gradle会混用不同版本的JDK导致冲突,你可以手动指定它用你项目配置的Java 17:
在项目的android/gradle.properties文件里添加一行:org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home路径要对应你本地Android Studio自带的JBR(Java 17)路径,保存后重新尝试构建。
调整Gradle插件版本
错误日志里用的是Gradle 8.9,可能和google_sign_in: ^6.2.2的Android端配置不兼容。你可以尝试在android/build.gradle里修改Gradle插件版本为Flutter官方推荐的稳定版,比如:dependencies { classpath 'com.android.tools.build:gradle:8.7.0' // 其他依赖... }同时把
android/gradle/wrapper/gradle-wrapper.properties里的distributionUrl对应调整为Gradle 8.7的下载链接,然后重新同步项目。
备注:内容来源于stack exchange,提问作者Bharel

