repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r25 --worktree
这里的 --worktree
参数非常重要,不加的话会出现 error.GitError: Cannot initialize work tree for manifests 错误。这个
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
功能也是谷歌在这个月底才更新的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GXk9ZcKZ-1638084455399)(https://user-gold-cdn.xitu.io/2020/2/22/1706d37e0cdbf737?imageView2/0/w/1280/h/960/ignore-error/1)]
最终我也试了下repo sync,repo upload等命令均无问题。
以下是旧文,强烈推荐分隔线以上的最新官方解决方案。
2020真是魔幻的一年,受疫情影响,大家年后一段时间都远程办公了。奈何很多同事在家没有Linux开发环境,想在Windows上通过repo工具下载Android源码简直比登天还难。
网上搜来受去没几个讲透彻的,今天给大家整活。按下面步骤来,保证OK,我们最终以 repo init 执行成功为目标。
先到官网(git-scm.com/download/wi…)下载 64-bit Git for Windows Setup 然后安装,基本上一路下一步,但需要注意几点:
先到官网(www.python.org/downloads/r…)下载 Windows x86-64 MSI installer ,这貌似是Python 2时代的最后一个版本了。安装一路下一步即可。
上述俩基础组件装完了,检查一下环境变量,Path路径该加的加上,Windows如何查看并添加系统环境变量请大家自行搜索。需要添加如下:
C:\Program Files\Git\cmd
C:\Program Files\Git\bin
C:\Program Files\Git\usr\bin
C:\Python27
C:\Python27\Scripts\
C:\Users\你的用户名\bin
路径和你安装时的选择相关,切勿直接照抄。还是给大家整个图吧。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VZI0Jro3-1638084455421)(https://user-gold-cdn.xitu.io/2020/2/22/1706d37e0d8cb23a?imageView2/0/w/1280/h/960/ignore-error/1)]
repo原本是谷歌搞的一个方便下载AOSP的工具,基于git,但由于种种原因,不能直接在Windows上使用。但好心的基佬Hub网友开发了一套改良版的repo,适用于Windows,解决各种Error问题。
首先要把repo命令脚本搞定。在任意处打开 Git Bash (点桌面的快捷方式也可以),然后:
mkdir ~/bin
curl https://raw.githubusercontent.com/esrlabs/git-repo/stable/repo > ~/bin/repo
curl https://raw.githubusercontent.com/esrlabs/git-repo/stable/repo.cmd > ~/bin/repo.cmd
chmod a+rx ~/bin/repo
接下来,基本上就和Linux上的操作差不多了。但在repo init时,需要增加或修改 repo-url 参数,具体如下:
mkdir ~/AOSP
cd ~/AOSP
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r25 --repo-url=https://github.com/esrlabs/git-repo.git
注意点:
--repo-url=https://github.com/esrlabs/git-repo.git
,替换掉原生的repo工具链,就能成功初始化了。ssh-keygen
然后复制 ~/.ssh/id_rsa.pub
文件中的内容添加到Gerrit等源码平台上即可。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sjH6YXTP-1638084455422)(https://user-gold-cdn.xitu.io/2020/2/22/1706d37e0d0189ff?imageView2/0/w/1280/h/960/ignore-error/1)]
.repo/repo
子目录下面,然后再重新执行repo init命令,当然这次就不要带 repo-url 参数了。