【问题标题】:Our app crashes only when downloaded from Google Play. Why?我们的应用程序只有在从 Google Play 下载时才会崩溃。为什么?
【发布时间】:2019-06-20 21:17:42
【问题描述】:

我在 (unity) 应用启动期间遇到了崩溃,该崩溃仅在从 Play 商店下载应用时出现。我进行了大量测试,即使使用一个空的 Unity 项目,我也观察到了这个崩溃。

我在应用程序上运行了 Google Play 游戏、Firebase 和 Admob,但我尝试从项目中删除所有插件,正如我所说,我尝试上传一个空的统一项目,它也崩溃了。 直接从 apk 文件安装的同一个应用可以正常工作。

如果我在安装后清除应用程序的存储空间,崩溃就会消失。

崩溃发生在 Android 9 上,但不在 Android 5.1 上。 如果我在 google play 控制台上使用不同的项目加载相同的应用程序,则不会发生崩溃(尝试使用与第一个 playStore 项目和相同构建参数崩溃的空应用程序)。

仅当我使用 il2CPP 编译时才会出现此崩溃...不幸的是,我需要它具有 64 位版本。

编辑:由于我需要 64 位版本,我的基本构建是使用 arm64v8 和 armV7 架构完成的,并使用 Android App Bundle 发送到 PlayStore,但我只尝试使用 apk 和 armV7,同样的崩溃...

所有这些都在 PlayStore 项目中使用封闭 alpha 进行测试

这是日志:

2019-06-20 23:13:32.840 15157-15203/? E/CRASH: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000073a1529a10
2019-06-20 23:13:32.840 15157-15203/? E/CRASH: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-06-20 23:13:32.840 15157-15203/? E/CRASH: Build type 'Release', Scripting Backend 'il2cpp', CPU 'arm64-v8a'
2019-06-20 23:13:32.840 15157-15203/? E/CRASH: Build fingerprint: 'xiaomi/whyred/whyred:9/PKQ1.180904.001/V10.3.1.0.PEIMIXM:user/release-keys'
2019-06-20 23:13:32.840 15157-15203/? E/CRASH: Revision: '0'
2019-06-20 23:13:32.840 15157-15203/? E/CRASH: pid: 15157, tid: 15203, name: UnityMain  >>> com.company.app <<<
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x0   0000007170796768  x1   000000716eee2d38  x2   0000007170800000  x3   0000007170796400
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x4   00000071709b7000  x5   0000007170796480  x6   000000716eee2de8  x7   000000716eee2d58
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x8   00000000464c457f  x9   000000716ef06e18  x10  00000000001aaaf8  x11  0000000000001fff
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x12  000000000000001d  x13  000000716eb0a2b0  x14  aaaaaaaaaaaaaaab  x15  aaaaaaaaaaaaaaab
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x16  000000720eae31d8  x17  000000720e9f1f70  x18  0000000000000000  x19  00000071729a1da0
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x20  000000716db8fd84  x21  000000716f0ab000  x22  000000716eeda918  x23  000000716f0ab000
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x24  000000716f0ab000  x25  000000716f0ab000  x26  00000000000000f3  x27  000000716db8fd80
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     x28  000000000000045f  x29  00000071729a1e20  x30  000000716e021fec
2019-06-20 23:13:32.840 15157-15203/? E/CRASH:     sp   00000071729a1d90  pc   000000716e021fd8  pstate 0000000000000000

【问题讨论】:

  • 缺少一些 arm64-v8a 原生库?确保您使用的所有本机库都具有此架构的二进制文件。或者尝试在build.gradle 中使用abiFilters 排除此架构,看看是否仅此架构有问题。
  • 我忘了提到我也尝试过使用单个 armV7 构建(与 Mono 相同的架构),得到了同样的崩溃......

标签: c# android unity3d crash


【解决方案1】:

我遇到过类似的问题,在 android 9.0 上启动时崩溃,但只有在从 google play store 下载应用程序时才会崩溃。在我的案例中,崩溃是由在新版本上备份旧 IL2CPP 文件的统一错误引起的。我通过在&lt;Application&gt; 标签内的我的android清单文件中添加以下行来解决此问题。

android:allowBackup="false" android:fullBackupContent="false" tools:replace="android:allowBackup

报告的错误,更多信息和我上面提到的修复可以看到here

团结论坛对 SJWEESALS 的所有功劳都对我帮助很大。

【讨论】:

  • 糟糕,我找到了相同的答案,但我完全忘记了我在这里发布了问题。非常感谢,我希望这对其他开发者有用,我花了很多时间在统一论坛上找到这篇文章和答案。
  • 为我解决了原生 Android 应用的类似问题,谢谢!令人惊讶的是,它只发生在一台设备上......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多