firebase-crashlytics-gradle 插件失败,异常“googleServicesResourceRoot”没有配置值

And*_*cut 5 android gradle firebase android-gradle-plugin crashlytics-android

将 crashlytics 插件“com.google.firebase.crashlytics”应用到我的项目后,我的构建失败并出现异常:

// build.gradle.kts
buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath("com.google.firebase:firebase-crashlytics-gradle:2.7.1")
    }
}

apply(plugin = "com.google.firebase.crashlytics")
Run Code Online (Sandbox Code Playgroud)
// build.gradle.kts
buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath("com.google.firebase:firebase-crashlytics-gradle:2.7.1")
    }
}

apply(plugin = "com.google.firebase.crashlytics")
Run Code Online (Sandbox Code Playgroud)

如何在不使用 google-play-services 插件的情况下避免此 gradle 异常,并且仍然将成功的混淆映射上传到 firebase crashlytics?

firebase-crashlytics-gradle 插件期望什么googleServicesResourceRoot?构建风味资源根?google-services.json文件所在的目录?(我不使用)?

我发现Type 'UploadMappingFileTask' property 'googleServicesResourceRoot' 没有配置值,具有相同的根本原因和可接受的解决方案,即在 crashlytics 插件之前应用 google-play-services 插件。

但是,我们没有使用 google-play-services 插件,并且将来也不打算这样做。

bob*_*une 3

我们也没有使用谷歌服务插件,并且一开始就收到此错误。为了解决这个问题,我们这样做了:

对于我们想要连接到 Firebase 和 Crashlytics 的每种风格,我们在资源文件文件夹(例如)中都有一个名为values.xml包含所需 Firebase 属性(project_id、google_app_id、等)的 xml 资源文件。google_crash_reporting_api_keyvaluesapp/src/prodRelease/res/values/values.xml

在应用程序级别build.gradle.kts我们有:

project.afterEvaluate {
    tasks.withType<UploadMappingFileTask> {
        val myDirProp = project.objects.directoryProperty().fileValue(file("src/prodRelease/res"))
        googleServicesResourceRoot.value(myDirProp)
    }
}
Run Code Online (Sandbox Code Playgroud)

这将设置googleServicesResourceRoot并成功将映射文件上传到 Crashlytics。