c# - 我们的应用程序仅在从 Google Play 下载时才会崩溃。为什么?

标签 c# android unity-game-engine crash

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

我的应用上运行着 Google Play Games、Firebase 和 Admob,但我尝试从项目中删除所有插件,正如我所说,我尝试上传一个空的 Unity 项目,但它也崩溃了。 直接从 apk 文件安装的同一个应用程序运行良好。

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

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

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

编辑:由于我需要 64 位版本,所以我的基本构建是使用arm64v8和armV7架构完成的,并使用Android应用程序包发送到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

最佳答案

我也遇到过类似的问题,在 Android 9.0 上启动时崩溃,但只有从 Google Play 商店下载应用程序时才会崩溃。在我的案例中,崩溃是由在新版本上备份旧 IL2CPP 文件的统一错误引起的。我通过将以下行添加到我的 android list 文件中 <Application> 来修复此问题标签。

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

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

Unity 论坛对 SJWEESALS 的所有功劳对我帮助很大。

关于c# - 我们的应用程序仅在从 Google Play 下载时才会崩溃。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56693987/

相关文章:

unity-game-engine - Unity 2019 - 如何修复 TextMeshPro 2.0 错误 cs0433

c# - 如何创建可以显示不同类型对象的 C# WPF DataGrid?

android - 为什么我不能从 GraphRequest 中获取用户的名字?

c# - ASP .net 从 page_load 函数中的代码隐藏值

android - 如何设计从右到左的线性布局

android - 如何以编程方式选择自定义列表适配器中的所有复选框?

c# - 如何将数据库中的多个图像显示为统一

javascript - EntryPointNotFoundException 外部 JS 库错误

c# - Liskov 替换和合成

javascript - 使用某些参数滚动到 View