首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在本地仓库切换android版本?

如何在本地仓库切换android版本?
EN

Stack Overflow用户
提问于 2012-12-23 10:13:30
回答 2查看 11.6K关注 0票数 18

我已经用以下命令下载了整个工作树:

代码语言:javascript
复制
repo init -u https://android.googlesource.com/platform/manifest
repo sync -j8

成功同步后,我想将工作树切换到android 2.3.7。你看,当"repo init“时,我没有指定带有"-b”参数的分支。所以我想所有的标签信息都应该下载,我可以通过下面的命令很容易地切换到android 2.3.7:

代码语言:javascript
复制
repo forall -c git checkout android-2.3.7_r1

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

代码语言:javascript
复制
error: pathspec 'android-2.3.7_r1' did not match any file(s) known to git.

那么我怎么才能在没有"repo init -b android- 2.3.7 _r1“和"repo sync”的情况下切换到android 2.3.7呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-16 15:56:03

您无法使用repo forall解决此问题。

让我们假设您当前的Android树是干净的-没有本地更改或提交,即repo status没有显示任何内容。

要正确切换Android版本,您只需更改清单存储库的分支即可。首先确定具有不同Android版本清单的可用分支:

代码语言:javascript
复制
cd $ANDROID_ROOT
cd .repo/manifests
git branch -av   # see all available branches on origin

选择一个版本并

代码语言:javascript
复制
cd $ANDROID_ROOT
repo init -b <my_selected_android_version>

这种带有-b的选择性repo init (没有-u)只会更新清单分支,否则不会接触到你的树。

现在,简单地同步它:

代码语言:javascript
复制
repo sync -j8

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

此操作的速度主要取决于新旧安卓版本之间default.xml清单文件的差异-因为如果在新清单中添加某个git存储库,它将花费时间克隆它。如果某个存储库被删除了,它实际上会把它吹走。

但是,总的来说,这种方法仍然比从头开始初始化全新的Android树要快得多。

票数 23
EN

Stack Overflow用户

发布于 2016-03-31 16:31:30

如果您所在的分支和要切换到的分支具有相同的manifest.xml文件,则可以使用以下命令来执行此操作。

代码语言:javascript
复制
repo forall -c git fetch aosp --tags 
repo forall -c git checkout -b john5.1.1_r14_api22 android-5.1.1_r14

另请参阅http://johnliao52.github.io/2016/03/27/git-repo-skills.html中的详细信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14008113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档