OpenHarmony 2.0 Canary(金丝雀版)发布,自主研发,不兼容安卓

简介: 6 月 1 日,开放原子开源基金会( OpenAtom Foundation,以下简称“基金会”)正式发布 OpenAtom OpenHarmony(以下简称"OpenHarmony")2.0 Canary。

现在,开发者可通过 Gitee 下载完整代码。

OpenHarmony 开源项目地址:https://gitee.com/openharmony

据悉,OpenHarmony 是由基金会孵化及运营的开源项目,由基金会的 OpenHarmony 项目群工作委员会负责运作,遵循 Apache 2.0 等开源协议,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台。

2020 年 9 月,基金会获捐 OpenHarmony 开源项目后宣布开源,随后组织各方力量对项目开展共建,于 2020 年 12 月联合七家志愿共建单位成立了 OpenHarmony 项目群工作委员会,七家单位分别是(排名按单位简称首字母排序):博泰、华为、京东、润和、亿咖通、中科院软件所、中软国际。

很快,OpenHarmony 1.0 版本在当年 9 月 10 日正式上线,支持内存为 128K 到 128M 的终端设备。

2021 年 6 月 1 日,OpenHarmony 2.0 Canary 版本宣布上线,支持内存 128M 以上的各种智能终端设备。与 OpenHarmony 1.0 不同,OpenHarmony 2.0 覆盖设备范围延伸到百兆内存及以上的富媒体终端设备。

截至 2021 年 5 月 31 日,已有 240 多个共建企业、共建机构与个人贡献者参与项目。

自主研发,不兼容安卓

在万物互联时代,人均持有设备量不断攀升,设备和场景的多样性,使应用开发变得更加复杂、应用入口更加丰富。在此背景下,用户和应用提供方迫切需要一种全新的服务提供方式,让服务的获取和使用更便捷、应用开发更简单。

OpenHarmony 用户应用程序是一种基于服务原子化概念定义的新型应用。与传统终端用户应用程序不同,OpenHarmony 用户应用程序支持在 OpenHarmony 设备间跨端迁移、多端协同,一次开发多端部署,实现可分可合可流转。

OpenHarmony 用户应用程序基于全新设计的 OpenHarmony API/SDK 开发,可以运行在基于全新 OpenHarmony 开源项目开发的系统上,并可以在多终端之间无缝流转。

OpenHarmony 程序框架仅支持全新的 OpenHarmony 用户应用程序运行,不支持基于安卓系统的 API/SDK 开发的用户应用程序运行。

OpenHarmony 的技术架构

a8616e11aafe519bf9708388c68bd601.png

据悉,OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。

具体而言,内核层方面:支持多内核,内核抽象层(KAL,Kernel Abstract Layer)屏蔽多内核差异,对上层提供统一的内核能力,如进程/线程管理、内存管理、文件系统等。驱动框架(HDF)则提供统一外设访问能力和驱动开发、管理框架。

系统服务层方面:系统服务层是 OpenHarmony 的核心能力集合,通过框架层对应用程序提供服务。

框架层方面:为应用开发提供了 C/C++/JS 等多语言的用户程序框架和 Ability 框架,JS UI 框架,以及各种软硬件服务对外开放的多语言框架 API。根据系统的组件化裁剪程度,设备支持的 API 也会有所不同。

应用层方面:与传统终端用户应用程序不同,OpenHarmony 用户应用程序支持在 OpenHarmony 设备间跨端迁移、多端协同,一次开发多端部署,实现可分可合可流转。其次,它基于全新设计的 OpenHarmony API/SDK 开发,能运行在基于全新 OpenHarmony 开源项目开发的系统上,并可以在多终端之间无缝流转。并且,OpenHarmony 程序框架仅支持全新的 OpenHarmony 用户应用程序运行,不支持基于安卓 API/SDK 开发的用户应用程序运行。

OpenHarmony 的三大特性

据悉,OpenHarmony 有三大特点:

一是硬件互助,资源共享。这主要通过分布式软总线、分布式数据管理、分布式任务调度和设备虚拟化模块实现。

二是一次开发,多端部署。据了解,OpenHarmony 提供用户程序框架、Ability 框架以及 UI 框架,能够保证开发的应用在多终端运行时保证一致性。同时,多终端软件平台 API 具备一致性,确保用户程序的运行兼容性。并且,它还支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等),支持根据用户程序与软件平台的兼容性来调度用户呈现。

三是统一 OS,弹性部署。OpenHarmony 通过组件化和组件弹性化等设计方法,做到硬件资源的可大可小,在多种终端设备间,按需弹性部署,全面覆盖了 ARM、RISC-V、x86 等各种 CPU,从百 KB 到 GB 级别的 RAM。

OpenHarmony 项目治理:开放治理

据了解,OpenHarmony 在开放原子开源基金会的组织下、在 OpenHarmony 项目群工作委员会的治理下,以工作组、特别兴趣小组、子项目形式等方式组织。

项目治理遵循共商、共建、共享、共赢。

共商:OpenHarmony 开源项目重大事项由工作委员会各成员单位代表用投票方式共同决定,投票权利均等,一家单位一票,遵循公开明确的 OpenHarmony 项目群管理制度规则。

共建:按照约定的规则与流程,贡献者随时可以在 OpenHarmony 开源项目 Gitee 社区贡献代码,开放原子开源基金会定期组织版本发布。

共享:开放原子开源基金会将联合更多伙伴和开发者,打造开放的、全球化的、创新且领先的面向多智能终端、全场景的分布式操作系统,构筑可持续发展的开源生态系统。

共赢:所有的企业和个人均可基于 OpenHarmony 的开源代码,结合自身优势,去做各个领域的操作系统发行版及终端产品,共同促进生态发展。截至 2021 年 5 月,已有多家公司推出了基于 OpenHarmony 项目开发的智能终端,如智能手表、智能家电、智慧屏等。

写在最后:

从 1.0 到现在,OpenHarmony 已经基本完整,可以覆盖百 K 级内存及以上的全系列终端设备,支持可穿戴设备、家电、平板电脑、智能电视、手机、汽车等多终端设备。由多方共建、开源开放的 OpenHarmony 不仅为我国大型开源产业生态建设提供了有益的尝试,而且将成为全球智能终端操作系统的一股重要新生力量。

目录
相关文章
|
Java 开发工具 Android开发
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
【 uniapp 】打包Android的apk(原生APP-云打包),及发布测试
|
Java Android开发
Android如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
Android如何通过Gradle发布Android依赖库(aar)到 jitpack 公共仓库
612 0
|
5月前
|
运维 监控 Android开发
应用研发平台EMAS常见问题之安卓push的离线转通知目前无法收到如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
5月前
|
运维 监控 Java
应用研发平台EMAS产品常见问题之安卓构建版本失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
5月前
|
API Android开发
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
对于应用研发平台EMAS中安卓 API 32 收不到 FCM 推送的问题
101 3
|
Java Maven 开发工具
如何发布Android Library到maven私有仓库
在我们的项目架构中,一定存在一些基础的模块,这些模块可以在多个app上通用,这种情况我们一般会将这些模块封装成Android Library统一维护,并上传到仓库方便其他小组使用。仓库可以选择如mavenCentral这类公开的仓库,但是我们一般选择搭建自己的maven私有仓库,比如:Sonatype Nexus。本文就一步步的教大家如何将Android Library发布到maven私有仓库。
499 0
|
安全 Android开发 虚拟化
【Android 插件化】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )
【Android 插件化】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )
210 0
|
API 开发工具 Android开发
Android 发布开源库到 JitPack (详细步骤)
Android 发布开源库到 JitPack (详细步骤)
437 0
Android 发布开源库到 JitPack (详细步骤)
|
Java 定位技术 Android开发
Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法
今天我想把百度地图的定位集成到项目中来,想写个小小的案例,实现一下,但在集成百度地图时首先要申请秘钥,申请秘钥要用到SHA1值,所以今天就来总结一下怎样去获取这个值吧,希望对大家有帮助。
Android Studio获取开发版SHA1值和发布版SHA1值的史上最详细方法
|
XML Java Maven
Android Bintray、JCenter 替代方案MavenCentral(发布jar,aar到Maven中央仓库)
Android Bintray、JCenter 替代方案MavenCentral(发布jar,aar到Maven中央仓库)
1055 0