Windows安装repo的真正解决方案

这里的 --worktree 参数非常重要,不加的话会出现 error.GitError: Cannot initialize work tree for manifests 错误。这个功能也是谷歌在这个月底才更新的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

最终我也试了下repo sync,repo upload等命令均无问题。


以下是旧文,强烈推荐分隔线以上的最新官方解决方案。

背景

2020真是魔幻的一年,受疫情影响,大家年后一段时间都远程办公了。奈何很多同事在家没有Linux开发环境,想在Windows上通过repo工具下载Android源码简直比登天还难。

网上搜来受去没几个讲透彻的,今天给大家整活。按下面步骤来,保证OK,我们最终以 repo init 执行成功为目标。

走起

一、安装Git for Windows

先到官网(git-scm.com/download/wi…)下载 64-bit Git for Windows Setup 然后安装,基本上一路下一步,但需要注意几点:

  • 第一步第一项有个Add icons什么的,即添加桌面图标,默认没勾,最好勾上。
  • 最后一步有3个Enable xxx,默认第3个(和symbollink相关)没勾,请把它勾上。
二、安装Python 2.7

先到官网(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\

这一项不要忘了,先提前配置好,为repo做准备

C:\Users\你的用户名\bin

路径和你安装时的选择相关,切勿直接照抄。还是给大家整个图吧。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、安装repo

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工具链,就能成功初始化了。
  • 这里用的是清华镜像源AOSP作示例,一般做ROM开发的公司会有自己的仓库地址,请自行修改init链接。
  • 不要忘了生成ssh的public key,在Windows下也一样:在Git Bash中执行 ssh-keygen 然后复制 ~/.ssh/id_rsa.pub 文件中的内容添加到Gerrit等源码平台上即可。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果发现上面下载速度太慢,可以把 github.com/esrlabs/git… 项目直接下载下来并解压,复制解压后文件夹中的所有文件到源码目录的的 .repo/repo 子目录下面,然后再重新执行repo init命令,当然这次就不要带 repo-url 参数了。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
    大功告成!
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参考

最后

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

image

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值