Почему я получаю сообщение «Неразрешенная ссылка: платформа» при использовании зависимости firebase-bom с KMM
Когда я пытаюсь добавить зависимость Firebase-bom, используя следующий блок в общем модуле проекта Kotlin Multiplatform Mobile (KMM), слово
platform
отображается в красном тексте ошибки, и сборка Gradle завершается ошибкой с сообщением «Неразрешенная ссылка: платформа». Как я могу решить эту проблему, чтобы она строилась правильно?
val androidMain by getting {
dependencies {
implementation(platform("com.google.firebase:firebase-bom:28.0.1"))
implementation("com.google.firebase:firebase-analytics-ktx")
}
}
1 ответ
Ответ кроется в КТ-40489.
В
platform()
функция, используемая для импорта спецификации Firebase, недоступна в многоплатформенном плагине Kotlin.
KotlinDependencyHandler
но только в стандарте Gradle
DependencyHandler
. Также не похоже, что исправление скоро появится. В результате вам нужно явно указать обработчик Gradle.
Вот два обходных пути:
val androidMain by getting {
dependencies {
implementation(project.dependencies.platform("..."))
}
}
ИЛИ ЖЕ
val androidMain by getting {
dependencies {
"jvmMainImplementation"(platform("...))
}
}