使用 Google 的回购工具

问题描述

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

详细:

我想下载安卓源代码。编辑一些代码,然后将其安装到设备上。我安装了一个 linux 操作系统,并下载/初始化了 repo。但是,对于我的一生,我无法理解如何使用 REPO。

我使用操作系统标签:OPR4.170623.009。这是android-8.0.0_r16奥利奥

这是下面的命令:

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

这很奇怪,因为“下载源代码页面实际上并不是关于如何实际下载源代码页面。 (https://source.android.com/setup/build/downloading#initializing-a-repo-client)。看起来我应该使用同步和“源代码标签”。但是它没有说明如何将这两者放在一起:

这里:

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

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

解决方法

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

因此您必须采取的步骤如下:

  • 使用您想要的构建标记(例如 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 的一部分。此外,您的设备可能有一个锁定的引导加载程序,不允许刷新自定义图像。我无法提供更多详细信息,因为我不知道您所针对的设备。