[Android的Crashlytics报告被Proguard和Proguard映射设置所混淆

问题描述 投票:0回答:1

我的Firebase Crashlytics日志在使用Proguard时由于某些崩溃而被部分混淆(仅方法名称),即使映射似乎已正确设置。

Proguard映射一直工作到9月12日前后,这是Gradle(通过Jenkins)最后一次登录Uploading deobfuscation file和相关日志到~/Library/Caches/com.crashlytics/com.crashlytics.tools/crashlytics.log。现在,Gradle不再记录与Proguard模糊文件相关的任何日志或错误。另外,我检查了截止日期的git提交,以确保没有任何相关的更改。

这是我的实现。我已从文档中添加/排除了Proguard规则。

补充:

-keep public class * extends java.lang.Exception
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable

排除:-printmapping mapping.txt

以下是方法名称未混淆的示例:

com.app.android.coursetaking.nonvideo.ebook.EbookDataManager.a (SourceFile:18)
com.app.android.coursetaking.nonvideo.ebook.EbookViewModel.a (SourceFile:53)
com.app.android.viewmodel.RxViewModel.a (SourceFile:110)
com.app.android.viewmodel.RxViewModel.O (SourceFile:102)
com.app.android.coursetaking.nonvideo.ebook.AbstractEbookFragment.onViewCreated (SourceFile:98)
androidx.fragment.app.FragmentManagerImpl.a (SourceFile:1471)
androidx.appcompat.app.AppCompatActivity.onStart (SourceFile:178)
com.app.android.activity.BaseActivity.onStart (SourceFile:212)
com.app.android.core.activity.UserBoundActivity.onStart (SourceFile:63)
android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1391)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)

如果我查找映射文件,则可以看到到混淆名称的映射。

我认为问题是在构建应用后发生的,因为我可以看到映射文件。但是由于缺少Firebase Crashlytics的Gradle日志,我不确定下一步该怎么办。

[最后,我尝试手动运行Gradle任务以上传已签名的APK,crashlyticsUploadDistributionMainAppRelease。无法找到已签名的APK:Crashlytics halted compilation because it can't distribute the unsigned APK path/to/release/app-mainApp-release.apk,即使已存在已签名的APK。

android proguard crashlytics crashlytics-android
1个回答
0
投票

Fabric Crashlytics是Proguard映射问题的原因。我使用的是版本1.29.0和版本1.30.0they solved my problem: Fixed an issue preventing mapping files from being uploaded for Proguard builds with Android Gradle Plugin 3.5.。升级到版本1.31.1后,现在可以在Firebase Crashlytics上查看未混淆的映射。

© www.soinside.com 2019 - 2024. All rights reserved.