android系统定制从听说到入门六-从红灯区从业者到谷歌开发者
2017-06-24 本文已影响1205人
小怪兽打葫芦娃
android系统定制系列:
- android系统定制从听说到入门一
- android系统定制从听说到入门二
- android系统定制从听说到入门三
- android系统定制从听说到入门四
- android系统定制从听说到入门五
- android系统定制从听说到入门六
本文配套视频:
http://www.365yg.com/item/6435004372127580673/
repo与git的关系
AOSP:本质上是一堆使用git进行版本控制的project。
repo:针对AOSP大量git仓库的管理工具。可以执行批量git同步,更新,提交等操作。
原理:通过读取manifest.git里维护的manifests.xml文件当中配置的projects的git仓库地址,分支等信息执行git操作。将服务器上按照特定目录结构保存的project原封不动的同步到本地。
关系:repo基于git,让超大型的项目代码管理更有效率。
manifest.xml文件解释:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://android.googlesource.com" name="aosp" review="android-review.googlesource.com" revision="refs/tags/android-6.0.1_r74" />
<!-- 可以配置多个remote -->
<remote name="repo_remote"
fetch="." />
<!-- 配置git remote 远程服务器信息 -->
<!-- name ,远程服务器的名字 -->
<!--fetch: 以下projects仓库地址的公共前缀。如果是(.)(..),则是相对路径形式(相对manifest.git)比如:aosp的manifest的仓库地址为https://android.googlesource.com/platform/manifest
配置..代表公共前缀为https://android.googlesource.com/
配置.代表公共前缀为https://android.googlesource.com/platform
${remote_fetch}/${project_name}.git 组成git仓库的remote url -->
<!-- project 默认的配置 -->
<default revision="master"
remote="repo_remote"
sync-j="4" />
<!-- revision:project 节点默认的revision值
remote:project 节点默认的remote值
sync-j: 执行repo sync -j的参数值。多任务
-->
<project path="build/project1" name="project1" remote="repo_remote" revision="master"/>
<!--
path:告诉repo,project1代码下载下来保存在WORK_DIR下的那个目录)
name:服务器仓库的名字。拼接在remote_fetch 的后面,组成git服务器仓库的remote url地址。
remote: 告诉repo,project1的remote是走那一个<remote>节点的配置
revision: 告诉repo,下载这个Git project 的那个分支
-->
<project path="project1" name="project1" remote="repo_remote" revision="master"/>
</manifest>
-
欢迎关注微信公众号、长期为您推荐优秀博文、开源项目、视频
-
微信公众号名称:Android干货程序员