如何在本地回购切换Android版本?(How to switch android version

2019-08-04 13:42发布

我已经下载了整个工作树下面的命令:

repo init -u https://android.googlesource.com/platform/manifest
repo sync -j8

同步成功后,我想切换工作树到Android 2.3.7。 你看,我没有用“-b”参数时,“回购初始化”指定分支。 所以我想所有的标签信息应下载,我可以方便地切换到Android 2.3.7使用下面的命令:

repo forall -c git checkout android-2.3.7_r1

但它会产生许多错误,如:

error: pathspec 'android-2.3.7_r1' did not match any file(s) known to git.

所以,我怎么可以切换到Android 2.3.7没有“回购初始化-b Android的2.3.7_r1”和“回购同步”了?

Answer 1:

使用你解决不了这个问题repo forall

让我们假设为肯定,你目前的Android树是干净的-没有本地更改或承诺,即repo status显示什么。

要正确切换Android版本,你需要改变的是你的清单库分支。 首先确定与体现为不同的Android版本可用的分支:

cd $ANDROID_ROOT
cd .repo/manifests
git branch -av   # see all available branches on origin

选择一个版本,

cd $ANDROID_ROOT
repo init -b <my_selected_android_version>

这种选择性repo init-b (无-u )将只更新清单分支,否则不会碰你的树。

现在,简单地同步它:

repo sync -j8

并在一段时间后,你的Android树将切换到另一个版本。

这种操作的速度主要是由多如何确定default.xml ,因为如果在新的清单中增加了一些git仓库,它会花时间将其克隆-清单文件的不同新旧的Android版本之间。 如果一些仓库被删除,如果将实际吹去。

但是,总的来说,这种方法还是比重新初始化全新的Android树要快得多。



Answer 2:

如果分支你是在和你将切换到该分支下有相同的manifest.xml文件,那么你可以用下面的命令来做到这一点。

回购FORALL -c混帐取AOSP --tags回购FORALL -c git的结帐-b john5.1.1_r14_api22 Android的5.1.1_r14

又见详细http://johnliao52.github.io/2016/03/27/git-repo-skills.html



文章来源: How to switch android version in local repo?