GitHub Actions构建ExoPlayer时:extension-av1:generateJsonModelDebug报空指针错误
问题原因
generateJsonModelDebug是Android Gradle Plugin(AGP)用于生成NDK构建配置JSON模型的任务,该任务抛出无提示空指针,在GitHub Actions CI环境下常见原因如下:
- NDK版本不匹配:ExoPlayer的AV1扩展对NDK版本有严格要求,若CI环境使用的NDK版本不符合当前ExoPlayer版本的要求,AGP读取NDK配置时会触发空指针
- NDK路径未正确配置:CI环境未安装对应版本NDK,或项目构建脚本未明确指定
ndkVersion,导致AGP无法找到NDK安装路径 - 构建缓存冲突:CI开启的Gradle/构建缓存存在残留的异常产物,导致任务执行时读取到无效数据
- AGP/Gradle版本不兼容:项目使用的AGP、Gradle版本和ExoPlayer官方要求的版本不匹配,NDK相关任务逻辑存在兼容缺陷
解决方法
- 核对你使用的ExoPlayer版本官方要求的NDK版本,在项目的
build.gradle中明确指定NDK版本:
android { ndkVersion "21.4.7075529" // 替换为对应ExoPlayer版本要求的NDK版本号 }
- 在GitHub Actions的工作流配置中新增对应版本NDK的安装步骤,确保CI环境依赖完整:
- name: 安装指定版本NDK run: | echo "y" | $ANDROID_HOME/tools/bin/sdkmanager --install "ndk;21.4.7075529"
- 构建前执行清理命令,避免缓存干扰:
./gradlew clean - 若问题仍存在,可在构建命令中添加日志参数输出完整调用栈,定位具体异常点:
./gradlew assembleDebug --stacktrace --info - 确认项目使用的AGP、Gradle版本与ExoPlayer官方对应版本保持一致,不要随意跨版本升级。
内容的提问来源于stack exchange,提问作者Thomas Müller
相关产品推荐
相关产品推荐

