JCenter弃用后依赖解析失败及401未授权问题求助
解决JCenter弃用后依赖无法获取的问题
一、针对目标依赖的直接处理方案
1. 手动下载并本地引入
- 对于
com.kaopiz:kprogresshud:1.2.0和com.tapadoo.android:alerter:2.0.4,去它们的GitHub项目主页找到对应版本的aar/jar包下载:- 把下载的文件放到项目的
libs目录下 - 在模块的build.gradle里添加本地依赖:
implementation files('libs/kprogresshud-1.2.0.aar') implementation files('libs/alerter-2.0.4.aar') - 注意检查原依赖的子依赖,手动补上(看项目README或者原build文件就能找到)
- 把下载的文件放到项目的
2. 换用维护活跃的替代库
- kprogresshud替代:用
com.github.JakeWharton:ProgressHUD:1.0.0,或者Android官方的ProgressDialog,这俩都在Maven Central上稳定可获取。 - alerter替代:直接用
com.google.android.material:material里的Snackbar,或者com.github.GrenderG:Toasty:1.5.0,功能完全覆盖原alerter,还支持最新Android版本。
二、解决JitPack 401未授权错误
JitPack的401错误要么是项目权限问题,要么是这个版本没正确发布。既然是公开依赖,直接放弃JitPack渠道,用上面的手动引入或者替代库方案就行。
三、长期适配JCenter弃用的配置优化
- 根build.gradle里删掉JCenter仓库,只留Google和Maven Central:
repositories { google() mavenCentral() // 移除jcenter() } - 定期排查所有依赖,把仅在JCenter存在的依赖换成Maven Central的替代库,或者传到公司内部的私有仓库(比如Nexus、Artifactory)托管。
内容的提问来源于stack exchange,提问作者programmerdinkar
相关产品推荐
相关产品推荐

