因为外星人在中国布下了GFW,导致使用android studio的时候故障频发。集中体现在
Gradle sync failed xxxxxx 与 AndroidStudio Gradle:Resolvedependencies xxxxxx这两个问题上,本章提供两个解决方案给大家。看本文前你要准备下面几种工具

  • brew
  • Shadowsocks
  • polipo
  • sdkman (可选)
    本章节有三种解决方案 ,我使用的是第三种

解决方案一 使用在线更新

Homebrew 一般是自带的,如果没有自带 建议你装一个。 https://brew.sh
Shadowsocks 是某种不知名的代理
polipo 是能将Socks转为http代理的工具

polipo使用说明

以下转载自蕲春人的博客

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
brew install polipo
然后就是启动polipo程序开机自动启动。

首先要修改自动启动的配置文件 /usr/local/opt/polipo/homebrew.mxcl.polipo.plist,需要给polipo命令加上命令行参数 socksParentProxy=localhost:1080

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.polipo</string>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/polipo/bin/polipo</string>
<string>socksParentProxy=localhost:1080</string>
</array>
</dict>
</plist>
然后执行以下命令,搞定收工。

ln -sfv /usr/local/opt/polipo/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.polipo.plist
polipo进程默认监听8123端口,在命令行使用export http_proxy=http://localhost:8123 就可以使用代理了。

export https_proxy=http://localhost:8123 export ftp_proxy=http://localhost:8123

AndroidStudio代理配置

这里你直接在Preferences搜索proxy即可
配置详情

解决方案二 使用离线gradle

我使用的是方案一,同时使用了方案二,直接用sdkman来更新本地gradle版本。
这两种方案是兼容的,你可以选择使用本地还是在线更新。

配置详情

sdkman配置

  1. 在terminal中使用如下脚本安装sdkman. –官网
    1
    $ curl -s "https://get.sdkman.io" | bash
  2. 下载安装完毕重启terminal
    使用此命令下载指定的gradle版本
    1
    sdk install gradle 2.1(版本号)
  3. 查看当前所有的gradle版本信息
    前面有*符号的为当前本地下载的版本。>符号指向的为当前使用的版本。
1
sdk list gradle

配置详情

  1. 更换当前gradle版本
    使用此命令可以更换当前环境变量重的gradle版本

    1
    sdk use gradle 4.1
  2. 查看gradle路径(重要)
    使用下面的命令可以看到当前sdk使用的gradle版本

    1
    echo $GRADLE_HOME

解决方案三 黑科技

更新gradle版本到 2.14.1
distributionUrl=https://services.gradle.org/distributions/gradle- 2.14.1-all.zip

请统一如下配置:
Compile Sdk Version 设置到: API 23:Android 6.0(Marshmallow)
Build Tools Version 设置到: 25.0.0

完美解决!