分类: LINUX
2008-11-20 23:08:38
按照所写的把源代码取下来,首先要取得其特有的repo源码管理程序(实际上就是git的包装,利用python增强了一些功能吧)。
具体过程不写了,教程都详细地写着,然后repo sync开始同步源码。不幸的是不断发生fatal和error,不停地重试才行。
估计是取源码的人太多了,服务器受不了了。
在N次重试以后,到了这个组件时就不停地失败,platform/external/icu4c。我也手动试地累死了,于是写了个shell脚本,让系统在失败时睡眠三秒然后重试:
#!/bin/bash
echo "======start repo sync======"
repo sync
while [ $? = 1 ]; do
echo “======sync failed, re-sync again======”
sleep 3
repo sync
done
这段脚本很简单,首先先执行repo sync,如果失败了,就会发出错误退出信号1,由while捕获,判断如果是错误退出就继续,否则完成。主要就是“$?”这个变量,是由上一个执行完的命令返回的退出状态。
开始执行这段脚本,然后睡了个美美的午觉。
睡醒后一看,终于过去了,不过还没好。Android的组件真是多啊!一些组件如libxml2、libpng、dbus、sqlite真是熟悉啊,Android就是一个集众所之长的平台。
今天就先取源码,改天再进一步研究。
—–
顺便提了一下,有几个星期了,那个都进不去了,而用代理是可以进的。解决办法是使用OpenDNS,在/etc/resolv.conf写入下面的就行了:
208.67.222.222
208.67.220.220
强烈抗议那些将github.com等技术站点封掉的不法分子!简直不可理喻!