android源码管理工具

网友投稿 717 2022-05-29

Google使用git和repo管理AOSP源码。

android源码管理工具

概念区分

1、Git和git(https://source.Android.com/setup/develop#git)

Git是版本控制系统,我们使用git工具进行代码仓库和分支的管理。比如我可以使用git clone从远程仓库的一个分支下载代码到本地,可以git push将本地仓库的某一个分支推送到远程仓库的分支,关于git使用可以参考progit

Google将android源码拆分成许多个Git仓库,我们知道每一个git仓库下有.git文件

hinzer@ubuntu:android-10$ find -name ".git" ./developers/demos/.git ./developers/build/.git ./developers/samples/android/.git ./.repo/repo/.git ./.repo/manifests/.git ./cts/.git ./platform_testing/.git ./prebuilts/go/linux-x86/.git ./prebuilts/go/darwin-x86/.git ./prebuilts/build-tools/.git ./prebuilts/clang/host/linux-x86/.git ./prebuilts/clang/host/darwin-x86/.git ./prebuilts/checkcolor/.git ./prebuilts/android-emulator/.git ./prebuilts/asuite/.git ./prebuilts/gradle-plugin/.git ./prebuilts/manifest-merger/.git ^C

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

2、Repo和repo(https://source.android.com/setup/develop#repo)

然后使用一个Repo仓库对这些拆分开来的Git仓库集中起来进行管理,在源码根目录下有一个.repo文件,其中manifest.xml是一个清单文件,记录了远程分支、本地分支、本地目录之间对应关系。

hinzer@ubuntu:android-10$ tree .repo -L 1 .repo ├── manifests # git仓库,清单文件列表 ├── manifests.git ├── manifest.xml # 重要,当前清单文件的指向!! ├── project.list ├── project-objects ├── projects └── repo # git仓库,包含repo运行的所有脚本 5 directories, 2 fileso

1

2

3

4

5

6

7

8

9

10

11

12

在.repo目录之前,还有一个repo工具(通过repo init来初始化Repo仓库),这是一个python写的脚本,可以直接阅读源码(也就是可执行文件的位置)查看代码逻辑。

hinzer@ubuntu:android-10$ whereis repo repo: /home/hinzer/bin/repo hinzer@ubuntu:android-10$ cat /home/hinzer/bin/repo ... ...

1

2

3

4

5

6

7

PS: google将android源码拆分成许多个Git仓库,又通过Repo将这些拆分还原回一个android源码。像不像计算机原理中的化整为零,还零为整的思想?

平时使用o

1、Repo和Git

Repo 并非用来取代 Git,只是为了让您在 Android 环境中更轻松地使用 Git。一般我们使用repo命令建立Repo仓库,同步android源码;使用git命令对我们修改的其中一个模块提交。

2、Gerrit仓库

一个网页系统,用于代码审核,也方便查看别人提交的patch。

3、OpenGrok

网页系统,在线阅读源码的利器。

4、Android Studio

用于开发 Android 应用的官方集成开发环境 (IDE)。

相关资料

Git 文档

Repo介绍

Repo 命令参考文档

Android Git

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:数据库视频第二章
下一篇:《软件需求分析(第二版)》第 13 章——需求开发面临的特殊难题 重点部分总结
相关文章