创建本地AOSP镜像

虽然目前有像中国科技大学清华大学等为我们提供了墙内的AOSP镜像,但是每次也需要从现网同步,如果同步的同事较多会比较消耗宽带资源。所以我们最好能建立一个本地的镜像,然后客户端直接从本地的镜像同步,这样不仅提高了同步速度,也不受外网链接的限制。

建立本地AOSP镜像与直接同步AOSP代码的过程几乎一致,只是在repo init的时候--mirror 标识。

mkdir ~/mirror_aosp
cd ~/mirror_aosp
repo init -u https://aosp.tuna.tsinghua.edu.cn/mirror/manifest --mirror
repo sync

如何从已有Android源码中创建镜像?
可能我们之前已经同步过aosp源码,但是在repo init的时候并没有使用--mirror参数,现在如果我们要建立local镜像能否利用本地的代码?

当镜像同步完成后,新客户端就可以使用本地镜像同步代码。

mkdir ~/android_source
cd ~/android_source
repo init -u ~/mirror_aosp/platform/manifest.git
repo sync

如果是在局域网内,搭建git server之后,其他机器直接使用内网ip同步:

repo init -u git://local_ip/mirror_aosp/platform/manifest.git

虽然是在局域网,建议在同步的时候还是使用下面的脚本,避免因为网络问题同步错误而没有及时发现浪费时间。

#!/bin/bash    
echo "========================start repo sync========================"    
repo sync  
while [ $? != 0 ]; do    
echo "========================sync failed, re-sync again========================"    
sleep 3    
repo sync  
done

如果镜像有更新,先从外网同步本地镜像,然后再同步本地代码:

cd ~/mirror_aosp
repo sync
cd ~/android_source
repo sync