问题描述
当我尝试在 Kotlin Multiplatform Mobile (KMM) 项目的共享模块中使用以下块添加 Firebase-bom 依赖项时,platform
一词出现在红色错误文本中,并且 Gradle 构建失败并显示“未解析的引用: 平台。”我该如何解决这个问题才能正确构建?
val androidMain by getting {
dependencies {
implementation(platform("com.google.firebase:firebase-bom:28.0.1"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
}
解决方法
答案在于KT-40489。
用于导入 Firebase 材料清单的 platform()
函数在 Kotlin Multiplatform 插件的 KotlinDependencyHandler
中不可用,但仅在 Gradle 的标准 DependencyHandler
中可用。似乎也不会很快修复。因此,您需要明确指定 Gradle 的处理程序。
这里有两种解决方法:
val androidMain by getting {
dependencies {
implementation(project.dependencies.platform("..."))
}
}
或
val androidMain by getting {
dependencies {
"jvmMainImplementation"(platform("...))
}
}