You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

移除jcenter后无法加载com.simplemobiletools:commons库求助

问题原因及解决办法

核心原因

  1. JCenter已彻底停止服务:JCenter早在2021年就宣布停止维护,目前已完全下线,原存储的com.simplemobiletools:commons:5.32.23包已被移除,因此即便配置jcenter()也无法拉取。
  2. 版本选择错误:你尝试的1.0.12版本并未发布到MavenCentral,当前MavenCentral仅提供该库的较新版本(与原JCenter的5.x/6.x版本延续),因此无法解析这个老版本。
  3. 仓库配置冗余: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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:39:59