热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OpenHarmony仓库大整理可以指定系统类型下载对应代码

前言:以前下载OpenHarmony代码的时候,我们都是需要下载全量包,代码量非常大,现在已经有30多G了。而我们如果只是想开发轻量系统,例如润和的Hi3861智能家居开发套件的话

前言:

以前下载OpenHarmony代码的时候,我们都是需要下载全量包,代码量非常大,现在已经有30多G了。
而我们如果只是想开发轻量系统,例如润和的Hi3861智能家居开发套件的话,实际上使用不到那么多代码的,很多代码都是小型系统、标准系统,下载起来非常多余。
终于,在近期,OpenHarmony仓库迎来大整改,可以支持指定系统类型下载对应代码。
给大家看看,我今天下载轻量系统 master分支的,整个文件夹只有5G,其中还有doc文件夹、device文件没整理,repo 文件夹就占了 2.9G。不过整体比之前一口气要下载30多G好很多了。

仓库说明

详细的说明可以见官方文档:https://gitee.com/openharmony/manifest

1. 仓的分类说明

为了支持按照不同类型下载代码,OpenHarmony为每个代码仓定义了以下类别:




































分类分类说明group
轻量系统仓适用于轻量系统的代码仓ohos:mini
小型系统仓适用于小型系统的代码仓ohos:small
标准系统仓适用于标准系统的代码仓ohos:standard
系统组件仓标准系统中与硬件无关的代码仓,构建产物都部署在/system目录下。ohos:system
芯片组件仓标准系统中与芯片或硬件相关的仓,构建产物部署在/vendor或/chipset目录下。ohos:chipset

一个仓可以归属于多个group,如下代码所示,groups中多个group以","连接在一起。

<project name="miscservices_inputmethod" path="base/miscservices/inputmethod" groups="ohos:standard,ohos:system"/>
<project name="ai_engine" path="foundation/ai/engine" groups="ohos:mini,ohos:small,ohos:standard,ohos:system"/>

每个仓可以适用于mini,small或standard系统,如果适用于standard系统,同时需要明确是ohos:system类型还是ohos:chipset类型。

每个仓都需要加入默认的default组。

2. 平台仓和芯片仓

OpenHarmony会支持越来越多的芯片平台,每个芯片平台会在device和vendor目录下创建相应的仓;为了区分,我们把这类仓称为芯片仓,其它的仓称为平台仓。平台仓和芯片仓具有不同的生命周期,芯片仓可能会随着硬件的演进而逐渐废弃,而平台仓相对与具体的硬件关系不大,生命周期相对更长。

平台仓都组织在manifests/ohos/ohos.xml文件中,而芯片仓都组织在**manifests/chipsets/**目录下。全量的代码仓组织形式如下所示:

manifest
├── default.xml
│└── ohos
│└── ohos.xml
└── chipsets
├── all.xml
├── chipset1.xml
├── chipset2.xml
├── chipsetN.xml
├── chipset1
│└── chipset1-detail.xml
├── chipset2
│└── chipset2-detail.xml
└── chipsetN
└── chipsetN-detail.xml


  • default.xml由ohos/ohos.xml和chipsets/all.xml组成,是所有平台仓和芯片仓的集合;通过此方式可以下载所有代码仓。

  • chipsets/chipsetN/chipsetN-detail.xml是单个芯片平台所引入的仓集合,chipsets/chipsetN.xml是由ohos/ohos.xml和chipsetN-detail.xml仓组合而成,用于下载该芯片平台的全量仓。

  • chipsets/all.xml则是所有芯片平台xxx/xxx-detail.xml的仓组合,用于汇总所有芯片仓。

按照上述分类,可支持各种代码下载方式:








































































统分类代码下载方式下载命令说明
所有系统全量代码repo init -u URL -b master默认下载OpenHarmony的全量代码(兼容已有下载命令)。
轻量系统全量代码repo init -u URL -b master -g ohos:mini下载轻量系统全量代码。
轻量系统指定芯片代码repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:mini下载轻量系统指定芯片的代码。
小型系统全量代码repo init -u URL -b master -g ohos:small下载小型系统全量代码。
小型系统指定芯片代码repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:small下载小型系统指定芯片的代码。
标准系统全量代码repo init -u URL -b master -g ohos:standard下载标准系统的全量代码。
标准系统指定芯片代码repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:standard下载标准系统指定芯片的代码。
标准系统系统组件代码repo init -u URL -b master -g ohos:system下载标准系统系统组件的代码。
标准系统芯片组件代码repo init -u URL -b master -g ohos:chipset下载芯片组件的代码(所有芯片平台)。
标准系统指定芯片组件代码repo init -u URL -b master -m chipsets/chipsetN.xml -g ohos:chipset下载指定芯片chipsetN的芯片组件代码。

3.使用方法

例如我们想下载 master 轻量系统,下载命令是:

repo init -u URL -b master -g ohos:mini

其中 URL 可以替换成 git@gitee.com:openharmony/manifest.git
也就是下载命令如下:

repo init -u git@gitee.com:openharmony/manifest.git -b master -g ohos:mini
repo sync -c
repo forall -c 'git lfs pull'

如果编译的时候报错:

可以执行

pip install Jinja2

最后编译通过,代码总大小只有5G


推荐阅读
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
author-avatar
大帅哥晶晶_527
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有