Android Crashlytics未上载映射文件

Android Crashlytics未上载映射文件,android,crashlytics,crashlytics-android,Android,Crashlytics,Crashlytics Android,我可以在Crashlytics中看到发布版本的崩溃,但它们仍然很模糊。我正在使用: 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" 及(项目层面) 我已经按照中的说明进行了

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

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"
及(项目层面)

我已经按照中的说明进行了操作,特别是从
config.txt
中删除了
-printmapping/mapping.txt

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

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

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
}
及(项目层面)

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

2018-11-21 10:52:22.573 [DEBUG] (Daemon worker) com.crashlytics  - Deobfuscation file(s) uploaded.
你知道怎么了吗?我在Crashlytics日志中没有看到最近(未工作)版本的任何映射文件相关日志,也没有看到gradle输出中运行的gradle上载任务,而对于较旧(工作)版本,我看到以下内容:

:app:crashlyticsUploadDeobsRelease (Thread[Daemon worker Thread 2,5,main]) completed. Took 1.28 secs.
你读过这里吗

我正在使用我的
proguard rules.pro
文件(在你的应用程序文件夹中)中的那些行来获取消除模糊的崩溃报告

-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
# prevent Crashlytics obfuscation
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
并确保在proguard文件中没有这一行

-printmapping mapping.txt

啊。有个简单的解决办法,可惜我花了这么长时间才找到。我一直(直到现在)使用
/gradlew iR
(用于
/gradlew installRelease
的快捷方式)构建并本地安装发布版本。我试着(在尴尬地等待了很长一段时间后)从Android Studio构建(生成签名包/Apk)。我一做那件事就成功了

如果我发现基于非AS的发布可以使用Crashlytics,我会在这里更新。同时,如果您有问题,请查看样本。
您可以这样做,输入您自己的google-services.json并如上所述发布,然后检查
crashlytics.log
(见上文)。

确保您的网络上没有任何东西阻止crashlytics的主机。比如皮孔

谢谢,是的,我在
proguard rules.pro
中有这些行,但我没有(实际上从未有过)
-printmapping.txt
。我确实有一个挥之不去的
config.txt
文件(来自早期的vn?),我删除了它,但没有任何效果。现在我已经删除了
config.txt
。我很想知道其他人是否在crashlytics日志中看到上传的
deobfousation文件。
。你在哪里初始化crashlytics?在自定义
应用程序
类中?是的(但现在不需要)。Crashlytics的工作原理是发送堆栈跟踪。问题是堆栈跟踪被混淆了。如果您在crashlytics日志中搜索
上传的
,您应该会看到上传日志。这对我来说是不可能的。有道理?在Linux/Windows上:~/.crashlytics/com.crashlytics.tools/crashlytics.log在Mac上:~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log更新:我现在从crashlytics切换到Sentry进行崩溃报告。它有更多的特性、更好的报告接口,并且与Crashlytics不同,您可以从纯Java库依赖项记录/报告
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
# prevent Crashlytics obfuscation
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
-printmapping mapping.txt