You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级ExoPlayer到2.16.0后Android5/6(API21/23)初始化崩溃如何解决

问题原因

ExoPlayer 2.16.0版本默认使用Java 8语言特性(包含Lambda表达式、默认接口方法等),Android 7.0(API 24)及以上系统原生支持该类特性,API 23及以下系统需要开启D8编译器的desugar功能才能兼容,你遇到的ExternalSyntheticLambda相关的NoClassDefFoundError就是未开启desugar导致的类加载失败问题。

解决方案
  • 在模块级build.gradle(app目录下的gradle配置文件)的android配置块中开启Java 8支持与desugar功能:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // 开启核心库desugar兼容低版本系统
        coreLibraryDesugaringEnabled true
    }
    // 使用Kotlin开发需要额外添加如下配置
    kotlinOptions {
        jvmTarget = "1.8"
    }
}
  • 在同个build.gradle的dependencies配置块中添加desugar依赖:
dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.2.2'
    // 原有其他依赖保持不变
}
  • 清理项目缓存后重新编译运行即可修复低版本系统崩溃问题。
补充说明

如果配置后仍存在崩溃,检查你的Android Gradle Plugin版本是否为3.2.0及以上,低于该版本的AGP不支持desugar功能,需要先升级AGP到兼容版本。

内容的提问来源于stack exchange,提问作者Mohammadreza

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 15:54:08