Google AOSP 源码获取

CListery ARE YOU OK?

AOSP,全称”Android Open Source Project”,中文意为”Android 开放源代码项目”。发起者是谷歌,主要用途是移动设备的系统。

准备工作

安装 REPO

1
2
3
4
5
6
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
## 如果上述 URL 不可访问,可以用下面的:
## curl -sSL 'https://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
chmod a+x ~/bin/repo

下载每月更新的初始化包

由于大陆受到 GFW 的限制,所以直接访问 Google 代码仓库会受到限制,所以这里我们通过 Mirror 镜像加速

这里我们使用 科大源 的镜像仓库
第一次同步数据量特别大,如果网络不稳定,中间失败就要从头再来了。所以我们提供了打包的 AOSP 镜像,为一个 tar 包,大约 200G(单文件 200G,注意你的磁盘格式要支持)。这样你 就可以通过 HTTP(S) 的方式下载,该方法支持断点续传。

注意!下载完成后请检查 checksum 是否匹配,避免重复操作

  • 下载完成后解压到有 200G 可用空间的分区即可

同步代码

设置分支

  • 默认同步 master 分支

  • 可以通过指定版本的方式切换分支

    1
    repo init -b android-13.0.0_r11
    • Android 版本列表

    • 也可以通过查看分支的方式本地查看版本号

      1
      2
      cd .repo/manifests
      git branch -avv
  • 首次切换完成后可能会报错,可以无视,我们只需要检查 manifest 文件查看是否切换成功
    cat .repo/manifests.git/config

    1
    2
    3
    [branch "default"]
    remote = origin
    merge = refs/heads/android-13.0.0_r11 # 这里原本是 master

同步拉取

  • 通过 repo sync 命令进行同步就可以完成最后的代码拉取

REPO 命令

开启本地分支

repo start my_branch --all

查看当前分支

repo branches

丢弃本地改动

repo forall -c git reset --hard

切换分支

repo checkout my_branch1

查看文件状态

repo status

同步指定的项目

repo sync platform/prebuilts/rust

  • 可以通过查看 .repo/manifests/default.xml 文件获取到项目名

其他配置

  • 查看 repo 运行过程中执行的 git 命令
    export REPO_TRACE=1
  • 标题: Google AOSP 源码获取
  • 作者: CListery
  • 创建于 : 2022-10-19 15:35:41
  • 更新于 : 2024-11-15 15:53:32
  • 链接: http://clistery.github.io/2022/10/19/android/aosp-get/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论