Repo简介
“Repo” 是一个用于管理多个Git存储库的工具,通常与Google的Android开发项目一起使用。它允许您在一个命令下轻松地进行多个Git存储库的同步、下载和管理。
repo下载安装
从清华镜像源下载
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo #~/bin/repo为repo下载本地的存放路径
chmod a+x ~/bin/repo
其实下载下来的repo文件只是一个使用Python编写的引导脚本(Google 称之为 Repo launcher,本质上是一个python脚本,可以使用vim打开的),完整的repo(即,repo的主体部分)还没有下载。
repo help
查看repo帮助说明,该帮助列举了repo所支持的子命令,及各个子命令的简要介绍。
如果需要查看某个具体子命令的详细介绍,执行命令repo help 即可。例如查看repo init的帮助,可以输入repo help init。
上一小节已经提及到了,下载下来的repo只是一个引导脚本,完整的repo工具还没有下载,此时执行repo help命令只能看到init和help两个子命令,而且帮助信息中还会提示repo还未安装,需要执行repo init安装。(需要注意repo init需要跟参数的,后面会单独介绍repo init的使用)
当执行完repo init下载了完整的repo工具之后,再执行repo help就会看到repo更多的子命令。
注意:repo init -u 后跟url地址,如果是自己项目,则是Android源码项目源码编辑的Repo的地址;如果是官方AOSP repo是官方配置好的,可以对比如下两个安装repo工具的方式:
repo init -u https://github.com/remote-android/platform_manifests.git -b redroid-11.0.0 --depth=1 --git-lfs # 自定义repo工具中描述源码仓库地址组织形式
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.0.0_r1 # 官方AOSP repo中源码仓库组织形式
或者
repo init -u https://android.googlesource.com/platform/manifest -b android-12.0.0_r12
如果需要某个特定的 Android 版本,特定版本标记查看
<https://source.android.google.cn/docs/setup/about/build-numbers?hl=zh-cn#source-code-tags-and-builds>
repo init -u 命令效果
首先当前目录产生一个.repo目录
然后克隆一份repo的源代码到.repo/repo下,里面存放了其他repo子命令,即repo的主体部分。
接着从manifest_git_path仓库地址clone清单库到.repo/manifests和.repo/manifests.git目录。
同时.repo目录下还包括manifest仓库(清单库)内容
.repo文件夹简介
执行repo init命令之后,会在当前目录创建一个.repo文件夹。
文件夹 描述
manifests manifest仓库(清单库)内容,即repo init的-u选项对应的仓库
manifests.git manifest仓库(清单库)的.git目录
manifest.xml 指明当前生效的Manifest文件,即repo init的-m选项对应的参数(没有该选项时默认为default.xml)
repo repo命令的主体,包含了最新的 repo 命令
manifest文件分析
所谓manifest仓库(清单库)其实就是存放

本文介绍了Repo工具在Android开发中的应用,包括下载、安装、基本命令使用(如repoinit、reposync),以及manifest文件(清单库)的作用和清单文件manifests.xml的结构。还涵盖了如何搭建Repo服务,用于批量创建工程子仓库和源代码管理。

654

被折叠的 条评论
为什么被折叠?



