Cygwin下获取Android源代码
首先下载cygwin,cygwin是一个类linux平台。即 在windows环境下模拟linux终端。比起运行linux虚拟机,是一个轻量 的解决办法。除了本文用来下载android源码,你当然可以用它来学习linux。cygwin的中文网是http://www.cygwin.cn /,建议从这下载cygwin,这是国内最快的镜像站点。严格按网站的说明安装:http://www.cygwin.cn/site/install /,最后注意的是在安装说明的下一步操作是选择需要下载的工具库,缺省是是default,鼠标 点 击default,会把安装类别切换成install,这样才能安装下载android源码需要的所有工具。当然,如果你熟悉所有情况,你可以手工在工具 库里选择你要安装的库(库是很多的,安装程序又没有提供全部选择或者全部取消的功能,我奇怪linux有关的程序总是有这种类似的遗漏。)。
安装晚cygwin后,运行它。会出现一个类linux的环境。输入
$mkdir /home/android //创建工作目录
$cd /home/android
$mkdir bin
//下载安装repo版本管理工具:
$curl http://android.git.kernel.org/repo > /home/android /bin/repo
$cd bin
$chmod a+x repo
准备下载 Android:
$cd /home/android
$python ./bin/repo init -u git://android.git.kernel.org/platform/manifest.git –b cupcake
$git config --global user.email "xxxxx@xxxxxxx"
$git config --global user.name "xxxxxx"
邮箱地址填有效邮箱即可,我试过,其实这步跳过也没有问题。
//下载源码:
$python ./bin/repo sync
唯一和linux下不同的地方是该环境似乎没有内嵌支持python,因此需要用命令行python来调用repo脚本。
错误解决办法:
[main] python 4208 C:/cygwin/bin/python.exe: *** fatal error - unable to remap C:/cygwin/bin/python.exe to
same address as parent(0×350000) != 0×5730000
[main] python 1752 fork: child 4208 - died waiting for dll loading, errno 13
具体原因不大清楚,网上的解决方法如下:
C:/cygwin/bin>ash rebaseall -v
这个命令当执行到x86_64-w64-mingw32/sys_root/mingw/binlibgcc_s_sjlj-1.dll时会失败,把目录x86_64-w64-mingw32挪走,执行命令成功。
之后再使用repo下载,就可以啦。