首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Crashlytics未上载映射文件

Crashlytics未上载映射文件
EN

Stack Overflow用户
提问于 2018-11-22 05:34:03
回答 3查看 9.2K关注 0票数 3

我可以在Crashlytics中看到一个发布版本的崩溃,但它们仍然是模糊的。我使用的是:

代码语言:javascript
复制
implementation "com.google.firebase:firebase-core:16.0.5"
implementation "com.google.android.gms:play-services-base:16.0.1"
implementation "com.crashlytics.sdk.android:crashlytics:2.9.6"

和(项目级)

代码语言:javascript
复制
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath 'com.google.gms:google-services:4.2.0'
    classpath 'io.fabric.tools:gradle:1.26.1' // Crashlytics plugin
    classpath "net.ltgt.gradle:gradle-apt-plugin:0.15"

我遵循了https://firebase.google.com/docs/crashlytics/get-deobfuscated-report上的说明,特别是从config.txt中删除了-printmapping <path>/mapping.txt

当我查看Crashlytics日志时,我没有看到上载映射文件。

当我使用以下命令为项目的早期版本运行发布版本时:

代码语言:javascript
复制
implementation "com.google.firebase:firebase-core:11.8.0"
implementation "com.google.android.gms:play-services-base:11.8.0"
implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
    transitive = true
}

和(项目级)

代码语言:javascript
复制
    classpath 'com.android.tools.build:gradle:3.1.3'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'io.fabric.tools:gradle:1.24.4'

然后,我在crashlytics.log中看到了未模糊的堆栈跟踪和映射上传消息:

代码语言:javascript
复制
2018-11-21 10:52:22.573 [DEBUG] (Daemon worker) com.crashlytics  - Deobfuscation file(s) uploaded.

知道出什么事了吗?我在Crashlytics日志中看不到任何与最新(未工作的)版本相关的映射文件日志,我也没有看到gradle输出中运行的gradle上传任务,而对于较早的(工作的)版本,我看到以下内容:

代码语言:javascript
复制
:app:crashlyticsUploadDeobsRelease (Thread[Daemon worker Thread 2,5,main]) completed. Took 1.28 secs.
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-27 18:47:22

啊。有一个简单的解决方法,可惜我花了这么长时间才找到它。我一直(直到现在)使用./gradlew iR (./gradlew installRelease的快捷方式)构建和本地安装一个发布版本。我尝试了(在经历了令人尴尬的长时间之后)从Android Studio构建(Build > Generate Signed Bundle / Apk)。一旦我这么做了,它就起作用了。

如果我发现基于非AS的版本可以与Crashlytics一起工作,我会在这里更新。同时,如果您有问题,请查看示例https://github.com/firebase/quickstart-android/tree/master/crash。您可以使用它,插入您自己的google-services.json并像上面一样发布,然后检查crashlytics.log (见上)。

票数 2
EN

Stack Overflow用户

发布于 2018-11-22 05:49:15

你读过这里:https://docs.fabric.io/android/crashlytics/dex-and-proguard.html吗?

我正在使用我的proguard-rules.pro文件(在您的应用程序文件夹中)中的这些行来获取去模糊的崩溃报告

代码语言:javascript
复制
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
# prevent Crashlytics obfuscation
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

并且一定要在proguard文件中使用,而不是

代码语言:javascript
复制
-printmapping mapping.txt
票数 0
EN

Stack Overflow用户

发布于 2020-02-24 19:25:44

确保您的网络上没有任何东西阻塞Crashlytics的主机。例如PiHole。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53420776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档