我的操作系统环境:ubuntu 14.04 LTS 64位

如题,由于大家都知道的原因,android源码的下载成为android开发攻城狮们近一年多来痛.通过搜索发现这期间国内的镜像源多了起来,先分享两个

1.url访问tag:http://git.omapzoom.org/?p=platform/manifest.git;a=tags

2.是大清华的镜像源:http://mirror.tuna.tsinghua.edu.cn/但是很可惜,这个暂时没有web tag的url访问,具体的帮助可以点击AOSP旁边的问号查看操作步骤

以下是我的下载android-4.4.4_r2.0.1和android-5.1.0_r3两个版本的(心塞)记录,希望对大家有帮助

  1. 建立android-5.1.0_r3文件夹,以及android-5.1.0_r3/bin和android-5.1.0_r3/resources文件夹
  2. 进入android-5.1.0_r3/bin下,执行PATH=~/android-5.1.0_r3/bin:$PATH
  3. 在android-5.1.0_r3/bin下,执行git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/
  4. 在clone到的git-repo文件夹中找到repo,copy到android-5.1.0_r3/bin下
  5. 修改repo
    google的地址
    REPO_URL = 'https://gerrit.googlesource.com/git-repo'
    改为清华大学的地址
    REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'
  6. chmod a+x repo
  7. 进入android-5.1.0_r3/resources下,执行repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.1.0_r3
  8. (这一步因为我之前有下载,所以没有遇到)之后会要求输入用户名和邮箱地址,可以随机输入。如果以后要向google递交bug,那么需要输入有效的google帐户。完成之后如果出现 “repo initialized in /home/taskiller/android”,则表示初始化完成,可以开始下载源码了。
  9. (这个才是我遇到的第8项)出现了"repo has been initialized in /home/zyl/android-5.1.0_r3/resources
    "
  10. repo sync或使用附件里的android_download_auto_repo.sh脚本(使用前请chmod a+x 它)

 特别注意:在使用清华大学的镜像源时发现会大面积的拒绝连接,然后error,经过各种实验,网上的对策都不适合我这个问题,最简单有效的方法是,换个ip(原来我是在家里repo的,出了问题,笔记本拿去公司再repo才完成了repo),特此纪念:(


因为有编译android-4.4.4_r2.0.1(庆幸自己使用的是ubuntu14.04 64位,也在编译前切换jdk至1.6版本),期间有出现比较尴尬的地方是切换jdk(因为需要切换到jdk6)

  • 安装了jdk1.6.0.45
  • 使用sudo update-alternatives --install /usr/bin/java java ****/jdk1.6.0.45/bin/java 16045 命令分别将java,javac,javadoc,jar,javah,javap 关联起来
  • 最后分别使用了sudo update-alternatives --config java 诸如此命令将java,javac,javadoc,jar,javah,javap都切换成jdk1.6.0.45

另外:

1.以前我将jdk的环境变量增加在了/etc/profile里这样对整个系统有起作用,但是我最后还是将其和其他我自己的环境变量(如:android sdk和android ndk)更改到了~/.bashrc中

2.JDK的环境变量配置我设置成了

#set java environment
export JAVA_HOME=/usr/local/java/jdk1.7.0_51
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

目的是在使用sudo update-alternatives切换jdk时能真正的切换过来,将java的软链接能真正的指向切换后的jdk版本(用java -version查看是否有切换成功)

3.在切换jdk时,将环境变量如果写在了/etc/profile中,那么修改后使用source /etc/profile有时不能及时生效,需要注销或者重启系统才能生效,所以我将环境变量更改至~/.bashrc中

 


国内镜像:

仓库地址:

git://aosp.tuna.tsinghua.edu.cn/android/

使用浏览器访问:
http://aosp.tuna.tsinghua.edu.cn/android/

 

附循环repo的shell脚本:

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