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