KMP集成Firebase时Xcode构建失败:Java版本冲突问题
问题描述
正在为Kotlin Multiplatform项目配置Firebase,使用Xcode构建时失败。报错信息:
配置根项目'remoti'时出错,无法解析依赖com.google.firebase:firebase-crashlytics-gradle:3.0.2,该依赖要求至少JVM 17版本,但当前构建使用Java 11。
已通过sdkman安装Java 17,本地终端执行java -version输出:openjdk version "17.0.5" 2022-10-18 OpenJDK Runtime Environment Temurin-17.0.5+8 (build 17.0.5+8) OpenJDK 64-Bit Server VM Temurin-17.0.5+8 (build 17.0.5+8, mixed mode)
解决步骤
强制Gradle指定Java 17路径
在项目根目录的gradle.properties文件中添加配置:org.gradle.java.home=~/.sdkman/candidates/java/17.0.5-tem路径替换为你通过sdkman安装的Java 17实际目录。
配置项目编译Java版本
在根项目的build.gradle.kts(或.gradle)文件中添加以下设置:java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } tasks.withType<JavaCompile> { options.compilerArgs.addAll(listOf("--release", "17")) }让Xcode使用正确的JAVA_HOME
- 终端执行
echo $JAVA_HOME获取当前生效的Java 17路径 - 打开Xcode,进入
Xcode > Settings > Locations > Custom Paths - 添加新路径,名称设为
JAVA_HOME,路径填入终端输出的结果 - 重启Xcode后重新构建
- 终端执行
验证Gradle使用的Java版本
在项目根目录执行命令:./gradlew --version查看输出中
JVM:字段,确认是否为Java 17版本。
内容的提问来源于stack exchange,提问作者noloman
相关产品推荐
相关产品推荐

