mac上需分别配置maven、gradle和android studio代理:maven改~/.m2/settings.xml中;gradle在~/.gradle/gradle.properties设systemprop.http/https.proxy*;android studio需在preferences中手动设置http proxy,三者独立生效。
mac 上为 maven 和 gradle 配置代理,核心是分工具、分层级处理:maven 通过 settings.xml 配置 http 代理;gradle 则需在 gradle.properties 中设置系统级代理参数,同时 android studio 还要单独配一次 ide 级代理。三者不互通,漏掉任一环节都可能卡在下载依赖。
Maven 代理:改 ~/.m2/settings.xml
这是最常用也最关键的配置位置。Maven 默认读取用户级配置文件(~/.m2/settings.xml),不存在就手动创建。
- 确保该文件位于
~/.m2/目录下,不是 Maven 安装目录里的conf/settings.xml - 在
<settings></settings>标签内添加<proxies></proxies>节点,例如使用本地梯子(HTTP 代理):
<proxies><proxy><id>dev-proxy</id><active>true</active><protocol>http</protocol><host>127.0.0.1</host><port>7890</port><nonproxyhosts>localhost|127.0.0.1|*.local</nonproxyhosts></proxy></proxies>
- 如果代理需要认证,补上
<username></username>和<password></password>字段 - 改完保存,终端执行
mvn help:evaluate -Dexpression=settings.proxies可验证是否生效
Gradle 代理:写进 ~/.gradle/gradle.properties
Gradle 不读 Maven 的配置,它靠 gradle.properties 控制 JVM 网络行为。该文件默认位于 ~/.gradle/ 目录下。
- 若文件不存在,新建一个;存在则直接编辑
- 添加以下四行(端口按你的代理实际值替换,如 7890、8080 或 1087):
systemProp.http.proxyHost=127.0.0.1 systemProp.http.proxyPort=7890 systemProp.https.proxyHost=127.0.0.1 systemProp.https.proxyPort=7890
- 如有认证,追加:
systemProp.http.proxyUser=xxx和systemProp.http.proxyPassword=yyy - 注意:Gradle Wrapper(
gradlew)会自动加载此文件,无需额外操作 - 验证方式:在任意 Gradle 项目中运行
./gradlew --version,不报连接超时即大概率成功
Android Studio 额外代理:IDE 自带的 HTTP Proxy 设置
即使 Maven 和 Gradle 命令行能联网,Android Studio 图形界面仍可能走自己的网络栈,尤其在首次打开项目、下载 Gradle Wrapper、同步依赖时容易卡住。
- 打开 Android Studio → Preferences → Appearance & Behavior → System Settings → HTTP Proxy
- 选 Manual proxy configuration,填入和上面一致的 Host(
127.0.0.1)与 Port(如7890) - 勾选 Also use proxy for HTTPS connections
- 点击 Check connection 测试能否访问
https://services.gradle.org或https://repo.maven.apache.org - 确认后重启 IDE,再打开项目触发 Sync
小贴士:镜像源可作补充,但不能替代代理
阿里云、腾讯云等 Maven 镜像在国内对公开依赖有效,但它们无法解决访问 Google、JetBrains、Gradle 官方仓库等被限资源的问题。遇到 Could not resolve com.android.tools.build:gradle 或 Unable to load class 'org.gradle.api.initialization.ResolveStrategy' 这类错误,基本就是代理没通,而非镜像问题。
- Maven 镜像只影响
<mirrorof>central</mirrorof>类依赖,不影响插件仓库(pluginRepositories)或 Gradle 自身分发地址 - Gradle Wrapper 下载走的是
distributionUrl(在gradle/wrapper/gradle-wrapper.properties中),这个 URL 必须能直连或经代理可达 - 建议优先打通代理,再按需加镜像——稳定比快更重要











