Samsung / Android 8.0 Oreo 更新导致应用程序崩溃? (Xamarin.Forms 应用程序)
Posted
技术标签:
【中文标题】Samsung / Android 8.0 Oreo 更新导致应用程序崩溃? (Xamarin.Forms 应用程序)【英文标题】:Samsung / Android 8.0 Oreo update causing app(s) to crash? (Xamarin.Forms app) 【发布时间】:2019-02-19 22:42:05 【问题描述】:有没有其他人经历过三星/android 8.0 Oreo 更新导致大量应用崩溃的情况?
我们发现运行 Android 8.0 Oreo 的三星设备的崩溃数量激增,在谷歌上搜索后,这似乎是一个常见问题(搜索:Samsung Oreo app crash)
要解决此问题,用户必须重新启动设备、执行软重置或清除应用的缓存数据。
有没有办法防止这些崩溃?我考虑过以务实的方式尝试清除缓存,看看是否有帮助。
仅供参考 - 我在 Xamarin.Forms 上发布了同样的问题:Xamarin.Forms Link
欢迎任何想法或解决方案! ????
【问题讨论】:
缓存数据 100% 是您应用的数据,因此您应该知道其中的内容是否会导致问题(即包含不再有效的序列化对象的文件等...) 我认为你没有抓住重点。 Oreo 更新影响了许多应用程序(Instagram、FB、Snap Chat 等),并且仅针对三星。我们在 Android 7.0、7.1 或 8.1 上看不到此问题,它特定于更新到 Oreo 8.0 的用户。有数十篇关于如何修复崩溃的应用程序(针对用户)的文章,告诉他们重新启动设备、重新安装应用程序和清除应用程序缓存。我与一些用户交谈过,他们说清除缓存可以解决问题,因此我认为解决方案是在应用退出/启动或更新时务实地清除缓存? 我明白这一点,我之前处理过许多 OEM/设备特定问题(不同的 OEM 版本和 ASOP 之间可能存在很多差异,三星是一个对ASOP 源),例如,如果您有序列化数据,您正在缓存它,并且 OEM 更新更改了一些使您的序列化数据无效的内容,您的应用程序现在可能在该设备上崩溃......报告的 sigsegv 崩溃的线程堆栈是什么logcat
?你是否象征了这次崩溃?
谢谢寿司。不幸的是,我们无法使用我们自己的设备重新创建崩溃,并且只有 Android Google Play 控制台中的崩溃日志,其中几乎没有数据。大多数崩溃是信号 11 (SIGSEGV)、代码 2 (SEGV_ACCERR) 或代码 1 (SEGV_ACCERR)。
只有运行 Android Oreo 8.0 的三星 Galaxy S8 (dreamlte)、Galaxy S8+ (dream2lte)、Galaxy Note8 (greatlte) 才会报告崩溃。所有其他 Android 操作系统版本均不受影响,也未报告其他设备。
【参考方案1】:
您使用的是 firebase 库吗?您是否尝试更新到最新版本?我做到了,我修好了。
【讨论】:
【参考方案2】:如果有人在欧洲三星 Oreo 设备上仍然遇到类似问题(启动期间的 SIGSEV): 在大多数情况下,导致崩溃的方法与文件/内存相关,但“这不是他们的错”。 如果您不针对设备的主要 ABI,则三星 Oreo 更新的启动稳定性存在问题。对于 Xamarin,在 Visual Studio -> 项目属性 -> android 选项 -> 高级 -> 支持的架构中,并确保检查 arm64-v8a(S8 的主要 ABI,注意发生错误的地方。)。 应该可以解决的。
【讨论】:
以上是关于Samsung / Android 8.0 Oreo 更新导致应用程序崩溃? (Xamarin.Forms 应用程序)的主要内容,如果未能解决你的问题,请参考以下文章
BroadcastReceiver,用于在基于 Samsung-Android 的智能手机上接收短信
输入表单字段上的页面刷新触摸事件 - Android,Samsung
Context.startForegroundService() 仅在 Android 11 Samsung 设备上没有调用 Service.startForeground()
Samsung Galaxy Camera Android API - 自定义相机应用程序