要用 Eclipse 做 Android 开发,当装好了 ADT(Android Deveopment Tooling) 之后(可参考前一篇《[Android]Eclipse 安装 ADT[Android Development Tooling] 失败的两种解决办法》),接下来就会遇到 Android SDK Manager 无法正常更新的问题,因为 GFW 的关系,无法直接访问 https://dl-ssl.google.com,这个问题比更新 ADT 还要严重一点。我们在上一篇里通过设置代理 http://127.0.0.1:8087 转到 GoAgent 里来实现访问 ADT 的更新地址,在这里,我们遇到了一个新的问题,由于 GoAgent 从 3.1.x 版本开始,对于 https:// 或者 SSL 访问会出现这样一个错误:
Error: [('SSL routines', 'SSL3_READ_BYTES', 'sslv3 alert certificate unknown')]
从而导致无法正常更新 Android SDK Manager 。
在以前,可能这样做就可以了,即在 Android SDK Manager 从菜单 Tools 里选 Options... ,按如下设置即可(看划红线的单选项):
即强制使用 http:// 而不使用 https://,可是现在由于 GoAgent 新版的原因(v3.2.3),会报前面提到那个错误,从而无法更新。
既然正常更新和使用 GoAgent 都不行,那么我们可以想想科学上网的办法,这里搜到一篇:《Android sdk manager 无法更新解决方法》,使用的是某某门软件,我也去网上下载了某某门的最新版,并且设置好,可以下载了,可是速度有点慢,截图如下:
速度大约是 10-40 KB/s 左右,更新是可以更新了,可是想想那么多软件包要更新,要下载到猴年马月啊,所以我们还得另外想办法,如果你有快速且免费的 VPN,当我什么也没说。
既然 GoAgent 报错,我们就想办法解决这个错误,这个的确不是很好找,一开始我也没找到,可是看了上面的下载速度后,我还是决定一定要解决它。功夫不负有心人,终于找到了原因和解决办法,详细请看:Issue 17951: sslv3 alert certificate unknown 和 Issue 17116: 利用GAE无法代理升级Android SDK ,解决的办法是:
3.2版本在 proxy.ini 里的 [profile] 下加上如下配置即可更新 Android SDK 了:
dl-ssl.google.com = nocrlf,noforcehttps,nofakehttps
注:这里有个前提,就是你必须保证 GoAgent 的 CA 证书是已导入的(在你更新了 GAE 上的 GoAgent 或 本地的 GoAgent 的版本以后,可能要重新导入证书),具体导入方法可以看前面提到的 Issue 17951 里的介绍,或者自己 Google 。
导致这个错误的具体原因不明,从解决方案的字面意思上来看,nocrlf(无回车换行符), noforcehttps(不强制使用 https), nofakehttps(不使用/不允许虚假 https)。反正现在好使了,截图如下:
500多 KB/S 基本上是我的宽带的极限速度,还不错,虽然有些时候 GoAgent 也会慢下来,但是大多数时候速度还是可以的,免费的能这样,已经很满意了。
问题解决,希望对你有所帮助。
.