OpenHarmony、HarmonyOS、HarmonyNext互相兼容吗?

news2024/12/23 4:19:38

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.coloradmin.cn/o/2230169.html

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

相关文章

定制化视频生成新模范!零样本主体驱动,精确运动控制!复旦阿里等发布DreamVideo-2

文章链接:https://arxiv.org/pdf/2410.13830 项目链接:https://dreamvideo2.github.io/ 亮点直击 DreamVideo-2,首个无需微调,同时支持主体定制和运动控制的零样本视频定制框架,能够通过设计的参考注意力学习主体外观&…

Java中的线程安全问题(如果想知道Java中有关线程安全问题的基本知识,那么只看这一篇就足够了!)

前言:多线程编程已经广泛开始使用,其可以充分利用系统资源来提升效率,但是线程安全问题也随之出现,它直接影响了程序的正确性和稳定性,需要对其进行深入的理解与解决。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解…

Kubernetes Node 节点的生命周期简述

Node 节点是 Kubernetes 的核心组件之一,其生命周期可以简要概括为:注册、运行、下线。本文将简要介绍 Node 生命周期中发生的关键事件。 节点注册 每个 node 节点都需要运行 kubelet,kubelet 启动后会向 kube-apiserver 发起节点的注册请求…

GenAI 生态系统现状:不止大语言模型和向量数据库

自 20 个月前 ChatGPT 革命性的推出以来,生成式人工智能(GenAI)领域经历了显著的发展和创新。最初,大语言模型(LLMs)和向量数据库吸引了最多的关注。然而,GenAI 生态系统远不止这两个部分&#…

ctf文件上传题小总结与记录

解题思路:先看中间件,文件上传点(字典扫描,会员中心),绕过/验证(黑名单,白名单),解析漏洞,cms,编辑器,最新cve 文件上传漏…

如何使用VBA识别Excel中的“单元格中的图片”(2/2)

Excel 365升级了新功能,支持两种不同的插入图片方式: 放置在单元格中(Place in cell),新功能,此操作插入的图片下文中简称为单元格中的图片。放置在单元格上(Place over cell)&…

python绘制置信椭圆

置信椭圆 置信椭圆(Confidence Ellipse)是一种用来表示二维数据的置信区域的统计工具。它是多元统计分析中常用的图形,通过它可以表示两个变量之间的协方差关系以及同时包含两个变量的可能取值范围。置信椭圆一般用于描述一组二维数据的散布…

用Python设置、更新和获取Excel单元格的值

Excel工作簿作为一款广泛使用的数据管理工具,与Python相结合,可以使得自动化处理大量数据成为可能。通过Python来设置、更新以及读取Excel单元格的值,不仅可以极大地提高工作效率,减少重复劳动,还能增强数据处理流程的…

轴承故障全家桶更新 | 基于时频图像的分类算法

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

001-Kotlin界面开发之Jetpack Compose Desktop学习路径

Compose Desktop学习之路 学习过程 理解Kotlin的基本语法 Compose Desktop采用Kotlin构建,因此对Kotlin的基本语法有很好的理解是必不可少的。你可以从官方的Kotlin文档开始。 用一句话概括,Kotlin是一种现代的、静态类型的编程语言,它结合…

阳振坤:云时代数据库的思考 | OceanBase发布会实录

在2024 OceanBase 年度发布会中,OceanBase 的创始人与首席科学家阳振坤进行了《云时代数据库的思考》的主题分享。本文为演讲实录。 亲爱的朋友们,衷心感谢各位莅临今天的发布会现场。今天是一个云的时代,我想与大家分享,我对于云…

JavaScript语法基础(函数,对象,常用类Array,String,Math和Date)【超详细!!!新手入!!!】

一、函数 1、函数的定义 函数指的是一段可被重复调用的代码块。函数与变量不同,需要先定义再调用。 定义函数的语法格式为: function 函数名(参数1,参数2,...) { 语句; …

OpenGL入门004——使用EBO绘制矩形

本节将利用EBO来绘制矩形 文章目录 一些概念EBO 实战简介utilswindowFactory.hRectangleModel.hRectangleModel.cpp main.cppCMakeLists.txt最终效果 一些概念 EBO 概述: Element Buffer Object 用于存储顶点的索引数据,以便在绘制图形时可以重用顶点数…

linux之网络子系统-用户层接收数据包之同步阻塞方案

一、前言 之前讲述了网络包是如何从网卡送到协议栈的,接下来内核还有一项重要的工作,就是在协议栈接收处理完输入包后要通知到用户进程,如何用户进程接收到并处理这些数据。 进程与内核配合有多种方案,这里我们这分析两种典型的…

高效消防应急:RFID技术救援装备的快速管理

基层应急救援消防设施管理面临着一个既复杂又迫切的挑战。通常,受限的资源和专业人才的短缺导致应对突发事件的反应迟缓,处理结果不理想。同时,消防团队的人员结构和技术能力也在一定程度上决定了应急救援的成效和效率。在数字化浪潮下&#…

TMDOG的Gin学习笔记_01——初识Gin框架

TMDOG的Gin学习笔记_01——初识Gin框架 博客地址:[TMDOG的博客](https://blog.tmdog114514.icu) 作者自述: 停更太久了,是因为开学了课太多了,并且我一直在准备上篇文章的内容正在coding,就先搁置了更新博客QAQ&…

【ROS的TF系统】

系列文章目录 TF系统简介 前面的章节实现了SLAM节点的建图功能: 激光雷达节点—> /scan话题 —>hector_mapping节点—> 地图数据话题/map 本期来实现SLAM节点的定位功能: TF(TransForm)主要描述的是两个坐标系的空间关…

Pandas JSON学习

1.JSON简介 JSON(JavaScript Object Notation,JavaScript 对象表示法),是存储和交换文本信息的语法,类似 XML。JSON 比 XML 更小、更快,更易解析,Pandas 可以很方便的处理 JSON 数据。 [{"…

SQL Server身份验证模式

SQL Server是一个广泛使用的关系数据库管理系统,通常使用两种身份验证模式:Windows身份验证和SQL Server身份验证。理解这些身份验证方式的概念与更改方式的操作,对于数据库管理员和开发者至关重要。本文将详细介绍身份验证方式的概念以及如何…

DC-9靶机通关

这是这个系列的最后一个靶机了!!!经过前面的锻炼和学习,这次我的目标是尽量不借助任何教程或者提示来拿下这个靶机!!!下面我们看能不能成功!!! 1.实验环境 攻…