Android构建报错找不到SimpleFingerGestures库1.2版本依赖
构建失败核心原因
- 报错本质是配置的仓库源中不存在
com.github.championswimmer:SimpleFingerGestures_Android_Library:1.2的可拉取构件:- jcenter已在2021年停止接收新构件上传,1.2版本发布时间晚于该节点,仓库内无对应版本
- 1.1版本在jcenter停服前已完成公开发布,因此可正常拉取,不受仓库源限制
- 切换1.1版本即可构建通过的现象,直接排除Gradle语法、网络权限等配置错误,问题完全出在目标版本的可获取性上
解决操作步骤
- 修正仓库配置位置
移除app模块下build.gradle中冗余的repositories配置,打开项目根目录的settings.gradle,在dependencyResolutionManagement块中声明仓库:
新版本AGP优先读取settings.gradle的仓库配置,直接忽略模块级的仓库声明,这是很多开发者配置了jitpack仍拉不到远程依赖的核心原因。dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() // 显式声明jitpack仓库,不要把仓库写在模块级build.gradle中 maven { url = uri("https://jitpack.io") } // 移除配置中已废弃的jcenter(),避免无意义的仓库连接超时 } } - 强制刷新本地依赖缓存
执行命令清除旧的错误解析记录,重新拉取构件:
排除Gradle本地缓存中“找不到1.2版本”的错误记录导致的构建阻断。./gradlew --refresh-dependencies assembleRelease - 若以上操作仍无法拉取,使用本地源码依赖
该项目的1.2 tag在jitpack的自动构建流程中存在兼容性问题,无法生成可远程拉取的maven构件,可直接将1.2版本源码导入项目作为本地模块依赖:- 将源码放到项目根目录的
SimpleFingerGestures文件夹下 - 在settings.gradle中添加模块声明:
include ':SimpleFingerGestures' - 在app模块的build.gradle中替换原远程依赖为:
dependencies { implementation project(':SimpleFingerGestures') }
- 将源码放到项目根目录的
内容的提问来源于stack exchange,提问作者shivi
相关产品推荐
相关产品推荐

