android源码管理工具

举报
王建峰 发表于 2021/11/19 01:13:41 2021/11/19
【摘要】 Google使用git和repo管理AOSP源码。 概念区分 1、Git和git(https://source.android.com/setup/develop#git) Git是版本控制...

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

概念区分

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)。

相关资料

文章来源: blog.csdn.net,作者:hinzer,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/feit2417/article/details/105187330

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。