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

Android Library依赖私有Maven仓库在App中构建失败问题咨询

这是Gradle依赖解析的预期行为

原因说明

Gradle的依赖解析逻辑是在消费模块(即你的application模块)的上下文环境中执行的,而非生产模块(library模块)。也就是说:

  • library模块自身配置的私有仓库,仅用于library模块自身构建时拉取依赖;
  • 当application模块引入library后,application需要自行解析所有传递过来的依赖(包括library使用的私有依赖),此时只有application模块(或项目根级)配置的仓库会被用来查找这些依赖。

切换implementation和api无法解决问题,因为这两个配置仅控制依赖的可见性(api会将依赖暴露给上层模块,implementation则不会),但无论哪种配置,只要依赖需要被解析,消费模块都必须有对应的仓库配置——解析动作始终发生在消费侧。

无需在application中单独配置私有仓库的解决方案

如果你不想在application模块中单独添加私有仓库,可以采用以下方式:

  1. 在项目根目录的settings.gradle(或settings.gradle.kts)中配置共享仓库
    将私有仓库配置在项目根级的依赖管理块中,这样所有模块(包括library和application)都会继承这个配置,无需在每个模块重复声明:
    dependencyResolutionManagement {
        repositories {
            mavenCentral()
            // 配置你的私有Maven仓库
            maven { url "https://your-private-repo-url" }
            // 保留你原本在application中配置的个人仓库
            maven { url "https://your-personal-repo-url" }
        }
    }
    

内容的提问来源于stack exchange,提问作者user3921533

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:41:35