Skip to content

Android SDK / Gradle 下载慢?Android Studio 加速配置

Android 开发在国内的卡点有三:Gradle 本体下载、依赖(google/maven)拉取、SDK 组件下载。逐个解决。

一、Gradle 本体下载慢

新项目 sync 时会下指定版本 Gradle,默认走海外。改项目里的 gradle/wrapper/gradle-wrapper.properties:

properties
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.10-bin.zip

版本号换成项目实际用的。腾讯云镜像同步了各版本 Gradle。

二、依赖拉取慢(关键:加 google 镜像)

Android 依赖分布在 google()mavenCentral()。全局换阿里云镜像——新建 ~/.gradle/init.gradle:

groovy
allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        google()
        mavenCentral()
    }
}

注意新版仓库声明方式

如果项目 settings.gradle 里有 dependencyResolutionManagement { repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS },则要在 settings.gradledependencyResolutionManagement.repositories 里加镜像,否则不生效。

groovy
// settings.gradle 里
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        google()
        mavenCentral()
    }
}

三、SDK 组件下载慢

Android Studio 下载 SDK Platform、Build-Tools 等组件慢,主要靠给 IDE 配代理:

  1. Android Studio → Settings → Appearance & Behavior → System Settings → HTTP Proxy;
  2. Manual proxy configuration,填你的代理(如 127.0.0.1:7890);
  3. Check connection 测试后应用。

配好代理后,SDK Manager 下载组件会走代理提速。代理配置见 代理与工具

四、命令行 sdkmanager 走代理

用命令行 sdkmanager 时通过参数走代理:

bash
sdkmanager --proxy=http --proxy_host=127.0.0.1 --proxy_port=7890 "platform-tools"

五、验证

bash
# 观察 sync 与下载速度
./gradlew build --info

或在 Android Studio 里重新 Sync Project,看是否还卡在 Download。

排障速查

卡在哪解决
Download gradle-x.x-bin.zipgradle-wrapper.properties(方法一)
拉 com.android.* 依赖加 google 阿里云镜像(方法二)
SDK Platform / Build-ToolsIDE 配代理(方法三)
命令行 sdkmanager--proxy 参数(方法四)

小结

  • 三处分开治:Gradle 本体换镜像、依赖加 google 镜像、SDK 组件配代理。
  • 新版 Gradle 注意在 settings.gradle 配仓库,别只改 build.gradle。
  • Flutter 做 Android 构建同理,另见 Flutter 换源

本文仅供技术学习与研究,请遵守所在国家/地区法律法规。

本站为技术学习交流站点,与 GitHub, Inc. 无任何隶属或官方关系。所有内容仅供技术研究与学习,请遵守所在国家/地区的法律法规。