使用 Google 的回购工具

Using Google's Repo Tool

简单问题:如何使用linux mint上的repo工具下载android操作系统源代码版本8.0.0?

详细:

我想下载android源代码。编辑一些代码,然后将其安装到设备上。我安装了 linux 操作系统和 downloaded/initialized 存储库。但是,对于我的生活,我无法理解如何使用 REPO。

我使用操作系统标签:OPR4.170623.009。即 android-8.0.0_r16 Oreo

也就是下面的命令:

repo sync [OPR4.170623.009]

我得到这个结果

... A new version of repo (2.12) is available.
... You should upgrade soon:
    cp /home/k/.repo/repo/repo /home/k/bin/repo

error: project [OPR4.170623.009] not found

我什至试过了

repo sync [<OPR4.170623.009>]

我得到了

bash: OPR4.170623.009: No such file or directory

这很奇怪,因为 'Downloading the Source' 页面并没有真正说明如何实际下载源代码。 (https://source.android.com/setup/build/downloading#initializing-a-repo-client)。看起来我应该使用同步和 'source code tags'。但是它没有说明如何将这两者放在一起:

这里:

repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]

它显示了一些示例,但看起来一点也不像他们的标签?

您要下载的版本必须指定 repo init,而不是 repo sync。此外,版本是使用标签指定的,而不是构建 ID(this 列表中的第二列)。

所以您必须采取的步骤如下:

  • 用你想要的构建标签初始化repo(例如android-8.0.0_r16):

    repo init -u https://android.googlesource.com/platform/manifest -b android-8.0.0_r16
    
  • 同步回购:

    repo sync --jobs=32 --current-branch --no-tags --quiet
    

    传递给 repo sync 的附加标志不是必需的,但可能会有帮助:标志 --jobs=32 将尝试并行下载 32 次(根据您的网络带宽进行调整)。标志 --current-branch 将只下载您在 repo init 期间指定的分支。标志 --no-tags 将禁止下载标签数据。使用标志 --quiet 只会显示整体下载进度。

一些一般说明:您表示要将图像刷入设备。请注意,您的设备可能需要将特定于设备的驱动程序包含在映像中。这些驱动程序通常不是 AOSP 的一部分。此外,您的设备可能有一个锁定的引导加载程序,不允许闪烁自定义图像。我无法提供更多详细信息,因为我不知道您的目标设备。