android - Exoplayer2 在许多 Vivo 设备上引发错误膨胀类 com.google.android.exoplayer2.ui.PlayerView
问题描述
我的 exoplayer2 在三星、摩托罗拉、小米、索尼等设备上的发布和调试版本都运行良好。
但是当我在 Play Store 上发布我的应用程序时,它会在诸如 nexus 4(Android 版本 6.0.1)和一些 Vivo Y53、Y71 和 V5 等具有 android 版本 6.0.1、7 和 8 的 Vivo 模型上引发错误。
Crashlytics 显示此错误:由 android.view.InflateException 引起:二进制 XML 文件第 153 行:膨胀类 com.google.android.exoplayer2.ui.PlayerView 时出错
我的代码已经包含Error inflating class com.google.android.exoplayer2.ui.SimpleExoPlayerView中提到的属性,但在少数设备中仍然存在问题。
可能是因为 Vivo 和 Nexus 设备中的自定义 ROM 吗?
解决方案
找到了解决方案,这不是任何开发错误,因为如果它是任何代码错误,那么它应该发生在多个设备上。
所以,我最后的手段是纠正到底发生了什么。由于应用程序的 apk 是作为包上传的,那么如果用户在通过 ShareIt 或 Whatsapp 共享包 apk(旁加载)后安装应用程序,它就会崩溃,因为它是应用程序包的属性,我们无法共享从中生成的 APK捆。
因此,为了检查用户是否通过侧载安装应用程序,我们可以添加谷歌的播放核心库,让他们知道“应用程序缺少组件。请从 playstore 安装”。
摇篮:
implementation 'com.google.android.play:core:1.6.3'
onCreate() 中的应用程序类:
if (MissingSplitsManagerFactory.create(this)
.disableAppIfMissingRequiredSplits()) {
return;
// Skip app initialization.
}
推荐阅读
- python - Python 请求 Microsoft Graph API 身份验证
- html - 更改 Weebly 灯箱的背景颜色
- vb.net - Visual Studio - 如何在 vb.net 代码中查找字符串等于评估
- javascript - How to handle live data as sequential promises
- c# - ASP.NET Core 2.0 Web Api Error
- javascript - JS: weird object comparison behavior
- php - Phalcon 登录失败 (getDI)
- javascript - How to attach multiple data to a jquery object using .data() in a plugin
- python - Apply GDB FrameDecorator when stepping
- algorithm - EC scalar multiplication with Strauss-Shamir method