问一个:android源代码,如何切换版本。
看着Google的教程,下载了android的源代码。
默认分支是android-4.0.1_r1.
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
代码下载完成了,也编译通过,并在虚拟机中运行了。
最大的问题是:
如何将代码的版本从4.0.1降到2.3.6呢?
网上找一个切换分支的文档,就是不成功。
疑问:是不是切换分支,就可以更改android代码的版本?
文档如下:
查看可切换的分支
cd .repo/manifests
git branch -a | cut -d / -f 3
以 gingerbread-release 分支为例
repo init -b gingerbread-release
repo sync (not needed if your local copy is up to date)
repo start gingerbread-release --all
查看当前的分支
repo branches
在android源代码的根目录下运行这句话:
repo init -b gingerbread-release
出错,
信息如下
yu@yu-laptop:~/WORKING_DIRECTORY$ repo init -b gingerbread-release
... A new repo command ( 1.18) is available.
... You should upgrade soon:
cp /home/yu/WORKING_DIRECTORY/.repo/repo/repo /home/yu/bin/repo
Traceback (most recent call last):
File "/home/yu/WORKING_DIRECTORY/.repo/repo/main.py", line 408, in <module>
_Main(sys.argv[1:])
File "/home/yu/WORKING_DIRECTORY/.repo/repo/main.py", line 388, in _Main
result = repo._Run(argv) or 0
File "/home/yu/WORKING_DIRECTORY/.repo/repo/main.py", line 138, in _Run
result = cmd.Execute(copts, cargs)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/subcmds/init.py", line 322, in Execute
self._SyncManifest(opt)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/subcmds/init.py", line 192, in _SyncManifest
m.MetaBranchSwitch(opt.manifest_branch)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/project.py", line 2151, in MetaBranchSwitch
self.Sync_LocalHalf(syncbuf)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/project.py", line 1041, in Sync_LocalHalf
lost = self._revlist(not_rev(revid), HEAD)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/project.py", line 1816, in _revlist
return self.work_git.rev_list(*a, **kw)
File "/home/yu/WORKING_DIRECTORY/.repo/repo/project.py", line 1961, in rev_list
p.stderr))
error.GitError: manifests rev-list ('^12303f87b9f90c07bf4aec4c4353ba514ee70c8a', 'HEAD', '--'): fatal: bad revision 'HEAD'
求过各位大侠不吝指点。
[解决办法]
删除.repo 目录下的 除 repo 文件夹之外的其它所有文件,重新执行inti和sync,我试过可以。
[解决办法]
人家不是提示你了吗
cp /home/yu/WORKING_DIRECTORY/.repo/repo/repo /home/yu/bin/repo
执行以下,再进行下载试试!
[解决办法]