AOSP 国内源下载

引用摘抄自 : https://www.jianshu.com/p/8e17af125ffb

目录

  • repo说明
  • 安装Repo
  • 下载源码

一、repo说明

  • 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>

二、安装Repo

mkdir ~/bin
PATH=~/bin:$PATH

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo  #使用清华大学镜像
chmod a+x ~/bin/repo

三、下载源码

mkdir aosp
cd aosp
export REPO_URL=‘https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/’ #如需使用清华镜像,将改内容复制到 ~/bash.rc内
git config --global user.email “usergmail@gmail.com”
git config --global user.name “username”
#初始化仓库,并设置下载的源码版本为安卓9
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r8
#同步源码
repo sync

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值