Android Gradle 下载插件或依赖太慢

发布于:2025-04-01 ⋅ 阅读:(21) ⋅ 点赞:(0)

问题与处理策略

问题描述
  • Android 项目中,settings.gradle 文件中,有如下配置,Gradle 插件或依赖下载速度慢
pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
处理策略
  • settings.gradle 文件中,为 pluginManagement 与 dependencyResolutionManagement 配置块添加国内镜像源,例如,阿里云镜像
pluginManagement {
    repositories {
    	maven { url 'https://maven.aliyun.com/repository/public' }
    
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
    	maven { url 'https://maven.aliyun.com/repository/public' }
    
        google()
        mavenCentral()
    }
}

学习补充

1、pluginManagement
pluginManagement {
    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
  • pluginManagement 配置块用于定义项目中插件的来源
  1. gradlePluginPortal():Gradle 官方提供的插件仓库

  2. google():Google 的 Maven 仓库

  3. mavenCentral():Maven 中央仓库

2、dependencyResolutionManagement
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
  • dependencyResolutionManagement 配置块用于定义项目中依赖的来源
  1. repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS):用于控制 Gradle 如何处理项目中定义的仓库,RepositoriesMode.FAIL_ON_PROJECT_REPOS 表示如果子模块中定义了自己的仓库,Gradle 会报错并拒绝使用这些仓库,即所有依赖都必须从根项目定义的仓库中下载

  2. google():Google 的 Maven 仓库

  3. mavenCentral():Maven 中央仓库