We have recently updated our apps to use Android App Bundles (aab) and to also include arm64 native libs.
Since doing so, our crash logs in native code in the 'Google Play Console'->'Android Vitals'->'ANRs & Crashes' are not symbolicating correctly (java callstacks symbolicate fine).
A snippet from a typical callstack looks like this:
#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
The issue affects crashes from both armv7 and arm64. Occasionally a bug will have a properly symbolicated callstack, approximately 10% are symbolicated properly now. Prior to the use of AAB and arm64, we were seeing almost all callstacks symbolicated correctly.
To work around this, we investigated using Crashlytics, but had trouble getting a properly symbolicated callstack that way also. As we haven't used Crashlytics before it is difficult for us to know whether it suffers from the same issue or whether we simply setup Crashlytics incorrectly. However, this post indicates that other users may be having trouble with AABs and Crashlytics.
Is anyone else experiencing similar difficulties?
Are there any known workarounds?
Has anyone updated to use AABs and is not seeing any problem with crash report symbolication in the Google Play console?
Reading with logcat Once you are able have the steps to reproduce the crash, you can use a tool like logcat to get more information. The logcat output will show you what other log messages you have printed, along with others from the system.
Edit: The NDK 21 RC1 should fix this issue.
This seems related to the fact that native libraries are kept uncompressed in the APK.
By adding the following option in your gradle.properties
, you can disable it:
android.bundle.enableUncompressedNativeLibs=false
You'll need to release a new App Bundle built with this option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With