如何将多个内核版本添加到本地 repo 清单

How to add multiple kernel versions to local repo manifest

我按照这个 link 创建了一个本地清单来下载特定版本的 android 内核,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />
  <default revision="master"
           remote="aosp"
           sync-j="4" />

   <project path="kernel/common" name="kernel/common" revision="android-4.4"/>
</manifest>

并使用 repo sync kernel/common

同步

如何同步多个内核版本。

根据repo document

When you run repo sync, this is what happens:
If the project has never been synchronized, then repo sync is 
equivalent to git clone. All branches in the remote repository
are copied to the local project directory.If the project has 
already been synchronized once, then repo sync is equivalent to:
   git remote update
   git rebase origin/<BRANCH>

如果你运行 repo sync,只有在你的清单中指定的修订才会被检出,但是你可以进入kernel/common文件夹到运行 git命令,例如git pullgit checkout 获取您想要的版本。

如果你只想使用 repo 命令,你可以使用不同的文件夹检出内核,即在清单中指定具有不同版本的多个项目,如下所示。

<project path="kernel/common4.2" name="kernel/common" revision="android-4.2"/>  
<project path="kernel/common4.3" name="kernel/common" revision="android-4.3"/>
<project path="kernel/common4.4" name="kernel/common" revision="android-4.4"/>