Отчеты Android Crashlytics обфусцированы с помощью настройки отображения Proguard и Proguard - PullRequest
0 голосов
/ 01 октября 2019

Мои журналы Firebase Crashlytics частично обфусцированы (только имена методов) для некоторых сбоев при использовании Proguard, даже если отображение настроено правильно.

Отображение Proguard работало примерно до 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)

Если я найду файл сопоставления, я смогу увидеть сопоставление с обфусцированными именами.

Я думаю, что проблема возникает после сборки приложения, так как я вижу файл сопоставления. Но я не уверен, где искать дальше из-за отсутствия журналов Gradle для Firebase Crashlytics.

Наконец, я попытался вручную запустить задачу Gradle для загрузки подписанного APK, crashlyticsUploadDistributionMainAppRelease. Не удалось найти подписанный APK: Crashlytics halted compilation because it can't distribute the unsigned APK path/to/release/app-mainApp-release.apk, хотя подписанный APK был там.

1 Ответ

0 голосов
/ 01 октября 2019

Ткань Crashlytics была причиной проблемы отображения Proguard. Я был на версии 1.29.0, а на версии 1.30.0, они решили мою проблему: Fixed an issue preventing mapping files from being uploaded for Proguard builds with Android Gradle Plugin 3.5.. Теперь можно просмотреть несобранное отображение в Firebase Crashlytics после обновления до версии 1.31.1.

...