曲线救国,解决Mac系统下,Android sdk下载失败的问题
Mac下翻_墙的问题
话说GFW屏蔽谷歌已经有一阵子了,最近打算在Mac系统下折腾个Android应用,备好了IDE,只欠SDK,无奈下载时因为GFW的缘故,总是失败,我心痛哉!
由于本人偏爱Mac系统,于是便开始折腾Mac下的翻_墙问题,试过Break Wall,鱼摆摆,GoAgent,居然没有一个好用的!在公司办公的时候使用的都是Windows系统,需要翻_墙的时候,我都用自(he)由(xie)门这个东东,简单好使,实乃翻_墙神器也,可惜没有Mac的版本,这可咋整??????(博客园居然屏蔽\自\由\门这个关键字,⊙﹏⊙b汗)
家里2台电脑,一台Mac,一台Windows(我的游戏机),心想,要不Windows翻_墙,然后Mac接入Windows进行翻_墙不就行了。
于是,赶紧打开了Windows下的自(he)由(xie)门:

自(he)由(xie)门在本地开通了8580用作代理翻_墙端口,通过telnet 192.168.1.240 8580测试我windows的端口情况,发现不通,看了自(he)由(xie)门留了一手,监听ip是127.0.0.1,也就是只能通过127.0.0.1:8580去使用端口。

看来Mac直接访问Windows的自(he)由(xie)门代理是不行了。
开发Socket代理,解决Mac不能访问Windows自(he)由(xie)门代理的问题
心想,既然你自(he)由(xie)门只能通过127.0.0.1访问,那我何不开发个socket代理,对外开放一个端口,然后将端口的数据直接转发到8580上,这样应该就能解决Mac不能访问Windows自(he)由(xie)门代理的问题了。
嗯,思路不错,那就开搞一个吧,大晚上的时间有限,我就简单的用Nodejs开发了一个socket代理程序,话说用Nodejs开发网络应用这是超爽啊,socket代理代码如下:
var net = require('net');
var server = net.createServer(function(c) { //'connection' listener
console.log(c.remoteAddress);
// 暂停socket的数据处理
c.pause();
var client = net.connect({host:'127.0.0.1', port: 8580},
function() { //'connect' listener
// 连上自(he)由(xie)门代理了,可以去处理socket数据了
c.resume();
console.log('connected to proxy');
});
// 将过来的数据发给自(he)由(xie)门,然后将自(he)由(xie)门回过来的数据,原封不动的转发出去
c.pipe(client);
});
server.listen(8124, function() { //'listening' listener
console.log('server bound');
});
process.on('uncaughtException', function(err) {
console.log('Caught exception: ' + err);
});
Socket代理的运行效果如下:

Mac下配置http代理,访问Windows的自(he)由(xie)门,进行翻_墙
进入Mac,打开Android Sdk Manager,系统菜单中选择,Preferences,如下如:

然后设置Http代理服务器和端口信息,如下如:

注意:上面的192.168.1.240就是我的Windows电脑的ip,8124端口是socket代理的端口哦,它负责把Mac过来的http请求直接丢给自(he)由(xie)门,这样就可以翻_墙下载了。
最终解决了Mac下Android SDK下载失败的问题
看看下载效果吧:

嗯,搞定android sdk了,关机,睡觉觉!
曲线救国,解决Mac系统下,Android sdk下载失败的问题的更多相关文章
- Android SDK下载失败的解决方法
Android SDK下载失败的解决方法 图1 在下载过程中,Android SDK Manager Log中出现下面出错信息: Preparing toinstall archives Downlo ...
- win10环境下Android SDK下载安装及配置教程
最近在配置Android环境时,发现网上许多教程都是在win7版本下进行配置的且存在许多问题,按照流程无法正确配置环境,因此我在收集网上资料及亲自配置成功的情况下,写出此文章.如有无法配置成功的话,欢 ...
- mac系统下android studio创建手机模拟器
打开android studio,点击右上角的模拟器图标,打开“Android Virtual Device Manager” 窗口,如下图 点击“Create Virtual Device”,在 ...
- Mac系统下Android生成keystore
首先打开终端(在搜索里面搜索Te即可出来) 然后输入 cd /Library/Java/Home/bin/ 然后这步很关键,由于我们用的是当前用户,所以没有最高权限,不能在Library文件夹下生成 ...
- 解决Ubuntu系统下 mysql 远程连接失败的问题 ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.xx.xx' (110)
如果远程连不上mysql.cnf 里面也修改了:bind注销掉了127.0.0.1 等所有的 但是telnet xxx.xxx.xx.xx 3306 端口 不通:那么 就是防火墙的问题了 1.修改Ub ...
- Mac系统下编译支持Android平台的最新X264编码器
Mac系统下编译支持Android平台的最新X264编码器 原文来自 http://www.mingjianhua.com,转载请注明出处 1.首先去官网下载最新的x264源代码,解压到任意目录 ht ...
- Android SDK下载和更新失败的如何解决
一.scenario: 在部署Appium环境搭建时,安装SDK Manager.exe,遇到Android SDK下载更新失败. 报错信息如下图: Failed to fetch URL https ...
- (转载)Mac系统下利用ADB命令连接android手机并进行文件操作
Mac系统下利用ADB命令连接android手机并进行文件操作 标签: Mac adb android 2016-03-14 10:09 5470人阅读 评论(1) 收藏 举报 分类: Androi ...
- Mac系统cocos2dx + android 开发环境配置
Mac系统cocos2dx + android 开发环境配置 /****************************************************** 这遍文章主要转载自:htt ...
随机推荐
- PTPX中的time_based analysis
根据VCD文件的type,PTPX支持instantaneous peak power analysis和cycle_accurate peak power analysis. Time-Based ...
- PAT乙级 1011. A+B和C (15)
1011. A+B和C (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 给定区间[-231, 231 ...
- 4. 星际争霸之php设计模式--工厂方法模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- HOWTO Install the MinGW (GCC) Compiler Suite
Posted July 25th, 2008 by mingwadmin getting started install mingw Automated Installer If you are ne ...
- RobotFramework 安装配置(二)
前面已经写了一篇关于RF的安装配置了,那是在做自动化工具调研的时候搭建RF总结的,基于win32的系列软件安装的过程.经过1个月的调研,做成了demo,也大致学RF的使用和python的基础语法,暂时 ...
- zw版【转发·台湾nvp系列Delphi例程】HALCON HWindow Overlayer 1
zw版[转发·台湾nvp系列Delphi例程]HALCON HWindow Overlayer 1 ------------------------------------HALCON HWindow ...
- 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]
我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...
- XMl的解析简单的方法
首先需要jia包 xstream-1.4.7.jar Vo类 package com.zld.day06_03zk3demo.bean; import java.io.Serializable; im ...
- 函数后面加throw关键字
[1]为什么函数后面加throw关键字? C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制. 举例及解释如下: void fun() throw() 表示f ...
- Bootstrap:弹出框和提示框效果以及代码展示
前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...