【问题标题】:Stock Android OS downloading [AOSP] and sync issueStock Android OS 下载 [AOSP] 和同步问题
【发布时间】:2017-04-27 13:35:32
【问题描述】:

我开始我的 AOSP 下载时遇到了很多问题。 我按照谷歌官方网站的说明进行操作。

$ mkdir ~/aosp/bin

$ PATH=~/aosp/bin:$PATH

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/aosp/bin/repo

$ chmod a+x ~/aosp/bin/repo

$ mkdir zero

$ cd zero

$ git config --global user.name "Your Name"

$ git config --global user.email "you@example.com

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1

$ repo sync -j2 -f

截至目前,我的 .repo 文件夹为 40GB,同步仍持续 2 天。请任何人帮助我,我所需要的只是 KitKat OS。 也有人可以告诉我 repo 目录中的项目对象和项目目录。

提前致谢

【问题讨论】:

  • 改进了格式和语法。

标签: android android-source


【解决方案1】:

当你这样做时:

 repo sync -j2 -f

您正在同步所有内容,这是巨大的。试试这个:

 repo sync -j8 -c

这只会同步初始化的清单,它不是那么大。当您不使用 -m 选项指定清单名称时,如果您要查找 default.xml,正如我在 https://android.googlesource.com/platform/manifest/+/refs/heads/android-4.4.2_r1 中看到的那样,这就是您想要的分支的清单文件。

还有-j指定使用的线程,现在你至少可以给-j8一个尝试。

使用-f 强制下载,这不会影响下载内容的大小和速度。如果需要,您可以删除它。

希望对你有帮助!

【讨论】:

  • 你认为我现在应该怎么做?停止由 repo sync -j2 -f 启动的正在进行的同步并重新开始 repo sync -j8 -c ?或者让它完成,因为我在 42 GB 将停止正在进行的同步并执行 repo sync -j8 -c 删除以前下载的数据?
  • 是的,我会阻止它,它不会删除已经同步的项目。如果您认为我的回答适合您,请考虑批准和/或投票。
  • 因此,作为检查,我将停止由 repo sync -j2 -f 发起的正在进行的同步,并使用 repo sync -j8 -c 重新开始。我现在必须在 repo sync -j8 -c 之前运行任何其他命令吗?
  • 不,你没有。 repo 已经初始化,只有当你想切换分支或清单文件声明时才需要该步骤
  • 我已停止由 repo sync -j2 -f 启动的同步。我下一步该怎么做? 1. 回购同步 -j4 -c ? 2.还有其他命令吗?请帮助我通过这个@Olaia 提前谢谢
【解决方案2】:

经过一周的努力,从谷歌完成了 KITKAT OS 的 repo 同步。即使您只选择一个特定的操作系统,它也会达到 58 GB。在这 58 GB 中,您的 KITKAT OS 将只有 9.5 GB。休息是您工作目录中的 .repo。同步完成后,您将在 .repo 旁边的 WORKING DIRECTORY 中找到您的操作系统源代码。

步骤:

$ mkdir ~/bin

$PATH=~/bin:$PATH

$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

$ mkdir WORKING_DIRECTORY

$ cd WORKING_DIRECTORY

$ git config --global user.name "你的名字"

$ git config --global user.email "you@example.com"

$ repo init -u https://android.googlesource.com/platform/manifest -b 操作系统版本

查看 google 的“源代码标签和构建”页面以选择您的操作系统版本。

$ repo sync -j18 -c

可以与 repo sync 一起使用的标志

sync-j - 这个值将是同步系统时使用的线程数。并行化有助于更快地完成工作,但也可能导致计算机或网络卡住。使用 4 个线程是常用的同步方式。

sync-c - 仅从 git 同步当前分支/标签。这将为每个项目仅签出我们为其指定的当前分支/标签,而不是存储库中存在的任何其他分支。这将有助于节省一些空间和带宽(以及时间),但如果您稍后需要在特定项目的分支之间切换 - 您需要手动获取它。

我花了 8 天时间才完成这项工作,因为我的网速很慢 (100kbps)。

感谢@Olaia 提供的所有帮助。希望这对那里的任何人都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-14
    • 2015-11-16
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多