项目模块化/组件化之后各模块也作为独立的 Git 仓库从主项目里剥离了出去,各模块各自管理自己的版本。Android源码引用了很多开源项目,每一个子项目都是一个Git仓库,每个Git仓库都有很多分支版本,为了方便统一管理各个子项目的Git仓库,需要一个上层工具批量进行处理,因此repo诞生。
repo也会建立一个Git仓库,用来记录当前Android版本下各个子项目的Git仓库分别处于哪一个分支,这个仓库通常叫做:manifest仓库(清单库)。
二.repo下载安装
git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
三.使用repo工具下载安卓源码
sky-build@sky-build:~/project/rs09$ ./../git-repo/repo init -u git@192.168.1.18:android11-rk3568/manifest.common.git -m Android11.common.xml
命令效果:
首先当前目录产生一个.repo目录
然后克隆一份repo的源代码到.repo/repo下,里面存放了其他repo子命令,即repo的主体部分。
接着从manifest_git_path仓库地址clone清单库到.repo/manifests和.repo/manifests.git目录。
同时.repo目录下还包括manifest仓库(清单库)内容
sky-build@sky-build:~/project/rs09/.repo$ ls -l
total 16
drwxrwxr-x 4 sky-build sky-build 4096 Aug