Android Repo的manifest XML文件格式

【20180317】python--repo学习 配置管理工程师本身是使用git和repo的熟练手,偶然在csdn上看到老罗关于repo工程的解析,深感repo是一个学习python语言的好实践,因此选择repo工程作为python语言学习的一个解析项目~1.repo概述repo是谷歌为有效管理安卓代码而开发的使用python语言、基于git命令和manifest-xml文件对多个git仓进行批量下载、提交等操作的工具工程。repo本身包含可执行... 阅读详情

Android使用repo来管理多个Git项目。它需要一个manifest  XML文件来指示这些git项目的属性。

repo manifest XML可以包含下面的元素。

  • manifest: 最顶层的XML元素。
  • remote元素: 设置远程git服务器的属性,包括下面的属性
    • name: 远程git服务器的名字,直接用于git fetch, git remote 等操作
    • alias: 远程git服务器的别名,如果指定了,则会覆盖name的设定。在一个manifest中,
      name不能重名,但alias可以重名。
    • fetch: 所有projects的git URL 前缀
    • review: 指定Gerrit的服务器名,用于repo upload操作。如果没有指定,则repo upload没有效果。

Example:

<remote fetch="ssh://git.example.com" name="test"review="gerrit.example.com"/>

 

  • default元素:设定所有projects的默认属性值,如果在project元素里没有指定一个属性,则使用default元素的属性值。
    • remote: 之前定义的某一个remote元素中name属性值,用于指定使用哪一个远程git服务器。
    • revision: git分支的名字,例如master或者refs/heads/master
    • sync_j: 在repo sync中默认并行的数目。
    • sync_c: 如果设置为true,则只同步指定的分支(revision 属性指定),而不是所有的ref内容。
    • sync_s: 如果设置为true,则会同步git的子项目

Example:

<default remote="main" revision="platform/main"/>

 

  • manifest-server元素: 只能有一个该元素。它的url属性用于指定manifest服务的URL,通常是一个XML RPC 服务。
    它要支持一下RPC方法:
    • GetApprovedManifest(branch, target): 返回一个manifest用于指示所有projects的分支和编译目标。
          target参数来自环境变量TARGET_PRODUCT和TARGET_BUILD_VARIANT,组成$TARGET_PRODUCT-$TARGET_BUILD_VARIANT。
    • GetManifest(tag):  返回指定tag的manifest

 

  • project元素:指定一个需要clone的git仓库。
    • name: 唯一的名字标识project,同时也用于生成git仓库的URL。格式如下:
            ${remote_fetch}/${project_name}.git
    • path: 可选的路径。指定git clone出来的代码存放在本地的子目录。如果没有指定,则以name作为子目录名。
    • remote: 指定之前在某个remote元素中的name。
    • revision: 指定需要获取的git提交点,可以是master, refs/heads/master, tag或者SHA-1值。
    • groups: 列出project所属的组,以空格或者逗号分隔多个组名。所有的project都自动属于"all"组。每一个project自动属于
      name:'name' 和path:'path'组。例如<project name="monkeys" path="barrel-of"/>,它自动属于default, name:monkeys, and path:barrel-of组。如果一个project属于notdefault组,则,repo sync时不会下载。
    • sync_c: 如果设置为true,则只同步指定的分支(revision 属性指定),而不是所有的ref内容。
    • sync_s: 如果设置为true,则会同步git的子项目。
    • upstream: 在哪个git分支可以找到一个SHA1。用于同步revision锁定的manifest(-c 模式)。该模式可以避免同步整个ref空间。
    • annotation: 可以有多个annotation,格式为name-value pair。在repo forall 命令中这些值会导入到环境变量中。
    • remove-project: 从内部的manifest表中删除指定的project。经常用于本地的manifest文件,用户可以替换一个project的定义。

Example:

             <project groups="aosp" path="device/driver/armv7" revision="600aab270ce712b62b268055737cabcded59bf04"/>

 

  • include: 通过name属性可以引入另外一个manifest文件(路径相对与manifest repository's root)。

 

本地manifest

本地的manifest文件存放在$(TOP_DIR)/.repo/local_manifest/*.xml。$TOP_DIR/.repo/local_manifests/local_manifest.xml
如果存在,会被最先装入。然后是以字母顺序的$TOP_DIR/.repo/local_manifests/*.xml文件。这些manifest会在repo sync
之前被处理。以便repo下载和管理额外的project。

 

Example:

  $ ls .repo/local_manifests

  local_manifest.xml

  another_local_manifest.xml

 

  $ cat.repo/local_manifests/local_manifest.xml

  <?xml version="1.0"encoding="UTF-8"?>

  <manifest>

    <project path="manifest"

             name="tools/manifest"/>

    <projectpath="platform-manifest"

             name="platform/manifest"/>

  </manifest>

i.MX处理器Android移植与优化:从内核适配到硬件加速实战 嵌入式系统开发中,将Android操作系统移植到特定硬件平台是一项核心任务,其关键在于实现软件架构与硬件特性的高效协同。Android基于Linux内核,通过硬件抽象层(HAL)为上层应用提供统一的硬件访问接口。移植工作的核心原理在于打通从应用框架、系统运行库到底层驱动的完整调用链,其技术价值在于充分释放专用硬件(如VPU、GPU)的加速潜力,从而在多媒体处理、图形渲染等场景实现高性能与低功耗。本文以NXP i.MX系列应用处理器为例,深入剖析Android移植与优化的完整路径,涵盖内核定制、HAL实现及针 阅读详情

相关推荐

FCN---训练cityspaces

未经允许,不要随意转载! 最近想试试用FCN训练自己的数据集,想想标注是一件很费劲的事,于是就想到了用其他库里的数据,这里选用了cityspaces,默认已经配置好FCN. 1、下载cityspaces https://www.cityscapes-dataset.com/ 需要注册一个账号 cityspaces包含2...

wangyu088的专栏 2030

android repo中manifest.xml的详解

android 项目工程的第一步就是通过repo 将所有的 source code 信息获取并最终成功fetch 到本地,而这些git 的管理就是通过manifest.xml 进行,这一篇主要是对原文进行翻译,并结合自己的经验进行总结,希望对各位有所帮助,也希望不吝指教。

私房菜 3万+

使用Python,OpenCV查找图像中的最亮点

这篇博客展示了,为什么在图像中找到最亮的点之前应用高斯模糊是至关重要的。 通过应用高斯模糊,可以将每个给定半径内的像素平均在一起。取平均值可以去除高频噪声,否则会影响cv2.minMaxLoc函数的结果。 一定要研究高斯模糊半径的恰当值。如果取值太小,将会减轻平均值的影响,而忽略了更大、更亮的区域。但是如果半径太大,将无法探测到小的明亮区域。

qq_40985985的博客 3809

git-repo系列教程(2) manifest 文件

/</</remote元素: remote元素可以有多个,用于存在多个git远程服务器的情况。fetch:使用此remote的所有项目的Git URL前缀。**每个项目的名称都附加到此前缀以形成用于克隆项目的实际 URL。**如果使用此remote的所有项目的前缀和manifest仓库前置一致的话,可以使用…代替。name:此清单文件唯一的短名称。此处指定的名称用作每个项目的 .git/config 中的远程名称。

fedorayang的专栏 2512

windows中搭建sonic云真机环境/云真机环境搭建-基于docker容器部署

基于Windows系统搭建Sonic远程云真机环境实现通过浏览器操作手机端系统

雾林小妖的博客 1015

《UDS协议从入门到精通》系列——到底什么是DTC?

到底什么是DTC?看这里,深度图解DTC格式,详述DTC状态位、快照信息和扩展信息!!

车载系统攻城狮 1万+

关于repo的理解

关于repo的理解 注:repo用于管理多个git项目,同一产品可能包含多个git项目,不同的git项目集合,可能形成不同产品,通过repo可以实现方便的管理。repo主要包含repo配置信息、以及repo所管理的git项目集合。 对于所有git管理的项目,例如mygitproject,其中mygitproject/.git是git目录(或git库);mygitproject/中除.git之外...

司马如风 3814

C++和OpenGL实现3D游戏编程【连载6】——不规则图形的纹理贴图(附源码)

上一节我们讨论了纹理贴图的相关基础操作,但上一节的纹理贴图操作基本上都是规则图形,包括圆形和球形虽然复杂一点,但是它也是规则的。这一节课我们要讨论一下,怎么在不规则图形上纹理贴图,就比如文章下图的心形纹理贴图,以及纹理的平移、旋转、放大缩小功能。

zhooyu的博客 1308

repo manifest.xml详解

在xml中可以有多个<remote>标签,每个<remote>标签代表了一个Git仓库的地址,一个或多个<project>可以使用该地址来下载代码,并且<remote>标签还可以通过。<remove-project>这个属性不知道怎么用,但是从翻译来看,这个属性经常用在内部的manifest中,这样就允许同一个manifest中后来的<project>用不同的。:当设置该值为true的时候,同步project的时候就只会同步<revision>指定的branch,而不是所有的branch.

Cailand的专栏 3471

声音源定位:利用YOLO与麦克风阵列定位声音来源YOLOv5、YOLOv8、YOLOv10

YOLO(You Only Look Once)是一个用于目标检测的深度学习模型。YOLO的最大特点是其通过一次前向传播即可完成多个目标的检测,速度和精度相对其他目标检测算法具有显著优势。YOLO模型的版本不断更新,从YOLOv1到YOLOv10,算法精度和速度都有了显著的提升。声音源定位是利用多个麦克风阵列收集的声音信号,通过算法计算声音源的位置。声音源定位的关键在于准确估计每个麦克风的声音到达时间,从而确定声音源的空间坐标。基于时延估计(TDOA)

YOLO 672

量化 insider 爆料! 散户打板必亏?(打板必看!量化资金如何“隔日砸盘”收割散户)

量化开发 insider 爆料💥 散户追的涨停板📉,可能是机构故意做的陷阱!本文从技术视角拆解“涨停陷阱”,帮你看清市场真实逻辑🧠。

XiaoqiangClub的博客 450

Android Repo的manifest XML文件格式 .

http://blog.youkuaiyun.com/hansel/article/details/9798189   Android使用repo来管理多个git项目。它需要一个manifest  XML文件来指示这些git项目的属性。 repo manifest XML可以包含下面的元素。 manifest: 最顶层的XML元素。remote元素: 设置远程git服务器的属性,包括下面的

1474

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【转】Android Repo的manifest XML文件格式

http://blog.youkuaiyun.com/hansel/article/details/9798189 Android使用repo来管理多个git项目。它需要一个manifest XML文件来指示这些git项目的属性。 repo manifest XML可以包含下面的元素。 manifest: 最顶层的XML元素。 remote元素: 设置远程git服务器的属性,包括下面的属性 ...

ccsosnfs的专栏 150

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Repo的manifest XML文件格式

  Repo的manifest XML文件格式  Android使用repo来管理多个git项目。它需要一个manifest  XML文件来指示这些git项目的属性。 repo manifest XML可以包含下面的元素。 · manifest: 最顶层的XML元素。 · remote元素: 设置远程git服务器的属性,包括下面的属性  o name: 远程git服务器

foreverunite的专栏 1010

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

实例--建立简单的repo服务器 && manifest 框架

REPO是Google用python脚本写的调用Git的脚本,主要用来下载、管理android项目的多个git仓库。--- 来自百度百科     下面通过实例讲解搭建一个repo服务器的过程: 1.进入你的工作目录(例如我的工作目录是:~/cm_workspace),建立一个repo-server子目录 $:cd ~/cm_workspace $:mkdir repo-server

2884

Diffuse终极指南:如何快速对比APK/AAB文件差异并生成专业报告

你是否曾经为了分析两个APK版本之间的微小变化而头疼不已?想象一下,你的团队刚刚发布了一个新版本,但应用体积增加了200KB,却没人知道这些空间到底用在了哪里。或者更糟糕的是,某个功能莫名其妙地失效了,而你需要花费数小时来定位是哪个DEX文件或资源发生了变化。 这就是Android开发者日常面临的痛点:**缺乏直观的二进制文件对比工具**。传统的diff工具无法处理APK、AAB、AAR和JAR

gitblog_01169的博客 452

Git学习经验

目录 1.基础使用 使用流程 2.撤销 撤销stage流程 撤销工作目录修改流程 撤销commit流程 3.分支 分支操作 需要将某一个分支中的一段提交同时应用到其他分支中时 4.repo 5.patch 生成 合入 错误处理 6.杂项 1.基础使用 工作目录(普通文件),暂存区(stage-index),git仓库(.git-HEAD),远程库(origin) 全局设置(--global对本地所有仓库生效): git config --global user.name

qq_45315495的博客 1156

Android repo manifest的使用

一: repo 简介         请转到一下连接进行查看        https://blog.youkuaiyun.com/column/details/24534.html 二:Android manifest的构成 manifests.git 使用如下命令: $repo init -u https://android.googlesource.com/platform/manifes...

Android 系统开发 1373

[Repo Git] manifests的写法

每个元素描述了一个名称-值对,在“forall”命令期间,该名称-值对将带有REPO__前缀导出到每个项目的环境中。此外,还有一个可选属性“keep”,它接受不区分大小写的值“true”(默认值)或“false”。此元素在本地清单文件中最为有用,可以修改现有项目的属性而不必完全替换现有的项目定义。符号链接在“dest”(相对于树的顶部)创建,并指向由“src”指定的路径,该路径是项目中的一个路径。​ 这就像是复制文件,并与复制文件同时运行,但它不复制文件,而是创建一个符号链接。​修改已命名项目的属性。

锡城小凯的博客 1801

git 相关概念

repo 参考资料: https://source.android.com/source/using-repo.html点击打开链接

ych_ding的专栏 773
上一篇: 展讯android智能机平台FDL1,FDL2,SPL文件下载问题简析
下一篇: 解决ubantu中初始不能正常使用vi方案(退格键/方向键错乱问题)
StudyTaoo
博客等级 码龄11年 128粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值