Android Studio中Flutter项目添加google_sign_in后构建失败
解决方案:解决google_sign_in_Android编译时的Jlink错误
问题根源
核心矛盾是Gradle 8.3要求Java 11或更高版本,但当前使用的是Java 8,而google_sign_in:6.2.1的Android端模块依赖Gradle的JDK镜像工具(jlink)构建,Java 8不支持该工具的相关特性,因此触发了jar包转换失败的错误。
修复步骤
方案1:升级Java版本到17(推荐)
Gradle 8.x系列官方推荐使用Java 17(长期支持版本),能从根源避免多数兼容性问题:
- 下载并安装Java 17的OpenJDK发行版
- 在Android Studio中进入
File > Project Structure > SDK Location,将JDK location设置为Java 17的安装路径 - 或者在项目根目录的
gradle.properties文件中添加:org.gradle.java.home=/path/to/your/java17 - 同步项目后重新运行
方案2:降级Gradle版本适配Java 8
如果暂时无法升级Java,可将Gradle版本降到7.x系列(支持Java 8):
- 修改
gradle/wrapper/gradle-wrapper.properties中的distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip - 修改项目根目录
build.gradle中的Android Gradle插件版本(Gradle 7.5对应插件版本7.4.2):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他classpath依赖... } - 同步项目,执行
File > Invalidate Caches...清理构建缓存后重新运行
额外检查
当前使用的firebase_core:3.6.0、firebase_auth:5.3.1和google_sign_in:6.2.1版本相互兼容,完成上述任一方案后即可正常编译运行。
内容的提问来源于stack exchange,提问作者Preetthee Hasan
相关产品推荐
相关产品推荐

