用Repo管理自己的本地仓库
AOSP使用Repo工具管理项目源码。而Repo工具则依赖一个名叫manifest的git仓库来记录Android源码中都包含哪些子仓库。
进入Android源码根目录下的.repo目录,可以看到manifest仓库的相关信息:
查看manifest.xml
文件,可以看到:
它引用了default.xml
文件,再看一下manifests/default.xml
文件:
可以看到default.xml
文件定义了整个Android源码所用到的所有子项目,Repo就根据这个文件来同步代码。
那么问题来了,如何在Android源码中添加其它子仓库呢?或者如何添加我们自己的仓库?从而实现每次repo sync
时自动也帮我们同步一下自己的仓库。比如Android源码中内核是编译好后放进来的(没有相关内核源码),我想每次编译完自己的内核后将其放入一个git仓库,然后执行repo sync
将这个自己的内核拉到Android源码目录下,这个需求如何实现?
首先创建一个git仓库来放编译后的Android内核,这里是android_kernel
目录:
在.repo
下新建local_manifests
目录,在下面创建自己的仓库定义文件,我这里叫kernel.xml
文件内容如下:
- remote表示定义一个远程仓库,name随便,表示仓库名称,fetch表示地址,我这里是一个本地的git仓库;
- project表示定义一个工程,path表示将在Android源码根目录下产生一个叫kernel的目录;name对应原仓库下这个工程的名称,这里就是目录名称;remote是对上面remote的引用,名称和上面所说remote的name一致;
然后进入Android源码根目录cd /usr/source/android
,执行repo sync android_kernel
,当前目录下就会多一个kernel目录。
原理就是Repo会将local_manifests
目录下的xml文件和默认的xml文件合并,拉取所有仓库。
用Repo管理自己的本地仓库的更多相关文章
- git - 版本控制器(本地仓库)
本地创建仓库,然后进行管理.提交到本地仓库(不需要网络),提交到远程仓库(需要网络) 相对于svn为克隆方式,赋值的是整个仓库,svn只是复制的代码. 1.电脑新创建一个”本地仓库”空文件夹 2. ...
- maven手动将jar包导入到本地仓库(支持多个仓库选择)
正常我们在用maven搭建项目时,我们只需要将项目所需要的依赖配置到maven的配置文件pom.xml中即可,maven就可以去网上将jar包下载到配置的本地仓库中去.所以一般情况下我们是不需要手动安 ...
- github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站
github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...
- Day 17 软件管理2之搭建本地仓库
1.列出yum源可用的软件仓库 [root@www.xuliangwei.com ~]# yum repolist [root@www.xuliangwei.com ~]# yum repolist ...
- Git初始化本地仓库及管理远程仓库github
1.首先在本地安装git,地址:https://git-scm.com/downloads.下载安装好git工具. 2.将自己在github上的注册的用户名和邮箱写入本地git的配置文件中: (1). ...
- git代码管理——克隆项目到本地仓库及上传本地项目到仓库
一.克隆项目到本地仓库 1.github网站操作 1.1 登录github 首先创建一个仓库,点击“New” 1.2 输入仓库信息 1.3 创建完成后,会多出一个仓库 2.安装git客户端 2.1 安 ...
- Maven 手动添加 JAR 包到本地仓库
Maven 确确实实是个好东西,用来管理项目显得很方便,但是如果是通过 Maven 来远程下载 JAR 包的话,我宿舍的带宽是4兆的,4个人共用,有时候用 Maven 来远程下载 JAR 包会显得很慢 ...
- maven建立本地仓库
maven 建立本地仓库 博客分类: java,maven,nexus 前面我讲到为什么要使用 Maven, Maven 的安装,以及 如何与 IDE 集成等,前面的介绍可以认为是一个 Hello ...
- Git本地仓库
原文:http://www.cnblogs.com/wilber2013/p/4189920.html Git基本概念 在Git中,我们将需要进行版本控制的文件目录叫做一个仓库(repository) ...
随机推荐
- simulink仿真过程
Simulink求解器 Simulink仿真过程 Simulink 模型的执行分几个阶段进行.首先进行的是初始化阶段,在此阶段,Simulink 将库块合并到模型中来,确定传送宽度.数据类型和采样时间 ...
- web项目中视频的上传和展示
思路: 上传:<form>表单提交视频-->后台使用字节流保存到本地. 展示:<video>标签展示: src属性发送请求 --> 使用字节流将视频绑定到响应并返回 ...
- 手机上无法显示Toast信息
关于手机上无法显示Toast信息, 是因为手机上的权限没有开, 在应用管理处将所有权限都打开,就可以显示了.
- java的内存泄露是如何发生的,如何避免和发现
java的垃圾回收与内存泄露的关系:[新手可忽略不影响继续学习] 马克-to-win:上一节讲了,(i)对象被置成null.(ii)局部对象(无需置成null)当程序运行到右大括号.(iii)匿名对象 ...
- No origin bean specified和 No destination bean specified
Beanutils.copyProperties 异常一: No origin bean specifiedBeanutils.copyProperties 异常二: No destination b ...
- phpstorm配置xdebug 3.0最新教程!!!配置不成功的快看!
前言 之前2月份就开始配置xdebug,始终没有成功. 今天看到一篇写得挺详细的文章,心血来潮又折腾了下,可惜没成功. 验证始终说我配置错误 后面去阅读官方的文档,修改了些配置,居然搞成功了!! ni ...
- 结合手工注入编写一个SQL盲注脚本——以SQLi-Labs less16为例
一.分析测试注入点 1.抓包,查看响应数据包 2.先随便输入一个账号密码,再测试万能密码 1") or 1=1 -- # 3.发现响应数据包的Content-Length字段值不同.错误状态 ...
- 学习打卡——Linux下安装Redis
http://download.redis.io/releases/,这是查看当前Redis可供下载的Linux系统版本 第一步:启动系统 启动Linux,我这里是CentOS 7 第二步:下载 打开 ...
- http协议 知识点
前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.第一步要学好HTML.CSS和JavaScript!接着就要学习交互,HTTP协议.Tomcat服务器.PHP服务器端技术是必 ...
- input清楚阴影 number属性
IOS,input出现阴影: input[type="text"],input[type="email"],input[type="search&qu ...