OpenHarmony、HarmonyOS、HarmonyNext互相兼容吗?

1,三者之间的关系

  • OpenHarmony:开源底层。
  • HarmonyOS:闭源手机系统,兼容安卓生态。
  • HarmonyOS NEXT:纯血鸿蒙,不兼容安卓。

上一篇文章简单介绍过,就不再多说了,这里说一下HarmonyOS NEXT(闭源)。

2023年8月4日,华为推出HarmonyOS NEXT开发者预览版 。2024年1月18日,HarmonyOS NEXT星河版正式面向开发者开放申请。2024年10月22日,“原生鸿蒙之夜暨华为全场景新品发布会”上,华为正式为用户带来全新的原生鸿蒙操作系统(HarmonyOS NEXT),这是HarmonyOS诞生以来最大的升级,以原生精致、原生互联、原生智能、原生安全、原生流畅等五大高品质体验,开启鸿蒙新世界。

HarmonyOS NEXT Release

软件包

发布类型

版本号

Build Version

发布时间

系统ReleaseHarmonyOS NEXT ReleaseNEXT.0.0.722024/10/18
NEXT.0.0.712024/10/08
DevEco StudioReleaseDevEco Studio NEXT Release5.0.3.9002024/10/08
SDKReleaseHarmonyOS NEXT Release SDK基于OpenHarmony SDK Ohos_sdk_public 5.0.0.71 (API 12 Release)2024/10/08

2,三者之间应用互相兼容吗?

2.1 harmonyOS和openHarmony

harmonyOS可以看作openHarmony的经过bug修改一部分后出的一个正式版本,如OpenHarmony-conpileSdkVersion10对应HarmonyOS-compileSdkVersion9。因此要想hap包兼容,则要避免调用版本API不一样的接口。

DevEcoStudio新建工程后,在entry模块的build-profile.json5配置如下:

{"apiType": 'stageMode',"buildOption": {},"targets": [{"name": "default","runtimeOS": "HarmonyOS"},{"name": "ohosTest",}]
}

runtimeOS选择HarmonyOS,启动模拟器,毫无疑问在harmonyOS版本的模拟器手机上可以正确运行。连接真机,devEcoStudio识别后,自动签名,也可以安装到真机harmonyOS的手机上。

此时,不改变这个runtimeOS,直接运行到openHarmony的板卡上,发现也可以正确运行。证明devEcoStuio生成的hap在不涉及跨版本api调用的情况下可以通过编译器安装hap。

但是,从真机上pull-app下来,无法通过hdc安装到openHarmony的板卡上,提示:

[Fail]Not any installation package was found

官方回答:

由于系统安全升级,当前仅有以下三种方式将应用安装至设备中:

  • 预置应用:通过相关流程将应用预置到设备中,设备初始化时会自动安装相关应用;
  • 开发工具安装:当应用处于开发调试阶段时,允许开发者使用HDC工具将应用安装至相应的工程机中;
  • 应用市场安装:最终面向用户提供的应用安装方式,通过应用市场下载相应应用;

并且,devEcoStudio-build app以后,也无法直接安装到真机上。官方回答:

不支持通过hdc命令直接安装app包,可使用开放式测试或者邀请测试对未上架的应用进行内部测试。
参考文档:文档中心

所以这里,不知道该怎么解答此现象。可以说它为了兼容Android的apk所做的修改,也可以说是安全审查很严格吧。

2.2 harmonyNEXT和openHarmony

为何选择它们对比,主要是它 powered by openHarmony ,跟harmonyOS就不对比了,因为已经说了剔除了AOSP,所以很多应用是不兼容的。

HarmonyOS NEXT作为一款全场景智能操作系统,基于OpenHarmony打造,却有一些独特的特性。并且HarmonyOS NEXT现有的应用无法直接在OpenHarmony设备上运行。主要有几个原因:

首先,应用架构和编译的差异是导致这一现象的重要原因之一。

HarmonyOS NEXT 拥有其独具特色的应用架构和开发模式。其应用程序包(hap)被分为 entry 和 feature 两种类型。

entry 作为应用的主模块,就如同大门一样,为用户提供基础功能,是进入应用世界的入口;而 feature 则像是应用的动态插件,能够根据用户的需求和设备类型进行选择性安装,为用户带来更加个性化和灵活的体验。

这种精心设计的架构,旨在满足 HarmonyOS NEXT 系统对于多样化功能和复杂场景的特定需求。
相比之下,OpenHarmony 则是一个开源的操作系统项目,它的架构侧重点在于为各类不同的设备和场景提供基础的操作系统能力。

虽然它与 HarmonyOS NEXT 有着一定的同源关系,但在具体的实现方式和对应用的支持上,却有着明显的独立特性。

比如说,OpenHarmony 在设备适配和系统定制方面展现出了高度的灵活性,能够适应各种不同类型的硬件设备和使用场景。但也正因如此,对于 HarmonyOS NEXT 上那些特定的应用架构和复杂功能,它可能无法直接给予有力的支持。

除此之外,HarmonyOS NEXT 和 OpenHarmony 对应用的编译方式不同,在编译过程中,即使是相同的代码,在这两个系统中的编译结果也可能大相径庭。这种差异直接影响了应用的正常运行,使得 HarmonyOS NEXT 的应用在 OpenHarmony 设备上难以施展拳脚。

其次,系统 API 和功能支持的差异也不容忽视。

在 API 层面上,HarmonyOS NEXT 和 OpenHarmony 既有相似之处,又存在显著的差异。

HarmonyOS NEXT 作为面向消费者的智能终端操作系统,其 API 侧重于提供丰富多样、令人惊艳的用户体验和智能功能。比如,它拥有更强大的分布式能力,能够实现设备之间的无缝协同工作;还有智能交互功能,让用户与设备的互动更加自然和便捷。

而 OpenHarmony 的 API 则更注重基础的系统功能和设备的适配性。它就像是一座坚固的基石,为各种设备提供稳定可靠的操作系统基础,但对于一些高级的、面向用户体验的功能,可能支持得相对有限。

此外,在功能支持方面,HarmonyOS NEXT 也进行了针对特定设备或场景的优化和定制。例如,在手机、平板等智能终端上,HarmonyOS NEXT 可能投入了更多的资源进行性能优化和功能创新,以满足用户对于高效处理和丰富应用的需求。然而,OpenHarmony 设备可能更多地侧重于物联网设备等其他特定场景,其功能重点和优化方向与 HarmonyOS NEXT 存在差异。这就导致了一些在 HarmonyOS NEXT 上运行良好的功能,在 OpenHarmony 设备上无法实现或者不能完全发挥作用。

再者,安全和权限管理的差异也是造成应用无法直接运行的重要原因。

无论是 HarmonyOS NEXT 还是 OpenHarmony,都将系统安全视为重中之重。但它们在安全机制的具体实现方式上各有千秋。

HarmonyOS NEXT 为了保障用户的信息安全和系统的稳定运行,可能设置了更为严格的应用审核和安全检测机制。每一个应用都要经过层层筛选和检验,确保没有任何潜在的安全隐患,就像给用户的信息和系统穿上了一层坚固的铠甲。而 OpenHarmony 作为一个开源项目,其安全机制在一定程度上需要开发者和使用者根据具体的需求进行进一步的定制和强化。这就要求开发者在使用 OpenHarmony 时,要更加注重安全方面的设计和实现。

在权限管理方面,两个系统也有着不同的策略和要求。HarmonyOS NEXT 对于应用的权限管理如同一位细致入微的管家,严格控制应用只能访问其所需的权限,最大程度地保护用户的隐私和数据安全。相比之下,OpenHarmony 的权限管理可能相对较为宽松,这就需要开发者在应用开发过程中更加谨慎地处理权限问题,确保用户的权益得到充分保障。

最后,对于大家关心的是否能够从 HarmonyOS NEXT 的应用商店获取 hap 包的问题,目前还没有明确的官方途径供普通用户直接获取。即使有办法获取到 hap 包,由于上述种种系统差异的存在,估计也无法直接在 API Level 一致的 OpenHarmony 设备上顺利部署并运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Camera学习笔记(202410)

课程:CameraX:面向开发者的摄像头支持库 链接:CameraX:面向开发者的摄像头支持库_哔哩哔哩_bilibili 课程时长:28:00 学习时间:2024-10-29 概述:2019年Android CameraX的发布会 个人感觉&a…

Android 同花顺面经

Android 同花顺面经 文章目录 Android 同花顺面经一面 一面 Android组件化搭建使用接口层路由有什么缺点? 如果更改接口的话,其他的依赖的moudle都得改 说说kotlin和java的区别? Java是支持面向对象的编程,Kotlin是支持面向对象支…

Flutter报错信息Unhandled Exception: Binding has not yet been initialized.

错误信息如下: Typically, this is done by calling "WidgetsFlutterBinding.ensureInitialized()" or "runApp()" (the latter calls the former). Typically this call is done in the "void main()" method. The "ensureIni…

Django入门教程——用户管理实现

第六章 用户管理实现 教学目的 复习数据的增删改查的实现。了解数据MD5加密算法以及实现模型表单中,自定义控件的使用中间件的原理和使用 需求分析 系统问题 员工档案涉及到员工的秘密,不能让任何人都可以看到,主要是人事部门进行数据的…

算法笔记()

文章目录 什么是算法算法的分类算法的意义 其他比较好的算法网站比较知名的算法博主 算法这个课题有点太大了,穷尽一生也难以望其涯岸那是肯定的,甚至几代人无数精英也做不到完全掌握,我们普通人就更不要想了,能理解多少算多少吧。…

BugKu练习记录:矛盾

题目: $num$_GET[num]; if(!is_numeric($num)) { echo $num; if($num1) echo flag{**********}; }关键在于绕过is_numeric,PHP中字符串与数字弱比较,会将字符串转换为数字,截至到非数字字符,如果第一个字符就是非数字…

【Nas】X-DOC:在Mac OS X 中使用 WOL 命令唤醒局域网内 PVE 主机

【Nas】X-DOC:在Mac OS X 中使用 WOL 命令唤醒局域网内 PVE 主机 1、Mac OS X 端2、PVE 端(Debian Linux) 1、Mac OS X 端 (1)安装 wakeonlan 工具 brew install wakeonlan(2)唤醒 PVE 命令 …

8.3.2 前向分步算法与 AdaBoost

由前向分步算法可以推导出 AdaBoost,用定理叙述这一关系。   定理 8.3  AdaBoost 算法是前向分步加法算法的特例。 这时,模型是由基本分类器组成的加法模型,损失函数是指数函数。   证明 前向分步算法学习的正加法模型,当基…

batc和mini-batch

一、概念介绍 batch 批处理,在机器学习中,batch 是指一次处理整个训练数据集的方式。例如,如果有 1000 个训练样本,使用 batch 训练时,模型会同时使用这 1000 个样本进行一次参数更新。也就是说,计算损失…

Java学习教程,从入门到精通,Java for循环知识点(15)

1、Java for循环 在Java中,for循环是一种基本的循环控制结构,它允许你重复执行一段代码固定次数。for循环的语法如下: for (初始化表达式; 循环条件; 迭代表达式) {// 循环体:要重复执行的代码块 }这里是每个部分的详细解释&…

安宝特分享 | AR技术引领:跨国工业远程协作创新模式

在当今高度互联的工业环境中,跨国合作与沟通变得日益重要。然而,语言障碍常常成为高效协作的绊脚石。安宝特AR眼镜凭借其强大的多语言自动翻译和播报功能,正在改变这一局面,让远程协作变得更加顺畅。 01 多语言翻译优势 安宝特A…

生物信息与机器学习6 - 有监督学习算法和无监督学习算法

1.有监督学习算法 有监督学习算法推荐: 决策树分类器 - 适合处理分类问题,容易理解和可视化; KNN分类器 - 对于简单的单特征分类也很有效; 逻辑回归 (多分类) - 使用one-vs-all策略处理多类别。 有监督学习的选择: 如…

【Nas】X-DOC:Mac mini Docker部署小雅Alist

【Nas】X-DOC:Mac mini Docker部署小雅Alist 1、拉取镜像:2、获取阿里云盘信息3、启动容器4、访问服务5、定时清理阿里云盘缓存 1、拉取镜像: docker pull xiaoyaliu/alist:latest2、获取阿里云盘信息 mkdir /Volumes/Data/Docker/xiaoya在…

【数据结构】静态和动态空间管理

让我们来聊聊动态空间管理和静态空间管理,这两个听起来有点复杂的词。其实,它们就像你在学校里玩和学习时用的工具,只不过是在计算机里怎么使用“空间”的工具。我们来一起看看吧! ### 什么是静态空间管理? 想象一下…

逗号运算符应用举例

在main.cpp里输入程序如下&#xff1a; #include <iostream> //使能cin(),cout(); #include <iomanip> //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags(); //setbase( char x )是设置输出数字的基数,如输出进制数则用set…

依赖注入(Dependency Injection, DI)和控制反转(Inversion of Control, IoC)

依赖注入&#xff08;Dependency Injection, DI&#xff09;和控制反转&#xff08;Inversion of Control, IoC&#xff09;是面向对象设计中两个紧密相关的概念&#xff0c;特别是在构建可扩展和可维护的软件系统时非常有用。它们主要用于减少代码之间的耦合度&#xff0c;提高…

vxe-table v4.8+ 与 v3.10+ 虚拟滚动支持动态行高,虚拟渲染更快了

Vxe UI vue vxe-table v4.8 与 v3.10 解决了老版本虚拟滚动不支持动态行高的问题&#xff0c;重构了虚拟渲染&#xff0c;渲染性能大幅提升了&#xff0c;行高自适应和列宽拖动都支持&#xff0c;大幅降低虚拟渲染过程中的滚动白屏&#xff0c;大量数据列表滚动更加流畅。 自适…

ICPC区域赛成都站【赛后回顾+总结】

传送门 前言赛后总结赛后回顾赛后感悟 前言 首先&#xff0c;这是本人本赛季第一场XCPC区域赛&#xff0c;也是本人算竞生涯中第一场XCPC区域赛&#xff08;之前只打过邀请赛和省赛&#xff09;。 赛后总结 然后赛后总结一下&#xff1a;我队天崩开局&#xff0c;我队出师不利…

Vue Scoped CSS深度解析:原理、误区与最佳实践

引言 在Vue开发中&#xff0c;Scoped CSS是一个强大而复杂的功能。它允许我们将样式限制在特定组件内&#xff0c;但同时也带来了一些细微的行为&#xff0c;可能导致意外的样式"泄漏"。本文将深入探讨Vue Scoped CSS的工作原理&#xff0c;解释常见的误区&#xff…

c盘满了怎么清理垃圾而不误删?6招轻松清理C盘,快来试试

c盘满了怎么清理垃圾而不误删&#xff1f;相信平时工作生活中离不开电脑&#xff0c;随着使用电脑时间就了&#xff0c;C 盘的空间会不断被占据&#xff0c;进而致使系统运行变得迟缓&#xff0c;甚至出现卡顿现象。因此&#xff0c;定期清理 C 盘的是非常重要的。很多电脑小白…