使用repo和git下载android源码 和 相关解释
命令:
$sudo apt-get install git-core curl
说明:
curl是一个向服务器或从服务器传输数据的工具,它支持HTTP 、HTTPS、FTP 、 FTPS 、 SCP、SFTP、TFTP、DICT、TELNET、LDAP或FILE等协议。对于web开发人员来说,它对 HTTP POST的支持为我们提供了很大的帮助。
git是分布式的版本控制系统,在这里负责把远程版本库的源代码clone下来。
2. 安装repo
命令:(是一个便于git管理的工具)
$mkdir bin
//下载repo脚本到本地bin文件夹下
$curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo>~/bin/repo
//设置本地repo的可执行权限
$chmod a+x ~/bin/repo
//临时把repo添加到环境变量中,方便后面执行。
$export PATH=~/bin:$PATH
说明:
repo是一个基于git的版本库管理工具,可以简化android开发中使git的使用。在这里,使用repo和官方提供的android project列表自动批量下载android整个项目,免去了大量下载各个项目的手动工作量。
3.初始化repo客户端(版本库)
如果是想把Android当前主线上最新版本的所有的sourcecode拿下来,我们需要repo的帮助。
先建立一个目录,进去以后用repo init命令即可,然后就可以用repo sync 抓去 android source code 。
命令:
//创建目录android/android-source来存放下载的源码 $mkdir android/android-source -p
//进入目录 $cd android/android-source
//获取项目列表并且初始化目录 $repo init -u https://android.googlesource.com/platform/manifest
解释:repo init -u URL 用以 在当前目录下 安装 repository ,会在当前目录创建一个目录 ".repo" -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest (清单)文件。
获取的manifest文件放在.repo目录中。命名为manifest.xml。这个文件的内容其实就是所有被git管理的仓库的列表!可以用 -m 参数来选择获取 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为 将要获取 默认的 mainfest 文件 (default.xml)。
(有诸多供我们选择的manifest文件,所有的manifest文件都放在目录.repo/manifests中,该目录本身亦被git所管理)可以用 -b 参数 来 指定 某个manifest 的分支。注意 .repo/manifests是个被git管理的仓库,这里放的是所有的manifest文件(*.xml),因为被git管理,固然有分支,-b可以切换到你想要的分支然后再下载相关的xml文件,当然具体下载那个xml还要看-m参数了,所以如果你仅仅指定-b而没有-m的话,就是下载-b指定分支下的default.xml文件,如果不指定-b参数,那么会默认使用master分支
按照提示输入 用户名 和 邮箱
初始化完成后会显示repo initialized in /home/http://www.cnblogs.com/xx,如下图:
这样就说明本地的版本库已经初始化完毕,并且包含了当前最新的sourcecode。
注意:如果想拿 某个branch而不是主线上的代码,我们需要用 -b 参数制定branch名字,如:
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo-amlogic-mid
git clone git://android.git.kernel.org/kernel/common.git
这也需要不少的时间,因为它会把整个Linux Kernel的代码复制下来。
git checkout origin/android-goldfish-2.6.27 -b goldfish
这样我们就在本地建立了一个名为goldfish的android-goldfish-2.6.27分支,代码则已经与android-goldgish-2.6.27同步。我们可以通过git branch来列出本地的所有分支。
4.同步版本库命令:
$repo sync
这样 我们把整个android代码树做到同步到本地,
解释:如果是第一次运行 repo sync , 则这个命令相当于 git clone ,会把 repository 中的所有内容都拷贝到本地。 如果不是第一次运行 repo sync , 则相当于 git remote update ; git rebase origin/branch .
repo sync 会更新 .repo 下面的文件。 如果在merge 的过程中出现冲突, 这需要手动运行 git rebase --continue
说白了,就是从服务器上下载最新的代码。
接下来就是漫长的等待,本人10M带宽,依然下载了几个小时。
同样,我们可以用类似
repo sync project1 project2 …
这样的命令来同步某几个项目,如果是同步Android中的单个项目,只要在项目目录下执行简单的git pull即可。
repo manifest -r -o xxx.xml #获取 当前的源代码的manifest,并保存为 xxx.xml
==============
5.小结
源码下来就是一笔财富,坚持查看源代码,分析其中的底层实现和框架模式,都绝对是极佳的学习经历,一定大有益处。
使用repo和git下载android源码 和 相关解释相关推荐
- repo/git下载android源码断后重新下载
方案1: #!/bin/bash while [ 1 ]doecho "Enter infinity loop.... "if [ ! -d emacs ];then#如果下载断了 ...
- windows下使用GIT下载ANDROID源码
1.安装msysgit 2.运行msysgit, 进入bash界面 3.切换工作目录 cd /d/android/source 4.初始化目录 git init 5.下载 git clone http ...
- 下载Android 源码(高墙之下,只能用镜像啦)
按照http://source.android.com上的步骤并不能获取android源代码,估计又是被墙了.不过经过研究发现可以从一些镜像站点上获取android源代码 Step 1.按照http: ...
- 下载Android源码流程(完整版)
要在Linux环境下操作,要在Linux环境下操作,要在Linux环境下操作~~ 不要想在Windows环境下操作,因为会有各种问题.Windows环境的童鞋又不想装双系统的可以跟着下面的操作,L ...
- 【Linux/Ubuntu学习6】unbuntu 下载android源码
在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码. 以下为在Ubuntu下下载Google Android4.4源码的步骤: 1. 安 ...
- android源码下载过程的一些注意事项,windows下载android源码
网上目前有很多下载android源码的方法,在linux下基本上用 repo 脚本,先repo init 然后在 repo sync一下 最后提取的时候的 使用 repo sync -l 一下. 所有 ...
- android 清华镜像,清华镜像网站下载android源码并编译
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 下载android源码方法: 我的系统是ubuntu 18.04,主要参考了blog通过清华大学镜像下载Android源 ...
- Arndale Octa开发板下载android源码
Arndale是由insignal公司开发制作的一款开发板,用了三星目前最先进的SoC Exynos5420,搭载了3GB的RAM,4G EMMC(这个有点坑),AX88796 10/100M网卡(略 ...
- AOSP: 下载 android 源码
很高兴,今天与android开发网站,源码网站都扯上关系啦,虽然有点爬山涉水,但还是大大的值得,呵呵!! 小结下载源码的方法,来自http://source.android.com/source/do ...
最新文章
- SQL2000 统计每周,每月,每季,每年的数据
- AXURE RP8实战手册(完整版)
- H3C通过端口ID决定端口角色
- paypal创建订单后怎么获得id_PayPal开放加密数字货币买卖 2021年将支持2600万家商户购物...
- android 智能家居 pdf,智能家居项目化教程.pdf
- 吃下这枚安利!翠贝卡电影节上这五部VR视频不容错过
- LinQ—Lambda表达式
- Delphi Android下包含第三方DEX
- 深圳有哪些牛逼的互联网公司?看完你再跳槽!
- 统计细菌基因组ORF
- 在做模具设计过程中应注意哪些问题
- 教你如何在b站实现炫酷弹幕墙(文末送十六进制颜色代码一览表)
- 目标检测中常见指标 AP MAP coco Pascal voc 评价指标说明
- Amap【高德】/Google-开发,无人机航迹规划演示
- 调试技巧(Debugging)
- Golang 如何限制木马图片上传服务器
- jq 修改元素css伪类样式
- VR全景航拍补天教程
- nodejs 遍历目录(文件夹)下的所有文件
- 停用计算机网络,如何禁用电脑上网功能