本教程使用的软件:
Win7
VMware Workstation 9.0(版本不重要)
Ubuntu14(64位) (linux系统,能运行 git , curl 就行)
字游萌 V7_42( 谐音, 蕃强软件 以下简称 "软件A" )
众所周知, 国内internet被 GF firewall之后, 给广大网民带来极大的不便, 特别是做android系统开发的人员.
现今在国内下载个android源码,比母猪上树还难.
闲话少说, 当前项目需要我更新android系统版本, freescale 当前发布的最新版本是android_kk_4.4.2_1,我就直接更新到android4.4.2_1版本. 下载源码遇到的唯一问题, 当然就是"悲剧"......搜索翻扁了所有网上的教程, 都已经行不通了, 因为网络不通了......
进入步骤吧:
所有工作是以网络为基础的,当然要先把网络设置好.
一. 在你的主机WIN7中, 运行 软件A , 打开一下 www.google.com , 看看是不是正常的.如果正常,请继续....
二. 设置你的 软件A:
在字游萌 的 "设置" 页面中 , 点击"更多设置" , 勾选" 用字游萌做服务器(监听0.0.0.0)" 项. 这时候, 假设你的"本地连接"的IP地址是 192.168.0.20, 那么,虚拟机中ubuntu就可以把你的主机当成代理服务器了, 代理地址是 192.168.0.20:8580
三. 设置VM 的网络, 我是设置成 "NAT" 类型的, 然后共享 本地连接 的网络给 "VMware Network Adapter VMnet8", 后来想想, 觉得设置成 bridge 应该也可以, 没试过.
具体方法: 先共享你主机的"本地连接", 右键你的"本地连接" -> "属性" -> "共享" , 勾选 "允许其它网络用户通过此计算机的Internet连接来连接", 家庭网络连接中 选中 "VMware Network Adapter VMnet8".
点击确定后, WIN7 会自动把你的网络接口 "VMware Network Adapter VMnet8" 的IP 地址设置成 192.168.137.1 , 接着设置你的VM virtual network就行了. 点击 VMware workstation 的 "Edit" -> "Virtual network edit". 选中 列表中的 VMnet8 , 修改下面 subnet ip 为 192.168.137.0, 把上面的两个关于 DHCP 的框勾上 "connect a host ..." 和 "Use local DHCP....". 还有就是检查一下 NAT Setting, 看看里面的 gateway ip 是不是 192.168.137.2 , 不是的话就修改一下.
四. 在ubuntu中新建一个网络连接, 使用DHCP就行了, 这个不细说了.
五. 这个时候你的虚拟机ubuntu应该是能够正常访问国内网站的,如果不行, 查看一下你的ubuntu的网络连接信息, 看看IP地址是不是 192.168.137.XXX .
六. 设置ubuntu的代理. 点击 "系统设置" -> "网络" -> "代理设置", 所有代理填写为 你WIN7 的本地连接的IP地址 ,即 "192.168.0.20" , 端口: 8580, 然后点一下 "应用到整个系统" 这个按钮 ,这个时候你打开 google.com 或者 android.googlesource.com 应该是正常的.
这个时候, 你的网络连接就已经绕了个弯, 避开了 GF 的 firewall 了 , 其它步骤就像在没有屏蔽的情况下进行了, 网上很多资料.
七. 在虚拟机 ubuntu 中设置google权限认证吧. 登陆 https://android.googlesource.com/new-password , 使用你的google账户, 获取一个授权码, copy到你的 ~/.netrc 文件中.
八. 在ubuntu中安装 git 和 curl . sudo apt-get instll git-core curl
九. 可以先设置一下git的配置:
git config --global user.email "你的google账号email"
git config --global user.name "你的name" (我是直接填 email中 @ 之前的 英文)
十. 在ubuntu终端中:
$ cd ~
$ mkdir myandroid
$ mkdir bin
$ cd myandroid
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ ~/bin/repo init -u https://android.googlesource.com/a/platform/manifest -b android-4.4.2_r1
这时候我做了一下修改:
在.repo/manifests/manifest.xml里把
fetch=".."
改成
fetch="git://Android.git.linaro.org/"
十一. 直接 ../bin/repo sync 连接还是比较稳定的, 现在还在下载中,下载完了估计 25G , 删除里面的git相关
文件,最后9G多吧, 一边下载顺便把步骤写下来备忘一下.