禁用 InjectMappingFiledId 任务

Disable InjectMappingFiledId Task

build.gradle:

buildTypes {
    getByName("debug") {
        manifestPlaceholders = mapOf("crashlyticsCollectionEnabled" to "false")
        ext["enableCrashlytics"] = false
        ...
    }
}

AndroidManifest:

<meta-data
    android:name="firebase_crashlytics_collection_enabled"
    android:value="${crashlyticsCollectionEnabled}" />

构建分析器仍然抱怨:

如果我添加这个:

gradle.projectsEvaluated {
   tasks.withType<com.google.firebase.crashlytics.buildtools.gradle.tasks.InjectMappingFileIdTask> {
        enabled = ext["enableCrashlytics"] as Boolean
    }
}

它有效,但它是正确的方法还是黑客?

看来您正在尝试使用 ext.enableCrashlytics 而不是 firebaseCrashlytics.mappingFileUploadEnabled = false ,这将防止资源文件每次都被重写。明天发布的新插件改进了该任务的最新检查。

扩展的相关文档属性:https://firebase.google.com/docs/crashlytics/get-deobfuscated-reports?platform=android