Android source 如何在分叉AOSP清单后正确运行repo sync?

Android source 如何在分叉AOSP清单后正确运行repo sync?,android-source,android-build,repo,Android Source,Android Build,Repo,最近,我决定投身于Android开源项目领域。这就是我对AOSP生活的看法: 为了深入AOSP世界,我需要动手修改项目中的代码。我将在三台不同的计算机上执行此操作,因此我需要将我的工作存储在远程git存储库中。因此,我需要在我自己的github帐户中分叉AOSP清单,并从中开始工作 假设稍后我尝试使用frameworks项目,那么我还需要将该项目转移到我自己的github帐户中: <project path="frameworks/base" name="platform/framewor

最近,我决定投身于Android开源项目领域。这就是我对AOSP生活的看法:

为了深入AOSP世界,我需要动手修改项目中的代码。我将在三台不同的计算机上执行此操作,因此我需要将我的工作存储在远程git存储库中。因此,我需要在我自己的github帐户中分叉AOSP清单,并从中开始工作

假设稍后我尝试使用frameworks项目,那么我还需要将该项目转移到我自己的github帐户中:

<project path="frameworks/base" name="platform/frameworks/base" groups="pdk-cw-fs,pdk-fs" />
那么我会:

repo sync -u git@github.com:my_own_github_account/platform_manifest.git
repo sync
但是,我在控制台中收到了很多错误,如:

fatal: remote error: 
  my_own_github_account/platform/external/libopus is not a valid repository name
  Email support@github.com for help
看来回购协议将假定这些项目将来自与清单项目相同的基础。我不知道如何正确地与分叉清单进行回购同步


此外,我不确定我尝试开始AOSP工作的方式是愚蠢的还是不专业的。如果是这样的话,如果你能给我指出正确的方法,我将不胜感激。提前谢谢。

事实上,我发现这篇文章几乎完美地回答了我的问题:

我无法执行回购同步的原因是因为回购文件中有以下行:

<remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />

两点表示获取相对于回购清单项目本身的项目。这就是回购试图从我自己的github账户同步的原因

然后我把它改成了

  <remote  name="aosp"
           fetch="https://android.googlesource.com" />

然后回购同步正常工作

如果我想从自己的github帐户同步某个特定项目,该怎么办?

当然,您需要将该项目镜像到您自己的github帐户。然后修改清单文件,如下所示:

将此行添加到清单文件:

 <remote name="origin" fetch="https://github.com/my_own_github_account" />

该名称是要用于您自己的子项目的远程获取源

然后添加以下内容:

<project path="frameworks/base" name="platform/base"
            remote="origin" revision="your_default_revision" />

请注意,为了覆盖默认远程获取源,您需要添加
remote=“origin”

然后,当您执行
repo sync
时,repo将从您自己的github帐户获取framework/base,并从googlesource获取其他项目