移除jcenter后无法加载com.simplemobiletools:commons库求助
问题原因及解决办法
核心原因
- JCenter已彻底停止服务:JCenter早在2021年就宣布停止维护,目前已完全下线,原存储的
com.simplemobiletools:commons:5.32.23包已被移除,因此即便配置jcenter()也无法拉取。 - 版本选择错误:你尝试的
1.0.12版本并未发布到MavenCentral,当前MavenCentral仅提供该库的较新版本(与原JCenter的5.x/6.x版本延续),因此无法解析这个老版本。 - 仓库配置冗余:
settings.gradle中仍保留已失效的jcenter(),同时依赖解析的仓库优先级可能引发冲突。
解决步骤
1. 清理无效仓库配置
修改settings.gradle,彻底移除jcenter(),只保留当前活跃的仓库:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url 'https://jitpack.io' } } }
2. 使用MavenCentral上的有效版本
选择MavenCentral上可用的com.simplemobiletools:commons稳定版本(可通过Android Studio依赖搜索功能确认适配版本),替换app/build.gradle中的依赖,例如:
implementation 'com.simplemobiletools:commons:6.3.3'
3. 处理filepicker依赖问题
若新版本仍依赖filepicker,按以下方式处理:
- 先移除原排除规则,执行命令查看依赖树:
./gradlew app:dependencies - 若
filepicker无法自动解析,手动添加其MavenCentral上的有效版本:
(若implementation 'com.simplemobiletools:filepicker:3.0.0'filepicker托管在JitPack,确保settings.gradle已包含该仓库)
4. 同步并验证
执行以下操作确保依赖生效:
- 点击Android Studio右上角的Sync Project with Gradle Files
- 清理缓存:
File > Invalidate Caches... > Invalidate and Restart - 执行构建:
./gradlew app:assembleDebug
额外注意事项
- 避免使用过于老旧的版本(如
1.0.12),这类版本通常未迁移到MavenCentral,且存在兼容性问题。 - 若项目依赖其他JCenter库,需逐一替换为MavenCentral/JitPack等活跃仓库中的版本。
内容的提问来源于stack exchange,提问作者M. Usman Khan
相关产品推荐
相关产品推荐

