0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

openharmony代码获取分析

姚小熊27 来源:HarmonyOS技术社区 作者:HarmonyOS技术社区 2021-06-23 16:30 次阅读

本文档将介绍如何获取OpenHarmony源码并说明OpenHarmony的源码目录结构。OpenHarmony的代码以组件的形式开放,开发者可以通过如下其中一种方式获取:

获取方式1:从镜像站点下载压缩文件(推荐

获取方式2:从hpm网站组件式获取。通过HPM,查找满足需求的解决方案,挑选/裁剪组件后下载。

获取方式3:用包管理器命令行工具获取。通过HPM的hpm-cli命令行工具,执行命令下载。

获取方式4:从代码仓库获取。通过repo或git工具从代码仓库中下载。

获取方式1:从镜像站点获取

为了获得更好的下载性能,您可以选择从以下站点的镜像库获取源码或者对应的解决方案。

获取方式2:从hpm网站组件式获取

适用场景

对于刚接触OpenHarmony的新用户,希望能够参考一些示例解决方案从而进行快速开发。可以在HPM获取推荐的解决方案,以此为基础,增加或裁剪部分组件,快速定制系统。

操作步骤

1.查找合适的解决方案组件包。

打开包管理页面HPM,设定搜索的对象为“解决方案“,如下图所示。

自搜索框输入关键字搜索,如“camera”。

结果中显示匹配的解决方案,可以进一步根据组件类别等过滤条件(如:适配的开发板,内核)精确筛选。

查找合适的解决方案,点击查看解决方案详情介绍。

2.定制解决方案组件包。

仔细阅读解决方案的说明,以了解该解决方案的使用场景、特性、使用方法以及如何进行定制化,如下图所示。

点击「直接下载」,将解决方案下载到本地。

点击「定制组件」,将对解决方案包含的组件进行定制。

3.定制组件。

3.1进入解决方案定制页面,如下图所示。

3.2通过关闭开关移除可选组件,或者通过“添加组件”增加新的组件。

3.2在右边填写您的项目基本信息,包括名称、版本、描述等信息。

3.4点击“下载“,系统会根据您的选择,生成相应的OpenHarmony代码结构文件(如name.zip),保存至本地文件。

下载的压缩文件并未包含源代码的原始文件,可以在IDE中导入下载的压缩包,解压后执行hpm的安装指令(hpm install),才会将所需要的组件全部下载下来。

下载的组件存在工程目录下的ohos_bundles文件夹中。

获取方式3:用包管理器命令行获取

适用场景

用户已通过组件式获取的方式获取源码,需要对源码中的某个或某几个组件进行独立升级。

用户已经比较熟悉OpenHarmony系统的开发并且熟练掌握命令行工具的使用。

准备

通过命令行获取,需要先安装Node.js和hpm命令行工具,安装步骤如下:

安装Node.js。

官网下载并在本地安装Node.js.

推荐安装 Node.js 12.x (包含 npm 6.14.4)或更高版本 (推荐 12.13.0+)。

2.通过Node.js自带的npm安装hpm命令行工具。

打开CMD,执行以下命令:

npm install -g @ohos/hpm-cli1.

3.安装完成后执行如下命令,显示hpm版本,即安装成功。

hpm -V 或 hpm --version1.

4.如果升级hpm的版本,请执行如下命令:

npm update -g @ohos/hpm-cli1.

操作

接下来将组件添加到开发项目中,假定要获取的组件名为@ohos/demo,具体操作如下:

1.进入开发目录,执行如下命令,采用默认模板创建一个开发项目。

hpm init -t default1.

2.执行如下命令,安装组件@ohos/demo

hpm install @ohos/demo1.

3.工具会自动从服务器下载所有依赖的组件,下载成功则显示Install successfully!

$ hpm install @ohos/demo

Requesting: https://url.foo.bar/hpm/registry/api/bundles/@ohos/demo

downloading @ohos/demo

Requesting: https://lfcontentcenterdev.。。。。。/bMAlLrYISLqdUTFFFCdgzA.tgz

extract D:\demo\ohos_bundles\@ohos\demo\@ohos-demo-1.0.7.tgz

Install successfully!1.2.3.4.5.6.

获取方式4:从代码仓库获取

适用场景

基于OpenHarmony的稳定分支建立自己的基线,分发下游客户。

已经完成自身软件与OpenHarmony的对接,需要进行OpenHarmony官方认证

芯片/模组/app通过OpenHarmony官方认证后,贡献代码到OpenHarmony生态。

修复OpenHarmony的问题。

学习OpenHarmony的源码。

准备

1.注册码云gitee账号。

2.注册码云SSH公钥,请参考码云帮助中心的公钥管理:https://gitee.com/help/articles/4181

3.安装git客户端并配置用户信息。

git config --global user.name “yourname”

git config --global user.email “your-email-address”

git config --global credential.helper store1.2.3.

复制

4.安装码云repo工具,可以执行如下命令。

curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 》 /usr/local/bin/repo

chmod a+x /usr/local/bin/repo

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests1.2.3.

操作

方式一(推荐):通过repo下载

repo init -u https://gitee.com/openharmony/manifest.git -b master

repo sync -c

方式二:通过git clone单个代码仓库

进入代码仓库主页:https://gitee.com/openharmony,选择需要克隆的代码仓库,执行命令,如:

git clone https://gitee.com/openharmony/manifest.git -b master1.

源码目录简介

下表是OpenHarmony源码的目录及简单说明:

责任编辑:YYX

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68521
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16254
收藏 人收藏

    评论

    相关推荐

    STM32连接机智云,代码移植,NTP实时时间获取(二)

    如何利用NTP(网络时间协议)获取精确的实时时间,并将其集成到我们的STM32应用中。本文将涵盖以下几个方面:1.代码编写准备:我们将分析所需的开发环境配置、库文件和工
    的头像 发表于 11-20 01:02 234次阅读
    STM32连接机智云,<b class='flag-5'>代码</b>移植,NTP实时时间<b class='flag-5'>获取</b>(二)

    【龙芯2K0300蜂鸟板试用】OpenHarmony代码

    收到龙芯2K0300蜂鸟开发板后,对开发板做了一些了解和研究,现将OpenHarmony代码提供给大家测试,也希望大家能更多的认识龙芯2K0300蜂鸟开发板,下面先简单介绍一下这块开发板。 广东
    发表于 09-18 11:42

    基于ArkTS语言的OpenHarmony APP应用开发:HelloOpenharmony

    1、程序简介该程序是基于OpenHarmony标准系统编写的UI应用类:HelloOpenHarmony。本案例是基于API9接口开发。本案例已在OpenHarmony凌蒙派-RK3568开发
    的头像 发表于 09-15 08:09 371次阅读
    基于ArkTS语言的<b class='flag-5'>OpenHarmony</b> APP应用开发:Hello<b class='flag-5'>Openharmony</b>

    400万!深开鸿OpenHarmony主仓代码贡献量再创里程碑!

    2024年7月8日,据OpenAtomOpenHarmony(以下简称“OpenHarmony”)官网显示,深开鸿在OpenHarmony社区主仓代码贡献总量超过400万行,在华为以外
    的头像 发表于 07-09 08:33 348次阅读
    400万!深开鸿<b class='flag-5'>OpenHarmony</b>主仓<b class='flag-5'>代码</b>贡献量再创里程碑!

    OpenHarmony之开机优化

    OpenHarmony已经支持了Bootchart工具,我们可以直接使用Bootchart工具,Bootchart工具介绍如下: 概述 Bootchart是一个用于系统启动过程性能分析的开源软件工具
    发表于 07-01 16:39

    【开源鸿蒙】下载OpenHarmony 4.1 Release源代码

    本文介绍了如何下载开源鸿蒙(OpenHarmony)操作系统 4.1 Release版本的源代码,该方法同样可以用于下载OpenHarmony最新开发版本(master分支)或者4.0 Release、3.2 Release等发
    的头像 发表于 04-27 23:16 902次阅读
    【开源鸿蒙】下载<b class='flag-5'>OpenHarmony</b> 4.1 Release源<b class='flag-5'>代码</b>

    HarmonyOS开发:【基于命令行(获取源码)】

    在Ubuntu环境下通过以下步骤获取OpenHarmony源码。
    的头像 发表于 04-25 22:08 399次阅读
    HarmonyOS开发:【基于命令行(<b class='flag-5'>获取</b>源码)】

    鸿蒙OpenHarmony【标准系统编写“Hello World”程序】 (基于RK3568开发板)

    源码],创建RK3568开发板的源码工程。 示例目录 拉取openharmony项目代码,在代码根目录创建sample子系统文件夹,在子系统目录下创建hello部件文件夹,hello文件夹中创建
    的头像 发表于 04-24 17:32 778次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【标准系统编写“Hello World”程序】 (基于RK3568开发板)

    鸿蒙OpenHarmony【创建工程并获取源码】

    在通过DevEco Device Tool创建OpenHarmony工程时,可自动下载相应版本的OpenHarmony源码。
    的头像 发表于 04-19 21:40 366次阅读
    鸿蒙<b class='flag-5'>OpenHarmony</b>【创建工程并<b class='flag-5'>获取</b>源码】

    深开鸿正式升级成为OpenHarmony项目群A类捐赠人

    近日,深开鸿作为OpenHarmony核心共建单位、OpenHarmony生态委员会委员单位、OpenHarmony代码Top 10贡献单位,通过了开放原子开源基金会
    的头像 发表于 04-18 09:40 633次阅读
    深开鸿正式升级成为<b class='flag-5'>OpenHarmony</b>项目群A类捐赠人

    鸿蒙开发学习:【OpenHarmony HAR】

    OpenHarmony js/ts三方库使用的是OpenHarmony静态共享包,即HAR(Harmony Archive),可以包含js/ts代码、c++库、资源和配置文件。通过HAR,可以实现
    的头像 发表于 03-18 16:27 743次阅读

    [鸿蒙]OpenHarmony4.0的Rust开发

    OpenHarmony 为了集成 C/C++ 代码和提升编译速度,使用了 GN + Ninja 的编译构建系统。GN 的构建语言简洁易读,Ninja 的汇编级编译规则直接高效。 为了在 OpenHarmony
    的头像 发表于 02-26 17:28 876次阅读
    [鸿蒙]<b class='flag-5'>OpenHarmony</b>4.0的Rust开发

    【鸿蒙】OpenHarmony 4.0蓝牙代码结构简析

    OpenHarmony 4.0蓝牙代码结构简析前言 OpenHarmony 4.0上蓝牙仓和目录结构进行一次较大整改,本文基于4.0以上版本对蓝牙代码进行
    的头像 发表于 02-26 16:08 1533次阅读
    【鸿蒙】<b class='flag-5'>OpenHarmony</b> 4.0蓝牙<b class='flag-5'>代码</b>结构简析

    鸿蒙开发-OpenHarmony轻量系统之获取当地时间

    在轻量设备里面,我们常常需要获取本地时间,用于时间显示,log记录,帮助RTC芯片纠正时间等等。我们在之前设计了一个智慧时钟,需要使用到本地当前时间,因此本篇文章想在OpenHarmony上实现SNTP获取本地时间,并将此功能集
    的头像 发表于 01-22 17:48 1063次阅读
    鸿蒙开发-<b class='flag-5'>OpenHarmony</b>轻量系统之<b class='flag-5'>获取</b>当地时间

    OpenHarmony创新赛圆满落幕,获奖名单揭晓!

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony OpenHarmony创新赛半年磨一剑 科技与激情碰撞 付出与收获交融 参赛者们日夜奋战 每一个
    的头像 发表于 12-28 16:05 347次阅读
    <b class='flag-5'>OpenHarmony</b>创新赛圆满落幕,获奖名单揭晓!