未使用Android App Bundle标记的Google Play崩溃日志

时间:2019-05-03 09:06:15

标签: android android-ndk google-play android-app-bundle android-vitals

我们最近更新了我们的应用程序,以使用Android应用程序捆绑包(aab),还包括arm64本机库。

这样做以来,我们的崩溃记录未正确表示“ Google Play控制台”->“ Android Vitals”->“ ANR和崩溃”中的本机代码(java调用栈表示正常)。

典型调用堆栈中的代码段如下所示:

  #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。但是,此post表示其他用户可能在使用AAB和Crashlytics时遇到了麻烦。

还有其他人遇到类似的困难吗?

有任何已知的解决方法吗?

有人更新过使用AAB的情况,并且在Google Play控制台中看不到崩溃报告符号的任何问题吗?

1 个答案:

答案 0 :(得分:2)

这似乎与本机库在APK中保持未压缩的事实有关。

通过在gradle.properties中添加以下选项,可以将其禁用:

android.bundle.enableUncompressedNativeLibs=false

您需要发布使用此选项构建的新App Bundle。