Журналы сбоев в Google Play не обозначены в Android App Bundle - PullRequest
2 голосов
/ 03 мая 2019

Мы недавно обновили наши приложения для использования комплектов приложений Android (aab), а также для включения собственных библиотек arm64.

С тех пор наши аварийные журналы в нативном коде в «консоли Google Play» -> «Android Vitals» -> «ANRs & Crashes» неправильно обозначаются (java callstacks - символ штрафа).

Фрагмент из обычного стека вызовов выглядит следующим образом:

  #21  pc 000000000015addc  /data/app/com.mycompany.mygame-2/split_config.arm64_v8a.apk
  #22  pc 0000000000293768  /data/app/com.mycompany.mygame-2/split_config.arm64_v8a.apk
  #23  pc 0000000000294cf0  /data/app/com.mycompany.mygame-2/split_config.arm64_v8a.apk

Эта проблема влияет на сбои как armv7, так и arm64. Иногда у ошибки будет правильно обозначенный стек вызовов, примерно 10% теперь правильно обозначены. До использования AAB и arm64 мы видели, что почти все стеки вызовов правильно обозначены.

Чтобы обойти это, мы исследовали использование Crashlytics, но у нас были проблемы с получением правильно обозначенного стека вызовов таким же образом. Поскольку мы не использовали Crashlytics прежде, нам трудно узнать, страдает ли это от той же самой проблемы или мы просто неправильно настроили Crashlytics. Тем не менее, этот пост указывает, что другие пользователи могут иметь проблемы с AAB и Crashlytics.

Кто-нибудь еще испытывает подобные трудности?

Есть ли какие-нибудь известные обходные пути?

Кто-нибудь обновлялся для использования AAB и не видит проблем с обозначением отчета о сбое в консоли Google Play?

1 Ответ

5 голосов
/ 03 мая 2019

Похоже, это связано с тем, что нативные библиотеки хранятся без сжатия в APK.

Добавив следующую опцию в gradle.properties, вы можете отключить ее:

android.bundle.enableUncompressedNativeLibs=false

Вам нужно будет выпустить новый комплект приложений, созданный с этой опцией.

...