Android播放Vimeo视频触发NoSuchMethodError问题求助
解决Android播放Vimeo视频时的NoSuchMethodError(Glide priority方法缺失)
错误原因
这个问题是Glide版本冲突导致的:你的项目使用Glide 4.14.2,但引入的Vimeo播放器库com.ct7ct7ct7.androidvimeoplayer:library:1.2.2依赖了较低版本的Glide,或者该库调用的priority()方法签名与当前Glide版本不匹配。Gradle解析依赖时可能优先引入了旧版本的Glide类,导致运行时找不到对应方法。
解决方案
方案1:强制统一所有依赖的Glide版本
在模块级build.gradle文件中添加配置,强制所有依赖使用你指定的Glide版本,彻底避免版本冲突:
configurations.all { resolutionStrategy { force 'com.github.bumptech.glide:glide:4.14.2' force 'com.github.bumptech.glide:annotations:4.14.2' // 如果你项目中用到了Glide注解处理器,加上下面这行 // force 'com.github.bumptech.glide:compiler:4.14.2' } }
将这段代码放在dependencies块的外部,与dependencies同级。
方案2:升级Vimeo播放器库到兼容版本
查看com.ct7ct7ct7.androidvimeoplayer:library的最新版本,替换为与Glide 4.14.2兼容的版本,例如:
implementation 'com.ct7ct7ct7.androidvimeoplayer:library:最新版本号'
如果没有合适的新版本,优先使用方案1。
额外验证步骤
- 查看依赖树确认冲突:
在终端执行命令,检查Glide的依赖情况:
搜索./gradlew app:dependenciescom.github.bumptech.glide,确认是否存在多版本引入,以及强制配置是否生效。 - 清理重建项目:
执行Build -> Clean Project,再执行Build -> Rebuild Project,确保新依赖生效。
内容的提问来源于stack exchange,提问作者Amit Sharma
相关产品推荐
相关产品推荐

