升级旧项目Gradle至7.4.1时遇依赖解析失败问题求助
解决Gradle升级后无法解析com.tbruyelle.rxpermissions2:rxpermissions:0.9.1的问题
问题根源
com.tbruyelle.rxpermissions2:0.9.1这个版本大概率已从Maven中央仓库下架,而依赖它的com.github.KingsMentor:MobileVisionBarcodeScanner:2.0.0是个停止维护的第三方库,没更新依赖版本,导致高版本Gradle无法拉取到这个旧依赖。
可行解决方案
1. 强制替换为可用的RxPermissions版本
在模块级build.gradle中添加强制依赖策略,把旧版本替换成Maven中央能获取到的稳定版本(比如0.12.0):
configurations.all { resolutionStrategy.force 'com.tbruyelle.rxpermissions2:rxpermissions:0.12.0' }
这个版本兼容AndroidX和Gradle 7.x,能解决依赖拉取问题,同时保证功能正常。
2. 更换扫码库
如果强制替换后出现兼容性问题,直接换掉MobileVisionBarcodeScanner更稳妥:
- 用Google官方的ML Kit扫码库,原生支持AndroidX,持续维护,文档齐全
- 选GitHub上活跃的第三方扫码库,确保依赖链上的所有包都能正常获取
3. 手动引入AAR(不推荐)
实在没办法的话,找渠道下载rxpermissions-0.9.1.aar文件,放到项目libs目录,然后在模块级build.gradle加本地依赖:
implementation files('libs/rxpermissions-0.9.1.aar')
注意:这种方式没法自动更新依赖,后续可能引发其他兼容性问题,尽量不用。
4. 检查仓库配置
确认根目录build.gradle里配置了必要的仓库(尤其是JitPack,因为com.github开头的库通常在这):
repositories { google() mavenCentral() maven { url 'https://jitpack.io' } }
但即使配置了JitPack,旧版本RxPermissions还是可能拉不到,所以优先用前两种方案。
内容的提问来源于stack exchange,提问作者Qfriend
相关产品推荐
相关产品推荐

