android 源码下载


    最近一直在尝试下android 源码的下载,昨天晚上折腾了好久,终于成功了。其实,主要就是怎么解决googleFQ的问题。最终在网上看到的方法,就是不适用google的地址,而是从其他的网站上获取源码。现在记录下方法如下:
    1.在自己的主目录下创建bin目录,添加到环境变量中。
     

        mkdir ~/bin
        PATH=~/bin:$PATH(添加环境变量)
        chmod a+x ~/bin


    2.根据网上提供的方法,我们获取google的repo(这个应该是服务器地址)

        (1)curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo(repo 成功)

        (2)repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.1_r9(进行repo操作)

    这个方法失败了,提示如下

    fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
    fatal: error [Errno 101] Network is unreachable


    看起来是因为网络需要FQ。网上寻找其他方法
    3.获取其他服务器上的repo地址

        git clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git/(这个应该是获取一个网站上的信息集合,得到一个git-repo文件夹)    


    4.将步骤三中获得的repo放到~/bin目录下

        ~/bin中去 cp repo ~/bin/

    5.更改repo下的uri如下

        REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'


    6.在代码文件夹中进行repo仓库拷贝

        repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest    

        执行到这一步的时候,出现了如下的问题:

Run
        git config --global user.email "you@example.com"
        git config --global user.name "Your Name"

        to set your account's default identity.
        Omit --global to set the identity only in this repository.

        fatal: unable to auto-detect email address (got 'zhangshuli@zhangshuli.(none)')

 


        这里是让我们增加一个邮箱,我们只需要按照上面的命令提示,增加一下邮箱跟个人信息就够了。不过,这个东西似乎可以随便写的,应该只有你需要向服务器上传东西的时候,才会用到的(比如通知一些信息等)

    git config --global user.email "1554525476@qq.com"
    git config --global user.name "zhangshuli"


    7.最后我们使用一个脚本来执行repo sync操作
        比我我创建的脚本名称是zsl_repo.sh
        内容如下

    export PATH=~/bin:$PATH
    repo sync -j2
    if [  "$?" != "0" ]; then
            sleep 30
            repo sync -j2
   fi

 然后我们运行sh zsl_repo.sh就可以了
 这个方法最终成功的获得了源码

    上述方法参考自http://blog.csdn.net/sunao2002002/article/details/47869281

 

补充:

    后来发现清华大学官网上有了更新,有更直接的方法

摘录如下

由于首次同步需要下载 24GB 数据,过程中任何网络故障都可能造成同步失败,我们强烈建议您使用初始化包进行初始化。

下载 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar,下载完成后记得根据 checksum.txt 的内容校验一下。

由于所有代码都是从隐藏的 .repo 目录中 checkout 出来的,所以我们只保留了 .repo 目录,下载后解压 再 repo sync 一遍即可得到完整的目录。

使用方法如下:

wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包
tar xf aosp-latest.tar
cd AOSP   # 解压得到的 AOSP 工程目录
# 这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录
# 或 repo sync -l 仅checkout代码

此后,每次只需运行 repo sync 即可保持同步。 

不过,在repo sync的时候,出现连接错误,这时候我们可以查看下.repo/manifest.xml指向的文件

.repo/manifest.xml -> manifests/default.xml

把default.xml中的

  <remote  name="aosp"
           fetch=".."
           review="https://aosp.tuna.tsinghua.edu.cn/" />
  <default revision="master"
           remote="aosp"
           sync-j="4" />

review改成清华地址即可

posted @ 2016-03-20 11:17  小白屋  阅读(900)  评论(0编辑  收藏  举报