如何同步 Android 中的 ExoPlayer 库?

How to sync ExoPlayer library in Android?

我的应用在同步 ExoPlayer 库时崩溃了。起初,当我有 Android Studio 3.6 时它崩溃了,并且无缘无故地给了我以下错误: enter image description here

enter image description here

但最近我将 Android Studio 更新到 4.0,这样我就可以同步 ExoPlayer 库,并且在 运行ning app

时没问题
implementation 'com.google.android.exoplayer:exoplayer-core:2.11.4'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.11.4'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.11.4'

但是当我添加 XML 代码时,如下所示

<com.google.android.exoplayer2.ui.SimpleExoPlayerView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

和 运行 我的应用程序崩溃并出现以下错误:

2020-05-30 12:39:59.271 18182-18182/? E/Zygote: isWhitelistProcess - Process 
is Whitelisted
2020-05-30 12:39:59.271 18182-18182/? E/libpersona: scanKnoxPersonas
2020-05-30 12:39:59.271 18182-18182/? E/libpersona: Couldn't open the File - 
/data/system/users/0/personalist.xml - No such file or directory
2020-05-30 12:40:00.364 18182-18182/com.example.myapplication A/libc: Fatal 
signal 11 (SIGSEGV), code 
1, fault addr 0xb5a9f98 in tid 18182 (e.myapplication), pid 18182 
(e.myapplication)

确保您已执行以下所有步骤:

1- 添加存储库:

您应该按照书面顺序添加这些存储库。 (buld.gradle:项目)

repositories {
    google()
    mavenCentral()
}

2-添加ExoPlayer全模块依赖

    implementation 'com.google.android.exoplayer:exoplayer:2.11.4'

3-开启Java8支持(buld.gradle-module:app)

  android{
     ...
    compileOptions {
      targetCompatibility JavaVersion.VERSION_1_8
    }
 }

跟进@Yasin 的回答。

随着 Google 决定在 2022 年停用 jcenter,您可能 运行 遇到另一个问题 - 即您当前的旧版本 ExoPlayer 仅在 jcenter 上提供,但在 google 上不提供。所以我建议您尽快迁移到最新版本的 ExoPlayer,即 v15 - 保证可以在 google.