(编辑:它与 Firebase 无关,但与 Unity 和 Google Play 服务有关,请查看第一条评论)
由于我将我的应用程序升级到 Firebase 6.2.x,它在 Android 上启动时崩溃(在启动画面之前/期间)。
一些信息:
- 我认为这只发生在 64 位(不是 100% 确定,必须仔细检查)
- 这仅在新安装时发生。对于已安装该应用程序的所有用户,将应用程序更新到 Firebase 6.2 版本不会导致崩溃。但是,如果此人卸载并重新安装该应用程序,它就会崩溃。
- 但即使它在启动时崩溃,如果我用相同的版本(通过 USB)重新安装它,应用程序也会运行得很好(这对我来说没有意义)。当然,如果我卸载它并重新安装它会再次开始崩溃。
- 同样,如果应用程序无法运行,但我将其更新为新版本(没有其他更改,只是版本号),它也可以正常工作。这通过 USB 或在生产中 (Google Play) 发生,并且已得到该应用程序的多个用户的确认(每当更新时,该应用程序将重新开始工作)
- 我尝试创建一个虚拟测试项目来复制问题,但该新项目在 Firebase 6.2.x 上运行良好。我已将我能想到的所有内容(设置、库、AndroidManifest.xml 等)复制到这个新项目中,但它仍然可以正常运行。我比较了两个项目的构建日志,文件/依赖项/等几乎都相同,找不到任何可能导致实际项目出现问题的相关信息。
- 似乎在 Firebase 6.2 上他们添加了一些 Jetpack/Jetifier/etc 的东西,这可能与问题有关。我尝试在最新的 Android Resolver 上禁用 [X] Use Jetifier 以查看它是否有任何效果,但它会在构建过程中自动重新启用。
- 我使用最新的 Unity 2019.1(当前为 .12f)、IL2CPP、.NET 4.x、Minimum API 16 (4.1) 和 Target API 28 (9.0)。我使用随 Unity Android 模块一起安装的 NDK/SDK。此问题在 Asset Bundle 或常规 APK 中都会发生。
如果我将库恢复到 Firebase 6.0.0,它可以正常工作,不会崩溃。这将是我现在的解决方案,但我真的需要能够使用最新的 Firebase 版本运行我的应用程序,我不能坚持使用旧的 Firebase。
我得到的崩溃是这样的:
2019-07-31 12:01:01.837 …
Run Code Online (Sandbox Code Playgroud)