侵权投诉

HarmonyOS与OpenHarmony开发角度上的区别

HarmonyOS技术社区 2021-09-28 09:31 次阅读

开篇第一句,所有学习与开发资料以官方资料为准。任何博客类只能作为参考,自行判断优良,不要被误导,包括本人的所有博客。

HarmonyOS 官方文档地址

应用开发:

https://developer.harmonyos.com/cn/documentation

设备开发:

https://device.harmonyos.com/

OpenHarmony 官方文档地址

如下:

https://gitee.com/openharmony/docs/

HarmonyOS 与 OpenHarmony 的区别

关于 HarmonyOS 与 OpenHarmony 的区别我这里不再过多阐述,请看开放原子基金会的官方介绍。

我这里着重从开发角度上讲解它们的区别:

①开发语言支持

HarmonyOS 主要支持 Java 和 JS 来开发应用(当然还有 C++ 和 C++),而 OpenHarmony 不支持 Java 来开发应用。

目前阶段 HarmonyOS 里面还是有部分功能是基于 AOSP 的,因此还是要用 Java,而 OpenHarmony 不再使用 Java,应该是想彻底放弃 AOSP 了。

②SDK 的不同

应用开发工具都是统一使用华为的 DevEco Studio,但是使用的 sdk 不同,开发前首先要切换 sdk 配置。

虽然 HarmonyOS 和 OpenHarmony 都可以用 js 来开发应用,但是它们的 api 还是有些细微的区别。

OpenHarmony 的 api 参考请参看 OpenHarmony 的官方文档,千万别看错了。

然后 OpenHarmony 的 sdk 请下载官方的支持 OpenHarmony 开发的 sdk,而不是 DevEco studio 自带的 HarmonyOS sdk。

关于 OpenHarmony sdk 配置请参考官方文档,我这里仅仅附上官方链接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/配置OpenHarmony-SDK.md

③创建项目方式不同

在 DevEco 2.2 Beat1 版本之后,可以直接支持创建 OpenHarmony 应用项目了。

创建方式如下图:

这里重点对 standard 解释下,即 OpenHarmony 官方说的“标准系统”,本文中所说的所有 OpenHarmony 应用开发都是针对的标准系统。

轻量和小型系统(参考内存《128MB),标准系统(参考内存≥128MB),详细说明请看官方文档:

https://gitee.com/openharmony/docs/blob/master/zh-cn/readme.md

⑤运行调测方式不同

HarmonyOS 支持 previewer 预览、模拟器运行、真机运行三种方式;OpenHarmony 支持 previewer 预览、真机(目前主要使用 3516 系列开发板)运行。

首先,目前 OpenHarmony 是没有模拟器的,真正运行调测只能借助开发板(主要采用 HI3516 系列开发板),注意目前是不支持手机平板等真机调测的。

⑥签名方式不同

OpenHarmony 的签名方式我这里就不赘述,直接附上官方文档链接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/配置OpenHarmony应用签名信息.md

HarmonyOS 的签名我最想吐槽的就是需要添加设备 ID。OpenHarmony 的签名我只想吐槽一句,既然 open 为何还必须要签名。

埋坑

上面的区别对比已经埋了部分坑了,下面再针对纯粹上层应用开发人员初次接触 OpenHarmony 开发的坑。

①OpenHarmony 操作系统编译

为何要编译操作系统,如果你手上有现成的安装好操作系统的开发板你,操作系统和 sdk 版本也对应。

比如我们是基于 OpenHarmony-SDK-2.0-Canary 版本,那你应该烧录一个对应的操作系统版本。比如我手上是很久之前的一个 1.0 版本的 3516 开发板,显然要升级。

操作系统编译的完整资料依然请参考官网:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard.md

关于这里我强调几点:

(1)使用 repo 进行代码仓同步时,官方描述的操作命令如下:

repo sync -c

建议替换成:

repo sync -c -j8

这个后面的数字 8 根据自己的 cpu 核数进行设置,查看 cpu 核数的命令如下:

grep -c ‘processor’ /proc/cpuinfo

35833592-1fc2-11ec-82a8-dac502259ad0.png

这样配置之后,会大大加快你的同步速度,否则这个同步时间会非常漫长。

同步过程请使用无限制的公网网络,比如某些公司访问外网会有限制。然后就是网络下载速度也会会直接关系到你的同步速度。

repo 中途同步失败了(比如断网或者异常关机),也不要过于紧张,可以根据 log 提示删除某些同步异常的部分仓库,然后继续执行上面的同步命令即可。

(2)编译环境安装时,Linux 编译服务器终端输入不识别的命令时,提示“ImportError: No module named apt_pkg”。

解决办法:执行如下命令重新安装 python3-apt。

sudo apt-get remove python3-apt

sudo apt-get install python3-apt

(3)编译构建时,我这里遇到一个大坑,就是电脑突然断电了,然后再执行编译的时候报大量错误,错误内容如下:

rm: cannot remove ‘XXXXX‘: Bad message

这种问题本来可以采用 fsck 的方式来修复文件系统,但是由于编译过程中产生了大量的很小的临时文件,所以修复起来太慢太不现实,干脆删除了虚拟机重新加载之前保存的虚拟机镜像,重新再来一次。

②操作系统烧录

官方描述的是使用网口进行烧录,官网地址如下:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-burn.md

需要注意的点:本文档针对的开发版是官方推荐的 AI_Camera_Hi3516DV300 开发套件

(1)确保 USB 转串口驱动能安装上,即在 PC 的设备管理器上能识别到 COM 口。

首先安装 USB-to-Serial Comm Port.exe 驱动,如果没有识别请再安装 CH341SER 驱动。

(2)网口烧录注意事项:不支持无线,需要使用网线直连 PC,网卡是千兆网卡,最好选择六类网线,这样速度更快。

PC 端需要设置 ip 地址为 192.168.1.2/24,网关为 192.168.1.1,如下图:

烧录工具上网口的设置:

upload_net_server_ip:对应 PC 上网口设置的地址。

upload_net_client_mask:设置开发板的子网掩码,对应 PC 上设置的子网掩码,确保开发板和 PC 在一个网段。

upload_net_client_gw:和 PC 上设置的网关保持一致。

upload_net_client_ip:设置开发板的 IP 地址,例如 192.168.1.3,确保和 PC 在一个网段即可。

我没有使用官方推荐的 DevEco Device Tool 进行烧录,而是使用了我喜欢的 HiBurn 进行烧录,但是基本配置相同,截图如下:

点完烧写按钮之后,需要先下电再上电,上电之后就会自动进行烧写了。网口烧录时间比较慢,标准系统 2.2beta 版本烧录估计要 20 分钟。

(3)USB 烧录(强烈推荐,最快的方式,一分钟即可烧写完毕),这种方式是我在配置过程中最卡我的一种方式。主要就是 USB 的驱动一直无法识别。

首先我们来看看正确识别驱动之后,设备管理器中的页面,必须看到通用串行设备下识别了设备才行,如下图:

(1)开发套件上面有两个 typec 接口,屁股后面的那个才是 USB 口,前面的仅仅是供电口。

(2)安装 HiUSBBurnDriver 驱动程序。

(3)Win10 操作系统需要修改注册表。

a.创建一个“文本文档.TXT”,文件后缀名修改为 .reg,如 usb.reg。

b.右键打开创建的 usb.reg,将如下脚本拷贝到该文件中,然后保存并关闭。

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlusbflags12D1D0010100]“SkipBOSDescriptorQuery”=hex:01,00,00,00“osvc”=hex:00,00“IgnoreHWSerNum”=hex:01

c.双击执行 usb.reg 文件,自动修改注册表文件信息。

(4)我 PC 依然迟迟无法识别 USB 驱动的时候,我在系统的 boot 里面(串口终端连接下,进入 uboot 之前,狂按回车进入 boot)输入以下命令终于解决了无法识别驱动的问题。

usb device

(5)待识别了 USB 驱动之后烧录需要注意的问题。

设置好烧录镜像之后,在下电在上电之前,请一直按住开发板上面的 update 按钮(在开发板的串口旁边),上电之后,待出现开始烧写的打印之后再松开按钮。

③OpenHarmony 安装应用到开发板

此处依然贴出对应的官方文档:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/安装运行OpenHarmony应用.md

这里使用的是 hdc_std.exe,而不是 HarmonyOS sdk 中的 hdc.exe。

hdc_std.exe 在哪里?它在 OpenHarmony sdk 的 toolchains 目录下面,确保它和开发板上的版本一致,即确保 sdk 版本和开发板的操作系统版本匹配即可。

④自己编译 OpenHarmony SDK

为了确保 sdk 和自己烧写的操作系统版本一致,我们可以自己编译 sdk。

编译命令如下:

。/build.sh --product-name ohos-sdk --ccache

结果输出:

out/ohos-arm64-release/packages/ohos-sdk/

耗时了好久终于写完了,希望本文加上配上 OpenHarmony 官方的文档能够帮助更多的开发者快速投入 OpenHarmony 共建中。

责任编辑:haq

原文标题:HarmonyOS与OpenHarmony,区别很大!

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:HarmonyOS技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

HDF驱动加载问题

源码版本:3.0LTS下 开发板:HI3516 编译系统:小型系统 描述: 按照驱动开发的指导编写驱动,可以正常编译进去,但是没...
发表于 10-18 17:25 101次 阅读

HarmonyOS卡片开发-基础信息概述与配置

一.基本概念原子化服务中每个便捷服务应有独立的图标、名称、描述、快照,这些称为便捷服务基础信息。基础信息应能够准确反映便...
发表于 10-18 10:22 202次 阅读
HarmonyOS卡片开发-基础信息概述与配置

华为P20系列将支持最新HarmonyOS系统

HarmonyOS官方宣布华为P20系列将享受最新的HarmonyOS升级,升级HarmonyOS ....
的头像 lhl545545 发表于 10-18 09:59 431次 阅读

瘦肉精检测仪的应用范围和产品性能

瘦肉精检测仪的产品性能。瘦肉精检测仪【恒美 HM-SSJ】广泛应用于食药监局、卫生部门、医学院校、科....
发表于 10-15 14:34 14次 阅读

呕吐毒素检测仪的特点

呕吐毒素检测仪,灵敏度高,采用更先进的荧光定量检测原理,准确度更高,与国标法高度符合,满足不同层次对....
发表于 10-15 11:38 246次 阅读

HarmonyOS服务卡片开发-资源访问学习

卡片工程可以访问的资源,包括JS模块的resources资源,应用resources资源(所有JS模块共享)和系统预置资源。资源限定词资源...
发表于 10-15 11:35 505次 阅读

求一种通用的BootLoader方案

BootLoader是什么?如何去配置BootLoader?
发表于 10-15 06:33 0次 阅读

RDA5856蓝牙芯片有哪些特点

什么是MbedOS操作系统? MbedOS操作系统是由哪些部分组成的? RDA5856蓝牙芯片有哪些特点? ...
发表于 10-15 06:08 0次 阅读

专业手持机设计的特点

手持机是能与其他设备进行数据通讯的手持型终端机,具有数据存储和操作系统,有人机交互界面可以显示输入信....
发表于 10-14 16:17 23次 阅读

鸿蒙系统到底有多少“差评”?虽然很难听,但是很真实

HarmonyOS 2.0HarmonyOS 2.0是华为技术有限公司于20年9月在华为开发者大会上发布的操作系统,适用于部分手机、车机、智能电...
发表于 10-14 16:10 297次 阅读

大米重金属检测仪的作用

检测大米中的重金属镉,推荐【上海飞测】大米重金属检测仪,阻击‘危险’大米,操作快速简便,结果准确定量....
发表于 10-14 14:30 127次 阅读

呕吐毒素检测仪产品特点

上海飞测呕吐毒素检测仪,采用更先进的荧光定量检测原理,准确度更高,与国标法高度符合,满足不同层次对呕....
发表于 10-14 14:29 26次 阅读

大米重金属检测仪的作用

大米重金属检测仪[微测生物],阻击‘危险’大米,检测大米中的镉,操作快速简便,结果准确定量。
发表于 10-14 14:25 99次 阅读

厂界VOC气象站技术参数是什么

厂界VOC气象站技术参数是什么?环保意义上的定义是指活泼的一类挥发性有机物,即会产生危害的那一类挥发....
发表于 10-14 14:12 28次 阅读

iPhone13的劲敌,华为Mate50卖点不止鸿蒙系统,但有一个小遗憾

受到一些众所周知的因素影响,手机业务发展受限的华为,目前在全球手机市场中份额直线下滑。从华为的新机发布情况来看,按照以往...
发表于 10-14 11:24 404次 阅读
iPhone13的劲敌,华为Mate50卖点不止鸿蒙系统,但有一个小遗憾

HarmonyOS服务卡片开发-文件组织与配置学习

1. 文件组织 目录结构 JS服务卡片(entry/src/main/js/Component)的典型开发目录结构如下: 目录结构中文件分类如下: ....
发表于 10-14 10:19 277次 阅读

STM32F103+RT-thread操作系统+M5311NB模组物联网该如何去设计

STM32的编程逻辑分为哪些?STM32F103+RT-thread操作系统+M5311NB模组物联网该如何去设计?...
发表于 10-14 09:20 0次 阅读

HarmonyOS服务卡片开发-HML语法学习

HML(HarmonyOS Markup Language)是一套类HTML的标记语言,通过组件,事件构建出页面的内容。页面具备数据绑定、事...
发表于 10-13 10:48 16次 阅读

HarmonyOS的组件化设计方案

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,Ha....
的头像 HarmonyOS开发者 发表于 10-13 09:59 184次 阅读

基于HarmonyOS的黑白翻棋手机版本

前言 之前发过两篇黑白翻棋游戏的手表版本,这次给大家带来的小分享是黑白翻棋的手机版本,也是JS写的,....
的头像 HarmonyOS官方合作社区 发表于 10-13 09:38 142次 阅读

鸿蒙OS 3.0马上就要来了

花粉们都用上鸿蒙系统了吗?据统计,目前鸿蒙OS 2.0升级用户数突破1.2亿,平均每天超100万用户....
的头像 HarmonyOS官方合作社区 发表于 10-13 09:33 735次 阅读

便携式重金属测定仪可以检测什么

便携式重金属测定仪可以检测什么【霍尔德HED-IG-SZ】据有关机构保守估计,目前中国18亿亩耕地中....
发表于 10-13 09:22 16次 阅读

罐区防爆气象站-化工厂气象站的特点

罐区防爆气象站-化工厂气象站FT-FB【风途】面对极端强降雨天气,提前协调气象部门,将公司相关人员及....
发表于 10-12 17:45 102次 阅读

网传华为手机首发的高通骁龙898是一次无奈的回归

电子发烧友网报道(文/黄山明)自从华为被美国四轮制裁以后,消费者业务在这几年的情况都不容乐观,尤其是....
的头像 电子发烧友网 发表于 10-12 16:49 474次 阅读

油库化工厂一体式气象站技术参数

油库化工厂一体式气象站技术参数FT-FB【风途】化工行业是非常重要的优势产业,但其在生产过程中会造成....
发表于 10-12 16:44 92次 阅读

大米镉重金属检测仪有哪些用处

大米镉重金属检测仪有哪些用处【霍尔德HED-IG-SZ】大米是南方人的主食。但是近些年来,随着南北交....
发表于 10-12 16:18 29次 阅读

国产FPGA GW1NSR的片上资源和特性

   本文介绍国产FPGA GW1NSR的片上资源和特性,从官网能获取资料的途径,完成这一步可以使读....
的头像 高云半导体 发表于 10-12 14:17 1009次 阅读
国产FPGA GW1NSR的片上资源和特性

Apple最新发布iOS 15.0.2

Apple 于周一发布了 iOS 15.0.2,并修复了一些重要的错误,包括一些特定于 Find M....
的头像 科技见闻网 发表于 10-12 10:54 488次 阅读

稻谷重金属测定仪如何选择

稻谷重金属测定仪如何选择【霍尔德HED-IG-SZ】当重金属持续在体内积聚到一定量(或者发生急性中毒....
发表于 10-12 10:28 33次 阅读

欧拉开源操作系统首个全场景版本发布

9月25日,华为孟晚舟回国的消息刷屏了。据央视报道,当地时间24日,孟晚舟在加拿大不列颠哥伦比亚省法....
的头像 电子发烧友网 发表于 10-11 14:45 209次 阅读

鸿蒙的网络管理功能你们知道有多厉害吗

  本示例演示了如何使用网络管理模块相关接口,演示了以下功能: 功能 1: 使用默认网络,打开连接,....
的头像 HarmonyOS技术社区 发表于 10-11 14:26 267次 阅读
鸿蒙的网络管理功能你们知道有多厉害吗

HarmonyOS微博第三方登录实现(内附代码)

  前期准备 在微博开放平台注册一个网站应用,微博开放平台地址如下: https: //open.w....
的头像 HarmonyOS技术社区 发表于 10-11 14:21 209次 阅读

鸿蒙开发中怎么引入第三方库

Android 发展到现在不仅提供了很多 API,还提供了很多第三方库。这降低了我们开发者的开发难度....
的头像 HarmonyOS技术社区 发表于 10-11 14:11 202次 阅读

HarmonyOS系统TextField组件基本用法

1. TextField组件基本用法 组件说明: 是Text的子类,用来进行用户输入数据的 常见属性....
的头像 电子发烧友论坛 发表于 10-09 09:18 228次 阅读
HarmonyOS系统TextField组件基本用法

Windows11有哪些值得让人升级的理由

对于微软来说,Windows 11让你升级的最大好处之一就是,可以让你的PC更加流畅,当然他们也是确....
的头像 Android编程精选 发表于 10-08 14:42 384次 阅读

极客时间引领IT技术培训风向,操作系统课程近期火热招募

操作系统是计算机体系中最为重要的组成部分之一,在进行相关应用的开发时,很多细节问题都与操作系统有着紧....
的头像 话说科技 发表于 09-30 16:59 361次 阅读
极客时间引领IT技术培训风向,操作系统课程近期火热招募

iphone13promax和iphone13pro区别

iphone13promax和iphone13pro区别
的头像 lhl545545 发表于 09-30 16:27 14993次 阅读

机智云边缘操作管理系统及边缘服务器满足企业全球化需求

机智云自助开发平台,作为一个零门槛、超低代码的iot开发平台,通过傻瓜化的自助工具、在线可视化开发环....
的头像 机智云物联网 发表于 09-30 16:06 1415次 阅读

微测生物重金属检测仪有哪些特点?

微测生物重金属检测仪可快速简便准确定量的测定出粮食谷物、饲料、食品、中药材、蔬菜、乳品、水产品中多种....
发表于 09-30 14:33 93次 阅读

嵌入式操作系统VxWorks中的网络通信

嵌入式操作系统VxWorks中的网络通信(通信网络保障应急方案)-嵌入式操作系统VxWorks中的网....
发表于 09-30 11:19 41次 阅读
嵌入式操作系统VxWorks中的网络通信

嵌入式VxWorks实时操作系统中串口通信的实现

嵌入式VxWorks实时操作系统中串口通信的实现(通信网络基础课后答案第三章)-嵌入式VxWorks....
发表于 09-30 11:15 41次 阅读
嵌入式VxWorks实时操作系统中串口通信的实现

市场监管局农残速测仪的仪器特点有那些

市场监管局农残速测仪的仪器特点有那些【霍尔德仪器HED-NC12】农残留跟着农业的迅速开展已经变成了....
发表于 09-30 09:14 39次 阅读

华为mate50pro价格官网报价

华为mate50pro价格官网售价约为8000元起,最新搭载鸿蒙操作系统,采用OLED大屏幕设计,外....
的头像 lhl545545 发表于 09-29 16:42 4531次 阅读

生物毒性检测仪器产品介绍

生物毒性检测仪器产品介绍【霍尔德HED-DX】当前,中国在经济高速发展的同时,人为对水体的污染也是越....
发表于 09-29 10:40 38次 阅读

真菌毒素快速检测仪设备 【飞测生物】真菌毒素检测仪

【飞测生物】真菌毒素检测仪,操作快速简便,结果准确定量,可用于粮食、饲料、中药材等多种样品中真菌毒素....
发表于 09-29 10:34 50次 阅读

执法影像记录仪设计

执法记录仪具有摄像、照相、录音、对讲、定位、回放、存储等功能,能够对执法过程中进行动态、静态的现场情....
发表于 09-29 10:27 38次 阅读

iphone13和13pro哪个好 哪款更值得入手

iphone13和13pro小编个人推荐iPhone 13Pro。下面我们就来一起看看iPhone ....
的头像 lhl545545 发表于 09-28 11:30 20778次 阅读

HarmonyOS如何自动生成JS FA调用Java PA的模板代码

JS UI框架提供了JS FA(Feature Ability)调用Java PA(Particle....
的头像 HarmonyOS开发者 发表于 09-28 10:09 329次 阅读

JavaUI框架新增组件开发指南

Java UI框架是HarmonyOS应用开发中诸多开发者需要关注的重要内容。近期,文档君结合各位开....
的头像 HarmonyOS开发者 发表于 09-28 10:04 404次 阅读
JavaUI框架新增组件开发指南

如何对OpenHarmony贡献代码

OpenHarmony 是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的....
的头像 HarmonyOS技术社区 发表于 09-28 09:58 304次 阅读
如何对OpenHarmony贡献代码

在鸿蒙上使用Python进行物联网编程

在上一篇帖子《使用 Python 开发鸿蒙设备程序(1-GPIO 外设控制)》中,已经成功的使用 P....
的头像 HarmonyOS技术社区 发表于 09-28 09:55 461次 阅读
在鸿蒙上使用Python进行物联网编程