Android Gradle项目依赖仓库配置:解决默认仓库优先级异常问题
解决Gradle约定插件依赖默认从repo.gradle.org加载的问题
问题概述
- 基于Groovy编写Gradle脚本的Android项目,组织要求所有依赖必须从内部Nexus仓库获取
- 引入约定插件后,有26个Groovy依赖始终从
repo.gradle.org加载,即便这些依赖在Nexus仓库中已存在 - 已尝试在主
settings.gradle和build-logic的pluginManagement.repositories中配置Nexus仓库,且将pluginManagement块置于脚本最顶部,但同步时仍会忽略Nexus,使用默认仓库 - 后续验证:仅Android Studio执行同步/构建操作时,会触发这些依赖的下载
可行解决方案
目前唯一有效的解决方式是设置**GRADLE_LIBS_REPO_OVERRIDE环境变量**,将其值指定为你的内部Nexus仓库地址,以此覆盖Gradle默认的依赖仓库源。
补充说明
曾有社区提交特性请求,希望将仓库覆盖逻辑迁移为可通过Gradle属性配置的方式,但对应的PR因Gradle官方规划调整未被合并,因此暂时无法通过属性配置实现该需求。
内容的提问来源于stack exchange,提问作者RusArtM
相关产品推荐
相关产品推荐

