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

Android项目级build.gradle中google()与mavenCentral()的区别是什么

google()和mavenCentral()是Android Gradle构建中两个完全独立的依赖仓库,核心区别如下:

1. google() 仓库

  • 运营主体:Google官方专属仓库
  • 存储内容:仅提供Google官方推出的Android开发相关依赖,包括Android Gradle构建插件、AndroidX系列组件、Jetpack生态工具、Google Play服务SDK、Firebase系列SDK等
  • 语法本质:是Gradle 4.0及以上版本提供的简化写法,等价于完整配置 maven { url 'https://maven.google.com' }

2. mavenCentral() 仓库

  • 运营主体:由Sonatype公司运营的全球最大公共开源Maven中央仓库,是Java/Android生态最通用的第三方依赖托管平台
  • 存储内容:收纳了绝大多数非Google官方的开源Java/Kotlin/Android依赖,比如常用的OkHttp、Retrofit、Glide、RxJava等第三方开源库均托管在此仓库
  • 语法本质:是Gradle 6.8及以上版本提供的简化写法,等价于完整配置 maven { url 'https://repo1.maven.org/maven2/' },目前已完全替代停止服务的jcenter仓库成为开源依赖的首选托管仓库

为什么需要同时配置两个仓库

Android项目的依赖天然来自两个渠道,因此项目级Gradle文件中同时配置两个仓库是常规操作:

buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.0"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Google官方的组件只能从google()仓库拉取,第三方开源组件只能从mavenCentral()拉取。Gradle构建时会按配置的仓库顺序依次检索所需依赖,缺少任意一个仓库都会导致对应依赖拉取失败,出现构建报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:57:03