Android杂谈:源码下载小结

作者: 我在等你回复可你没回 | 来源:发表于2017-05-13 14:13 被阅读263次
    景甜

    Android源码下载都是老生常谈了,这个纯碎是纪录一下。

    下载repo工具

    repo其实就是一个能够下载多个git仓库的工具啦,是python写的一个脚本。为什么不直接用git呢?因为Android源码是由很多个仓库组成的,你不可能一个个去下吧?所以就诞生了repo工具,主要是解释一个xml文件,去下载仓库到特定目录。

    mkdir ~/bin                //放置repo的目录
    PATH=~/bin:$PATH     //将路径设置到环境变量中去
    curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo     //下载repo工具
    chmod a+x ~/bin/repo   //改变工具权限,所有人都可以执行
    

    repo解释xml文件

    上面说到repo主要是用来解释xml文件的,那这个xml文件在哪里呢?我们把他下载下来。
    下载路径就是这个
    https://android.googlesource.com/platform/manifest/
    哟,不就是一个git仓库吗? 哈哈,其实这个xml也是在一个git仓库里面。
    你可以使用标准的git命令下载

    git clone https://android.googlesource.com/platform/manifest
    

    当然repo工具也可以下载这个仓库,-u是指定下载路径,-b是指定分支,下面命令指定了android-6.0.1_r1分支。

    repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r1
    

    那这个仓库有些啥呀?,看看下图,其实就只有一个xml文件,囧。


    仓库内容

    看看xml文件都写了些啥玩意,可以看到里面有很多project,每个project就是一个仓库。repo会下载这些仓库。而仓库的分支就是由xml中的revision指定啦!下面的代码就是下载android-7.1.2_r11分支的代码啦。

    <?xml version="1.0" encoding="UTF-8"?>
    <manifest>
      <remote  name="aosp"
               fetch=".."
               review="https://android-review.googlesource.com/" />
      <default revision="refs/tags/android-7.1.2_r11"
               remote="aosp"
               sync-j="4" />
      <project path="build" name="platform/build" groups="pdk" >
        <copyfile src="core/root.mk" dest="Makefile" />
      </project>
      <project path="build/blueprint" name="platform/build/blueprint" groups="pdk,tradefed" />
      <project path="build/kati" name="platform/build/kati" groups="pdk,tradefed" />
    .....
    

    但由于国内google被墙原因,一般都下载不了~~
    所以,只能找国内的镜像下载,清华有个镜像,真良心。
    但我这边执行这个,就因为网络原因停了。

    repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-6.0.1_r1
    

    原来是下载xml时,还会去下载repo的一些python脚本。下面这些

    repo python 脚本
    但repo的脚本地址是放在google服务器的。所以要修改repo的服务器地址。编辑 ~/bin/repo文件,把 REPO_URL 一行替换成下面的:
    REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'
    参考:http://m.blog.csdn.net/article/details?id=51348647
    这样我们就能跑去清华那里下载罗。

    一些git仓库地址

    google的都放在这里
    https://android.googlesource.com

    google Android仓库
    清华的放在这里,丑哭了~
    http://mirrors.ustc.edu.cn/aosp/platform/ 清华 Android仓库

    下载

    最后repo sync 就可以下载了!

    总结

    1.下载repo工具
    2.repo init 可以下载一个xml文件和部分repo辅助工具,xml里面纪录着要下载的仓库和分支。
    3.repo sync 完成下载。

    相关文章

      网友评论

        本文标题:Android杂谈:源码下载小结

        本文链接:https://www.haomeiwen.com/subject/uvexxxtx.html