2019独角兽企业重金招聘Python工程师标准>>>

在工作中的经常使用repo命令,但是有时会忘记一些命令和遇到的一些问题,记录下来方便已经查询。

常见问题:

问题1:找不到命令:repo

方法:

在下载android源码的时候用repo时提示找不到命令,可以用如下方法解决,在命令行中输入如下两行:
echo 'export PATH=$PATH:$Home/bin' >>~/.bashrc
export PATH=$PATH:$HOME/bin

问题2:

/home/xxxxxx/bin/repo: line 1: 在未预料的“newline”附近出现语法错误
/home/xxxxxx/bin/repo: line 1: `<!DOCTYPE HTMLPUBLIC "-//IETF//DTD HTML 2.0//EN

方法【转】:

1.安装git

sudo apt-get install git-core

2.安装curl

sudo apt-get install git-core curl

3.安装repo, 通过curl下载repo

网上或者很多书籍上都是这样写的:

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

结果得到的repo不能用,什么301重定向的,唉!悲催啊!后来在csdn上发了个贴子,大牛给解决啦!

http://code.google.com/p/git-repo/downloads/detail?name=repo-1.12这个链接提供下载repo!

也可以通过下面命令得到:

curl http://git-repo.googlecode.com/files/repo-1.12> ~/bin/repo

4.修改执行权限

chmod a+x ~/bin/repo

5.修改~/bin/repo文件将第五行

这一步又是容易出错啊,哥就死在这里很久啊!很多书籍或网站上都是这样命令:

~/bin/repo init -ugit://android.git.kernel.org/platform/manifest.git

执行以后,等n久,结果出现让你喜出望外的结果啊

error:Failed connect to code.google.com:443; Operation now inprogress while accessinghttps://code.google.com/p/git-repo//info/refs

网上大牛解决:修改~/bin/repo文件将第五行

REPO_URL='https://code.google.com/p/git-repo/'

改为

REPO_URL='http://code.google.com/p/git-repo/'

6.然后向PATH中添加bin路径:

export PATH=$PATH:~/bin

7.新建一个目录,然后进入该目录。

mkdir source

cd source

8.执行repo init -ugit://Androidgit.linaro.org/platform/manifest.git -bandroid-2.3.4_r1

这一步大概有一分多钟就完成了。

9.修改.repo文件

找到source目录中的.repo下面的manifest.xml文件,这是个隐藏文件 ls -a才能看到

cd .repo

gedit manifest.xml

将fetch="git://Android.git.kernel.org/"

改为

fetch="git://Android.git.linaro.org/"

10.执行repo sync -j5

repo的常用命令:

  1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo >~/bin/repo  来下载 repo , chmod a+x ~/bin/repo
  2. 用repo sync 在抓去 android source code 的时候,会经常出现一些错误导致 repo sync 中断,每次都要手动开始。 可以用如下的命令,来自动重复:   $?=1;   while [ $? -ne 0 ] ; do  repo sync ; done
  3. repo help [ command ] , 显示command 的详细的帮助信息内容
  4. repo init -u URL ,  在当前目录安装 repository ,会在当前目录创建一个目录 ".repo"  -u 参数指定一个URL, 从这个URL 中取得repository 的 manifest 文件。   repo init -u git://android.git.kernel.org/platform/manifest.git

可以用 -m 参数来选择 repository 中的某一个特定的 manifest 文件,如果不具体指定,那么表示为默认的 namifest 文件 (default.xml)    repo init -u git://android.git.kernel.org/platform/manifest.git -m dalvik-plus.xml

可以用 -b 参数来指定某个manifest 分支。

repo init -u git://android.git.kernel.org/platform/manifest.git -b release-1.0

可以用命令: repo help init 来获取 repo init 的其他用法

4. 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

5. repo update[ project-list ]

上传修改的代码 ,如果你本地的代码有所修改,那么在运行 repo sync 的时候,会提示你上传修改的代码,所有修改的代码分支会上传到 Gerrit (基于web 的代码review 系统), Gerrit 受到上传的代码,会转换为一个个变更,从而可以让人们来review 修改的代码。

6. repo diff [ project-list ]

显示提交的代码和当前工作目录代码之间的差异。

7. repo download  target revision

下载特定的修改版本到本地, 例如:  repo download pltform/frameworks/base 1241 下载修改版本为 1241 的代码

8. repo start newbranchname

创建新的branch分支。 "." 代表当前工作的branch 分支。

9.  repo prune [project list]

删除已经merge 的 project

10. repo foreach [ project-lists] -c command

对每一个 project 运行 command 命令

11. repo status

显示 project 的状态

版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/xcy2011sky/blog/492612

Android的代码同步repo相关推荐

  1. 高通android开源代码下载

    高通android开源代码下载 开源网站https://www.codeaurora.org/projects/all-active-projects/android-msm,选择wiki,在Wiki ...

  2. Android多线程之同步锁的使用

    本文主要介绍了Android多线程之同步锁的使用,分享给大家,具体如下: 一.同步机制关键字synchronized 对于Java来说,最常用的同步机制就是synchronized关键字,他是一种基于 ...

  3. 美团外卖Android Lint代码检查实践

    概述 Lint是Google提供的Android静态代码检查工具,可以扫描并发现代码中潜在的问题,提醒开发人员及早修正,提高代码质量.除了Android原生提供的几百个Lint规则,还可以开发自定义L ...

  4. Android静态代码扫描效率优化与实践

    背景与问题 DevOps实践中,我们在CI(Continuous Integration)持续集成过程主要包含了代码提交.静态检测.单元测试.编译打包环节.其中静态代码检测可以在编码规范,代码缺陷,性 ...

  5. android单例模式代码,设计模式(一):Android 源码中的单例模式

    设计模式(一):Android 源码中的单例模式 2020-08-17 22:51 阅读数 57 <>什么是单例模式? 单例模式(Singleton) 是最常见也最简单的设计模式,它的目的 ...

  6. 深入理解Android音视频同步机制(二)ExoPlayer的avsync逻辑

    深入理解Android音视频同步机制(一)概述 深入理解Android音视频同步机制(二)ExoPlayer的avsync逻辑 深入理解Android音视频同步机制(三)NuPlayer的avsync ...

  7. Android AccountManager 账户同步管理简单介绍

    Android AccountManager 账户同步管理简单介绍 文章目录 Android AccountManager 账户同步管理简单介绍 前言 AccountManager 简介 如何让自己的 ...

  8. [Android]拉代码、上库、编译等

    拉代码.上库.编译等 1.代码下载 拉仓 下载该仓库下所有代码 查看该project有哪些仓库 下载单个仓库 代码更新 2.代码修改 分支操作 新建分支 查看分支 切换分支 删除分支 查看历史修改 对 ...

  9. android surfaceflinger 代码,Android P 图形显示系统(七) SurfaceFlinger合...

    SurfaceFlinger合成流程(二) SurfaceFlinger合成流程 MessageQueue中分发两个消息,一个INVALIDATE,一个REFRESH,SurfaceFlinger对这 ...

  10. Android 白板代码实现

    Android 白板代码实现 上一篇文章 Android白板方案调研 讲述了Android 白板实现的一些细节和问题整理.本篇主要从代码角度展现Android 白板. 白板的调用: public cl ...

最新文章

  1. Foundation框架介绍
  2. php7 echo无法显示,PHP7 echo和print语句实例用法
  3. 判断101-200之间有多少个素数,并输出所有素数(C)
  4. php接收dup,TCP与DUP简单对比
  5. java中有关线程的题目
  6. mybatisplus查询今天的数据_Spring系列——MybatisPlus
  7. 至2015新的一年!
  8. uos系统虚拟机_UOS开箱体验
  9. pytorch nonzero_[深度学习框架]PyTorch常用代码段
  10. 【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
  11. 计算机黑龙江省二级c语言题库,计算机二级c语言题库
  12. vc6.0编译c++程序后在vc2008中调试的技巧(符号信息和链接)
  13. java随机点名_javascript实现的一个随机点名功能
  14. [转]使用CSS和JQuery,模拟超链接点击 原文:http://www.cnblogs.com/return8023/archive/2012/05/19/2509177.html...
  15. 疫情下技术人的宅家指南
  16. 透明网桥对数据帧的处理方式
  17. 文本主题模型之LDA在搜狐新闻数据集上的实践
  18. 用树莓派搭建公网个人下载平台aria2-pro,推荐6个优质种子资源站
  19. 第三章 LD3320语音识别模块的使用
  20. 网络流媒体--RTP和RTCP协议

热门文章

  1. c语言统计字符串中每个字符出现的次数
  2. UVAOJ1586题解
  3. 【生信进阶练习1000days】day16~day22-RNA-seq data analysis with limma edgeR and Glimma
  4. 数据库基础(3)函数依赖-平凡依赖,完全依赖,部分依赖,传递依赖
  5. 【Codeforces contest-1214 E】Petya and Construction Set【树上构造】
  6. C++ —— string函数
  7. KnockOutlook:针对Outlook的红队安全研究工具
  8. MySQL 8.0设置sort_buffer_size
  9. 僵尸进程与孤儿进程(精简易懂,直接要害)
  10. Saga分布式事务解决方案与实践