Android引入TouchImageView依赖报403错误构建失败怎么解决
依赖拉取失败解决方案
根因说明
本次报错是由于Gradle仓库优先级配置错误,优先从无对应资源的第三方私有仓库拉取依赖,触发403权限拒绝,并非TouchImageView依赖本身失效。
修复步骤
- 调整仓库优先级:将JitPack公共Maven仓库配置到项目仓库列表的最靠前位置,早于报错中出现的亚马逊S3仓库即可。
针对不同Gradle版本修改对应文件:- Gradle 7.0以下版本:修改项目根目录
build.gradle文件中allprojects下的repositories块,示例配置如下:
allprojects { repositories { // 放在所有其他仓库配置的最开头 maven { url 'https://jitpack.io' } google() mavenCentral() // 其他原有仓库配置保持不变 } }- Gradle 7.0及以上版本:修改项目根目录
settings.gradle文件中dependencyResolutionManagement下的repositories块,同样将JitPack仓库配置放在最开头。
- Gradle 7.0以下版本:修改项目根目录
- 替换依赖版本:将原有1.1.1版本替换为TouchImageView最新稳定版,修改对应模块的
build.gradle依赖配置:implementation 'com.github.MikeOrtiz:TouchImageView:1.4.1' - 无侵入备用方案:该库本身仅包含单个Java类文件,若仓库配置修改后仍无法拉取,可直接将TouchImageView类源码拷贝到项目代码目录下直接使用,无需依赖配置。
- 配套修复Gradle兼容问题:执行
./gradlew build --warning-mode all命令查看具体废弃特性提示,同步修改对应配置适配Gradle 7.0+版本,避免后续升级出现构建故障。
内容的提问来源于stack exchange,提问作者Arpit Gupta
相关产品推荐
相关产品推荐

