# Android 开发中的代理设定
# 常用的镜像站点
对于中国的开发者来说,镜像站/站点 几乎是正常工作的必备品。下面列出几个镜像站点。
企业运营站点:
高校运营的站点:
# Gradle 的下载
使用 Android Studio (opens new window) 新开一个项目,默认使用的构建系统是 Gradle (opens new window) ,在项目的 gradle/wrapper/gradle-wrapper.properties 文件中,默认去 Gradle 的源站点下载 zip 压缩包。
#Fri Nov 20 10:52:08 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip
2
3
4
5
6
如果该版本对应的文件,先前没有下载过,在没有设置 Android Studio 代理的情况下,基本上需要等很久才可以下载完成,或者干脆下载失败。可以使用腾讯云镜像站 (opens new window)来下载对应版本的 zip 包。(截至 2021年6月18日,腾讯云镜像站,提供全版本的 Gradle 下载)
例如,对上面的 zip 包,将其配置修改为:distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-5.6.4-bin.zip 即可。
使用提示
2022 年 11 月更新,目前中国大陆下载 gradle 的 zip 包,速度尚可;原因是使用了 CDN 进行分发;开发者可以在速度明显较慢的情况下,考虑使用镜像站。
# Maven 镜像站点的配置
接上面的 Gradle 之后,下载依赖的过程,如果没有设置 IDE 的代理,那么会走到源站下载,一般是下面几个站点:
- Maven 站点 (opens new window)
- JCenter (已经转为只读,迁移问题见 Android 开发者公告 (opens new window))
- JitPack (opens new window)
对于 Maven ,有以下几个镜像站点:
- 阿里云 Public 仓库 (opens new window) ,该仓库是
central仓和jcenter仓的聚合仓 - 腾讯云 Maven 仓库 (opens new window) ,该仓库其实支持 HTTPS (截至2021年6月18日)
- 华为云 Maven 仓库 (opens new window) ,该仓库是多个上游镜像站的聚合仓,比阿里云的 Public 仓库更为“强大”。
# 配置方法
可以直接在项目的根目录下的 build.gradle 中进行设置。
在 repositories 修改,例如:
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
mavenLocal()
mavenCentral()
}
2
3
4
5
6
7
8
另外,还可以在 gradle 的配置文件夹下,设置对于全部 gradle 编译项目的一个默认配置。对于 Windows 用户来说,该文件夹在 C 盘的 user 文件夹下,在根目录下新建 init.gradle ,写入如下内容:
allprojects{
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
}
buildscript {
repositories {
maven {
url 'https://maven.aliyun.com/repository/public'
}
}
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
这样 gradle 在下载依赖时,就会去指定的镜像站点进行下载,可以大大提高下载的速度。
# Android 开发者 中国站点
谷歌为 Android 开发者搭建了一个网站,涵盖了 Android 开发的方方面面,该网站的全球站点 (opens new window) 连接有异常。
谷歌在中国大陆的运营站点均以 google.cn 为域名,例如 谷歌翻译 (opens new window)。
Android 开发者的中国站点 (opens new window),其地址为 :https://developer.android.google.cn/ 。通过该站点,中国开发者可以流畅的浏览 Android 开发者的官方网站。
并且,在该网站下载 Android Studio (opens new window) 时,下载速度也非常快。
提示
谷歌翻译服务,于 2022 年 9 月末,正式退出中国大陆市场。
# Gradle 的代理
对于 Gradle 的代理来说也有 2 个地方可以设置,一个是位于项目 gradle 文件夹下的 gradle.properties 。一般这里指定编译项目的 gradle 版本等信息。
另外一个 gradle.properties 是全局的配置,对 Windows 用户来说就是在 C 盘下的 user 目录下的 .gradle 根目录下,对于中国的开发者,在配置了 IDE 的代理后,IDE 可能会弹出 dialog 提示用户是否设置 gradle 的代理,这里可以对 gradle 进行一个全局的代理设置,如果设置了全局的代理,那么会改写该配置文件。
下面给出代理的配置参数:
systemProp.http.proxyHost=127.0.0.1
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=51085
systemProp.http.proxyPort=51085
# 此处配置代理的域名或者IP
systemProp.socks.proxyHost=127.0.0.1
systemProp.socks.proxyPort=51086
# proxyUser和proxyPassword如果没有可以不配置
systemProp.socks.proxyUser=userid
systemProp.socks.proxyPassword=password
# 此处是不使用代理的host列表,可以把内网地址和国内的地址添加上去。
systemProp.socks.nonProxyHosts=*.nonproxyrepos.com|localhost
2
3
4
5
6
7
8
9
10
11
12
13
根据代理的实际情况进行按需配置即可。
一般来说,在开启了国内镜像源的情况下,不需要配置 gradle 代理,IDE 弹出 dialog 建议确认后操作,在不清楚的情况下,选择 cancel 往往是一个好的选择。