首页 > 解决方案 > 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 吗?

标签: androidexoplayer2.xinflate-exception

解决方案


找到了解决方案,这不是任何开发错误,因为如果它是任何代码错误,那么它应该发生在多个设备上。

所以,我最后的手段是纠正到底发生了什么。由于应用程序的 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.
}

推荐阅读