> 文档中心 > 获取OpenHarmony源码:从DevEco Marketplace获取(1)

获取OpenHarmony源码:从DevEco Marketplace获取(1)


引言

OpenHarmony源码的获取方式有三种:从gitee、GitHub等基于git的代码托管平台获取;从华为的DevEco Marketplace网站获取;从镜像站点获取。

本文介绍如何用从华为的DevEco Marketplace网站获取OpenHarmony源码,并在Ubuntu系统下的鸿蒙设备开发环境中创建一个鸿蒙工程。

一、DevEco Marketplace简介

在华为的DevEco Marketplace这个网站里,有很多开源的鸿蒙发行版。这些开源的发行版大多是针对某一个具体的设备(如:一款开发板),对OpenHarmony的全量代码进行了裁剪。比如,某个设备因为硬件资源有限,没办法运行OpenHarmony中的一些功能组件,那么这些组件在发行版中就被裁掉了;或着说在这个设备的应用场景中根本就不需要某项功能,相应的功能组件也会在发行版中被裁掉。

我们在进行鸿蒙设备开发的时候,可以先到这个网站上去找一找有没有合适的发行版。这个网站也支持在这些发行版的基础上增加或删除一些功能组件,定制一个发行版本。你也可以把自己做的发行版提交到这个网站上开源给别人使用。

DevEco Marketplace这个网站的首页如下图所示。对于鸿蒙设备开发而言,比较重要的是 设备组件文档 。开发者可到设备组件中查找各种开源发行版和组件包;文档中详细说明了如何获取发行版、组件包,如何定制发行版,以及如何贡献自己的发行版和组件包。

在这里插入图片描述

下面,以Hi3861处理器的一款开发板为例,讲解从华为的DevEco Marketplace网站获取OpenHarmony源码并创建鸿蒙工程的过程。

注意: 从DevEco Marketplace这个网站下载和贡献代码都需要先注册一个华为账号。

二、获取鸿蒙发行版

参考: https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md

2.1 安装Node.js和HPM

获取发行版源码需要使用hpm命令行工具,而hpm使用Node.js中的npm安装的,所以要先安装Node.js和hpm。安装方法参考下文的第二部分第2.6~2.7节:

《搭建鸿蒙设备开发环境:Ubuntu20.04+DevEco Device Tool Release 3.0》 链接

如果你已经按照上面这篇文章搭建好鸿蒙设备开发环境,可略过此步骤。

2.2 获取发行版的配置文件

1、进入DevEco Marketplace首页后,先用账号登录(如果没有注册华为账号,请先进行注册)。

2、打开 设备组件 页面,选择 开源发行版 ,使用页面左侧的 过滤器 帮助查找所需要的开源发行版,如下图所示:

在这里插入图片描述

3、单击选中的开源发行版,如:上图中的 WLAN连接类产品 ,就会打开这个开源发行版最新版本的详情页面,如下图所示:

在这里插入图片描述

4、在详情页面的右侧,可以看到版本号和发布时间,单击 直接下载 可下载这个版本的配置文件(暂时不要点击下载);在详情页面的左侧,可以看到对当前版本的描述,单击 版本 ,查看该发行版的所有版本,如下图所示:

在这里插入图片描述

单击任何一个版本,就可以进入这个版本的详情页面。也可以单击版本最右边的下载图标,直接下载这个版本的配置文件。

记录一下: 2022-06-18,3.1.0~3.1.2版本的配置文件都有问题,无法成功下载该发行版源码。将问题提交给华为后,华为承认存在bug,希望你看到本文的时候,已被修复。

之前我一直使用2.2.0版本,至少我目前没遇到问题;3.0.1版本的配置文件对于获取源码没有问题,在本文中,不妨就用一下这个版本。

5、单击3.0.1版本右侧的下载图标,下载得到一个.tgz压缩文件,建议大家将这个压缩文件改个名字,改成自己想要创建的鸿蒙项目名称,例如:hispark_pegasus_301.tgz。我将这个压缩文件放到了~/Documents/DevEco/Projects目录下。

2.3 下载发行版源码

1、解压发行版配置文件压缩包hispark_pegasus_301.tgz

进入压缩包所在的文件夹:~/Documents/DevEco/Projects,在这个压缩文件中单击鼠标右键,选择 Extract Here ,就会得到一个名为hispark_pegasus_301的文件夹。

2、进入文件夹hispark_pegasus_301,在文件夹的空白处单击鼠标右键,选“Open in Terminal”,打开一个终端,在终端中执行命令:hpm install,即开始下载发行版的代码和相关工具链(确保能连接互联网)。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

成功后,鸿蒙项目文件夹hispark_pegasus_301中的文件如下图所示:

在这里插入图片描述

如果你使用的是3.1.0~3.1.2版本的配置文件,可能会出现下图所示错误(至少2022-06-18测试时是这样的):

在这里插入图片描述

三、创建一个鸿蒙项目

请先按照下面这篇文章搭建鸿蒙开发环境:

《搭建鸿蒙设备开发环境:Ubuntu20.04+DevEco Device Tool Release 3.0》 链接

DevEco Device Tool版本: devicetool-linux-tool-3.0.0.401.zip

1、打开DevEco Device Tool,在“Home”页面中单击“Import Project”。

在这里插入图片描述

2、在弹出的窗口中选择鸿蒙项目文件夹hispark_pegasus_301,然后单击右下角的Import 。

在这里插入图片描述

3、在弹出的窗口中单击 Import

在这里插入图片描述

4、选择 Import from OpenHarmony Source

在这里插入图片描述

5、按照下图选择开发板、处理器等信息,然后单击 Open

在这里插入图片描述

6、在弹出的窗口中打勾,然后单击Yes

在这里插入图片描述

7、打开的鸿蒙项目如下图所示。

在这里插入图片描述

8、按下图所示对项目进行编译。

在这里插入图片描述

在这里插入图片描述

后记

我们其实也可以在DevEco Device Tool里,一站式完成本文第二、三部分所做的工作,不过好像只能下载发行版的最新一个版本创建鸿蒙工程。所以等华为修复前文所提到的bug后,请看我的另一篇文章:

《获取OpenHarmony源码:从DevEco Marketplace获取(2)》

补记

我们也可以在Ubuntu终端中,以命令行的方式,依次完成鸿蒙发行版的查找、下载和编译。

创建一个项目文件夹,

1、查看DevEco Marketplace这个网站上都有哪些鸿蒙开发板

hpm search -t distribution

在这里插入图片描述

n翻到下一页,按q退出。

2、新建一个项目文件夹(如:test),然后初始化

cd ~/Documents/DevEco/Projectsmkdir testcd testhpm init -t dist #初始化

在这里插入图片描述

3、在项目文件夹下,执行以下命令,下载开源发行版源码和工具链。

hpm i @ohos/hispark_pegasus@3.0.1

在这里插入图片描述

4、编译

有两种命令行编译方式:

(1)方式一:在项目文件夹下执行以下命令

hpm dist

在这里插入图片描述

(2)方式二:依次执行以下命令

hb set   #设置项目路径和要编译的产品hb build #编译项目

在这里插入图片描述

在这里插入图片描述

本文在CSDN、公众号、头条号和知乎同步发布,感谢关注。

海量搞笑GIF动态图片