如何解决Firebase crashlytics映射文件上传不起作用
我已经在我的项目中添加了Firebase crashlytics lib和crashlytics gradle插件
classpath("com.google.firebase:firebase-crashlytics-gradle:2.3.0")
...
plugins {
...
id("com.google.firebase.crashlytics")
...
}
...
implementation("com.google.firebase:firebase-crashlytics:17.2.1")
implementation("com.google.firebase:firebase-analytics:17.5.0")
我为发布版本类型明确设置了mappingFileUploadEnabled
,
getByName("release").apply {
firebaseCrashlytics.mappingFileUploadEnabled = true
}
但是很遗憾,映射文件没有上传。我在firebase crashlytics控制台中对其进行了验证-我的测试使stacktrace指向Unknown Source:55
崩溃。
这是我在gradle日志中找到的内容:
[DEBUG] [com.google.firebase.crashlytics]映射文件上传已启用:false; id:00000000000000000000000000000000000000
因此,看来我的mappingFileUploadEnabled
标志无效。
我需要做其他事情来使映射文件上载吗?
我也没有在项目中看到firebaseUpload*ReleaseProguardMapping
个任务。不确定是否应该创建它。
更新
我试图从头开始创建一个空的android项目,并在其中添加firebase-crashlytics
。似乎可以正常工作,我可以看到为所有构建类型创建的uploadCrashlyticsMappingFile
任务。因此,目前看来firebase-crashlytics
gradle插件在我的项目中无法正常工作,并且未创建应创建的任务。有谁知道为什么?
解决方法
今天,我了解到,如果您声明性地应用firebase-crashlytics
gradle插件,则使用plugins {}
块不会创建映射文件上传任务。为了使其正常工作,我必须使用旧版apply(..)
函数强制性地应用插件。这就是我现在在项目中所拥有的:
apply(plugin = "com.google.firebase.crashlytics")
plugins {
//other plugins
}
进行此更改后,映射文件上传正常。
更新
我发现,如果将crashlytics
插件移到plugins
部分的底部,则效果相同。
现在看起来像:
plugins {
//all other plugins
id("com.google.firebase.crashlytics")
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。