Windows下成功安装Repo和下载Android源码方法总结

简介: Windows下成功安装Repo和下载Android源码方法总结

repo是什么?


      官方的定义:Repo是谷歌用python脚本写的调用git的一个脚本,可以实现管理多个git库。


Android的源代码使用Repo 命令行工具来管理多个git仓库,大概有百多个。要想克隆和管理百多个 Git 仓库,不是一件简单的事情。Repo 命令行工具对 Git 部分命令封装,将百多个 Git 库有效的进行组织。


Linux下安装Repo


linux下的Repo安装,稍简单些。


$ curl http://android.git.kernel.org/repo >~/bin/repo


$ chmod a+x ~/bin/repo


$ export PATH=$PATH:~/bin


Windows下Repo安装


repo原本是谷歌搞的一个方便下载AOSP的工具基于git,但由于种种原因不能直接在Windows上使用。但好在有windows版本以用。Repo的Windows版本:


https://github.com/esrlabs/git-repo


链接地址:GitHub - esrlabs/git-repo: repo - The multiple repository tool (also works on MS Windows!)


如果按照网上搜到的方法,安装会遇到不少问题。这里介绍下一个一定能成功的方法。


网上的方法:


一、环境准备:


1.安装Git for Windows,360软件管家里可以直接搜到64位的git for windows。


2.安装Python 2.7,360软件管家里可以直接搜到Python 2.7。


3.配置系统环境变量,Git 和python加入到环境变量。


二、安装Repo:


1.在任意处打开 Git Bash 命令行,注意必须是Git的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


2.下载Android的AOSP源代码,新建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


3.上一步repo init执行成功后,执行repo sync开始正式下载源代码。


遇到的问题:


Could not resolve host: raw.githubusercontent.com


这个地址可能被墙了,即使手动改hosts文件也不一定管用。


一定能够成功的办法


1.打开github上的git-repo仓库,把仓库代码clone或者zip包下载下来。


https://github.com/esrlabs/git-repo


把repo和repo.cmd复制一份放置在C:\Users\Administrator\bin


注意环境不同可能不一定是这个路径。这个位置是前几步mkdir ~/bin创建的目录。可以在git bash下进入到bin目录通过pwd命令查看路径。


2.在需要下载android源码的aosp目录下,新建个.repo文件夹。在.repo文件夹下再建个repo文件夹。把下载的git-repo仓库内的源码放在repo文件夹下。



或者省略这步,直接把下载的 git-repo仓库放到git bash的~/bin下应该也可以。


3.下载Android 源码。


清华大学开源软件镜像站


https://mirrors.tuna.tsinghua.edu.cn/


repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-10.0.0_r25


最后, repo sync命令,即开始最终的代码下载。


LineageOS 14.1下载


Lineage OS 系统介绍


大伙还记得 CyanogenMod 吗?给安卓手机刷过机的用户基本都知道 CyanogenMod 的ROM,其实国内很多第三方的ROM都是基于 CyanogenMod 的ROM修改优化的,最近Cyanogen 团队重新以Lineage OS的新项目来出发,继续为众多安卓手机开发完备独居特色的操作系统。


该系统ROM相当的纯净,也就几百兆大小,运行自然也流畅,可以拿一些老旧手机刷机来练练手。对LineageOS刷机感兴趣的可关注论坛,有详细的刷机教程:LineageOS中文论坛 - Powered by Discuz!


LineageOS 14.1基于android7.1。


下载过程:


新建文件夹lineageOS,在lineageOS文件夹内新建.repo文件夹,在.repo文件夹内,拷贝进去repo那个代码仓库。接下来:


repo init -u git://github.com/lineageos/android.git -b cm-14.1
repo sync -c


即可下载。为了加快下载速度,可把 .repo里面的manifests文件夹修改里面的default.xml文件,修改如下,使用国内镜像https://github.com.cnpmjs.org/替换github.com


<remote name="github"
    fetch="https://github.com.cnpmjs.org/"
    review="https://github.com.cnpmjs.org/" />


https://android.googlesource.com 镜像使用如下替换:


<remote  name="aosp"
       fetch=".."
       review="https://android-review.googlesource.com/" />


改为下面的即可:


<remote  name="aosp"
       fetch="git://aosp.tuna.tsinghua.edu.cn/android/"
       review="https://android-review.googlesource.com/"
       revision="refs/tags/android-7.1.2_r36" />


repo相关知识介绍


.repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml)。


因为被git管理,固然有分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅指定-b而没有-m的话,就是下载-b指定分支下的default.xml文件。


如果不指定-b参数,那么会默认使用master分支。


repo sync [project-list]


下载最新本地工作文件,更新成功,这本地文件和repository 中的代码是一样的。 可以指定需要更新的project , 如果不指定任何参数,会同步整个所有的项目。


如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。


如果不是第一次运行 repo sync , 则相当于 git remote update ;  git rebase origin/branch .  repo sync 会更新 .repo 下面的文件。


如果在merge 的过程中出现冲突, 这需要手动运行  git  rebase --continue


repo默认会同步git库的所有远程分支的代码,但实际开发过程中,用到的分支是有限的。使用sync的-c参数,可以只下载manifest中设定的分支,这会节省代码下载时间以及本地的磁盘空间。


在repo init的时候,会从远程下载manifests和repo这两个git库。默认情况下这两个git库的地址都是写死在repo这个python脚本里面的。


对于AOSP而言,这两个git库的地址显然是google提供的。 但由于google访问受限的缘故,会导致init时,无法下载manifests和repo。这时候,可以使用init的-u和–repo-url参数,自定义这两个库的地址,辅以–no-repo-verify来绕过代码检查。最后,想要快速下载android的源代码的话,可以试下这个操作。


github的国内访问太慢了,使用国内镜像源吧。记住这个地址github的国内镜像源:


https://github.com.cnpmjs.org/


在本地得到.repo文件夹,进去会看到manifests文件夹,修改里面的default.xml文件 。


把里面的fetch="https://github.com/",review="https://github.com/"替换为:"https://github.com.cnpmjs.org/"


<remote name="github"
          fetch="https://github.com.cnpmjs.org/"
          review="https://github.com.cnpmjs.org/" />


参考












相关文章
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
文章提供了Redis最流行的图形化界面工具Another Redis Desktop Manager的下载及使用教程,包括如何下载、解压、连接Redis服务器以及使用控制台和查看数据类型详细信息。
177 6
Redis 最流行的图形化界面下载及使用超详细教程(带安装包)! redis windows客户端下载
|
2月前
|
NoSQL Redis 数据库
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
文章提供了Redis图形化界面工具的下载及使用教程,包括如何连接本地Redis服务器、操作键值对、查看日志和使用命令行等功能。
174 0
Redis 图形化界面下载及使用超详细教程(带安装包)! redis windows下客户端下载
|
17天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
40 2
|
2月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
64 2
|
2月前
|
NoSQL Redis 数据库
Redis Windows版下载,带安装包
文章提供了Windows版Redis的下载和安装指南,包括如何解压、启动Redis服务以及连接到Redis数据库。
1032 0
Redis Windows版下载,带安装包
|
2月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
279 0
|
4月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
137 0
|
4月前
|
API 开发工具 Android开发
Android源码下载
Android源码下载
557 0
下一篇
DataWorks