You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在纯Kotlin模块中集成Firebase Crashlytics?

多模块Android项目中纯Kotlin模块集成Firebase Crashlytics问题

我有一个多模块Android项目,包含app、core、auth、coreAndroid及多个功能模块。我尝试在纯Kotlin的core模块中添加Firebase Crashlytics,实现如下日志函数:

fun cLog(msg: String?){
     FirebaseCrashlytics.getInstance().log(msg)
}

供所有纯Kotlin模块(如网络模块)调用以记录错误信息。

按照官方文档操作后,仅能在Android模块中获取FirebaseCrashlytics实例。google-services.json文件位于app模块,我已尝试多种解决方案3天,但均无效。

我的gradle文件结构:有android-library-build.gradle和library-build.gradle分别作为Android模块和纯Kotlin模块的公共配置文件,各模块gradle内容如下:

app模块 build.gradle.kts

plugins {
    id("com.android.application")
    kotlin("android")
    kotlin("plugin.serialization") version Kotlin.version //"1.6.10"
    kotlin("kapt")
    id ("com.google.firebase.crashlytics")
    id ("com.google.gms.google-services")
}

...

dependencies {
...

    implementation (platform("com.google.firebase:firebase-bom:31.2.0"))
    implementation ("com.google.firebase:firebase-analytics-ktx")
    implementation ("com.google.firebase:firebase-crashlytics-ktx")
}

项目根目录 build.gradle.kts

buildscript {
    val kotlin_version by extra("1.8.0")
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }

    dependencies {
        ...

        // Dependency for the Google services Gradle plugin
        classpath("com.google.gms:google-services:4.3.15")

        // Dependency for the Crashlytics Gradle plugin
        classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.4")

    }
}

android-library-build.gradle

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'
apply plugin: 'androidx.navigation.safeargs.kotlin'

...

dependencies {
...

    implementation (platform("com.google.firebase:firebase-bom:31.2.0"))
    implementation ("com.google.firebase:firebase-analytics-ktx")
    implementation ("com.google.firebase:firebase-crashlytics-ktx")
}

library-build.gradle

apply plugin: 'java-library'
apply plugin: 'org.jetbrains.kotlin.jvm'


dependencies{

...
    implementation (platform("com.google.firebase:firebase-bom:31.2.0"))
    implementation ("com.google.firebase:firebase-analytics-ktx")
    implementation ("com.google.firebase:firebase-crashlytics-ktx")
}

apply {
    plugin("com.google.firebase.crashlytics")
    plugin("com.google.gms.google-services")
}

core模块 build.gradle.kts

apply {
    from("$rootDir/library-build.gradle")
}

plugins {
    kotlin(KotlinPlugins.serialization) version Kotlin.version
}



dependencies {
    ...
}

我已尝试的解决方案:

  • 直接在core的build.gradle.kts中添加依赖和插件(包括使用platform依赖和单独依赖),未成功
  • 将google-services.json文件复制到core模块
  • 手动复制app/build/generated/res/google-services/debug/main/values/values.xml中生成的字符串到app模块的strings.xml,删除json文件及相关插件,仍无效

内容的提问来源于stack exchange,提问作者Theseus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 13:05:17