一文读懂开源项目 OpenHarmony
开源项目 OpenHarmony 是什么
一图胜万语,开发者拿到OpenHarmony 2.0代码后跑起来的样子
部分资源:社区开发者分享运行经验:
• https://harmonyos-m.51cto.com/show/5229
• https://harmonyos.51cto.com/posts/5136
• https://harmonyos.51cto.com/posts/5112
• https://harmonyos.51cto.com/posts/5243
OpenHarmony是自主研发、不兼容安卓的全领域下一代开源操作系统。
开放原子开源基金会(简称“基金会”)于 2020 年 9 月接受华为捐赠的智能终端操作系统基础能力相关代码,随后进行开源,并根据命名规则为该开源项目命名为 OpenAtom OpenHarmony(简称“OpenHarmony”)。全球有兴趣、有需要的组织和个人都可以参与该项目。迄今为止,该项目已有240多位贡献者,最新的版本为OpenHarmony 2.0 Canary。
应用•OpenHarmony 亮点
【开源开放 每个人的OpenHarmony】
2020 年 12 月博泰、华为、京东、润和、亿咖通、中科院软件所、中软国际等七家单位(排名按简称首字母排序)在基金会的组织下成立了 OpenHarmony 项目群工作委员会,开始对 OpenHarmony 进行社区治理。截至 2021 年 5 月,信通院泰尔实验室、好叭科技、华秋电子、软通动力、思必拓科技等单位陆续协商加入项目群,正在完成协议签署和捐款流程。
OpenHarmony 开源项目重大事项由工作委员会各成员单位代表用投票方式共同决定,投票权利均等,一家单位一票,遵循公开明确的 OpenHarmony 项目群管理制度规则。按照约定的规则与流程,贡献者随时可以在 OpenHarmony 开源项目 gitee 社区贡献代码,基金会定期组织版本发布。
版本决策遵循明确及公开的 OpenHarmony 项目群管理制度,路标和版本计划由 OpenHarmony PMC 项目管理委员会决定,讨论过程公开透明。版本发布由 OpenHarmony 项目群工作委员会按 OpenHarmony 项目群管理制度规则决定,目前计划每双月输出新版本,社区内已发布公开路标计划。
在 OpenHarmony 项目群工作委员会的组织下,社区以工作组和特别兴趣小组及子项目等方式组织贡献,如:教育工作组、轻智能手表子项目、工业应用子项目(预研)、汽车智能座舱特别兴趣小组、可视化编程特别兴趣小组、Python 语言特别兴趣小组、OpenHarmony on RiscV 特别兴趣小组等多个领域的应用技术社区组织,已经开始在项目工作委员会的组织下逐步成型,均由国内相关行业的头部团队主导,预期将快速大面积地提升 OpenHarmony 的技术成熟度与覆盖面,有望得到这些领域较大规模的商用装机量。
【自主研发、不兼容安卓】
传统的终端 OS 主要是面向单端,基于 OpenHarmony 开源项目开发的系统天生是面向万物互联的,可以运行在大大小小的各种智能终端上。
OpenHarmony 用户应用程序基于全新设计的 OpenHarmony API/SDK 开发,可以运行在基于 OpenHarmony 开源项目开发的系统上,并可以在多终端之间无缝流转。
OpenHarmony 程序框架仅支持 OpenHarmony 用户应用程序运行,不支持基于安卓 API/SDK 开发的用户应用程序运行。
万物互联时代,人均持有设备量不断攀升,设备和场景的多样性,使应用开发变得更加复杂、应用入口更加丰富。在此趋势下,应用提供方和用户迫切需要一种新的服务提供方式,使应用开发更简单、服务的获取和使用更便捷。
OpenHarmony 用户应用程序是一种基于服务原子化概念定义的新型应用。与传统终端用户应用程序不同,OpenHarmony 用户应用程序支持在 OpenHarmony 设备间跨端迁移、多端协同,一次开发多端部署,实现可分可合可流转。
OpenHarmony 运行的用户应用程序有两种形态,传统方式需要安装的应用,以及提供特定功能免安装的原子化服务。
原子化服务是 OpenHarmony 提供的一种面向未来的服务,拥有独立入口(例如用户可通过厂家提供的点击、碰一碰、扫一扫等方式直接触发)、和支持免安装(由系统自动安装)的特征。原子化服务基于 OpenHarmony API 开发,支持在 OpenHarmony 系统覆盖的各种类型的终端设备上运行。
OpenHarmony 的应用软件包以 APP Pack(Application Package)形式发布,它是由一个或多个 HAP 以及描述每个 HAP 属性的 pack.info 组成。HAP 是 Ability 的部署包,OpenHarmony 应用代码围绕 Ability 组件展开。
Ability 是应用所具备的能力的抽象,一个应用可以包含一个或多个 Ability。Ability 分为两种类型:FA(Feature Ability)和 PA(Particle Ability)。FA/PA 是应用的基本组成单元,能够实现特定的业务功能。FA 有 UI 界面,而 PA 无 UI 界面。
OpenHarmony 正在以开源开放的姿态,吸引更多的合作伙伴和开发者的加入。OpenHarmony 将全面激活我国软件行业的创造力。对于其未来丰富多样化的发展可能性,无论业界或公众均有所期待。
【全领域·下一代】
OpenHarmony 包含了分布式操作系统所需的完整能力,包括内核层、系统服务层、框架层和应用层。在传统单设备系统能力基础上,OpenHarmony 创造性地提出了基于同一套系统能力、适配多种终端形态的理念,支持在多种终端设备上运行。针对设备开发者,OpenHarmony 采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活适配,满足不同形态的终端设备对于操作系统的要求。可运行在百 K 级别的资源受限设备和穿戴类设备,也可运行在百 M 以上相对内存资源丰富的各种智能设备。
迄今为止,各方在 OpenHarmony 开源项目上投入人力、资金,并取得成果,OpenHarmony 生态初具规模。多家公司先后推出搭载 OpenHarmony 操作系统的多种产品, 如:手表、微波炉、豆浆机、料理机、录音笔、机顶盒、智能汽车等, OpenHarmony 已成为全球智能终端操作系统的重要新生力量。在信息通信技术产业和数字经济进入新时期的背景下,OpenHarmony 拓展了万物互联重塑信息产业生态的新空间,为各行各业打开了富有创新机遇的新世界。
如何加入 OpenHarmony 开源生态
立刻获得 OpenHarmony代码
全球开发者可通过 Gitee 访问项目仓库并获得代码: https://gitee.com/openharmony
Gitee 作为开源主仓库,在 OpenHarmony 2.0 Canary 开源的同时,也同步上线了 「OpenHarmony 专区」,为基于 OpenHarmony 的开源项目提供专有展示页面。
OpenHarmony 官方下载地址:
OpenHarmony 官网:
https://openharmony.cn (建议国内用户访问)
https://openharmony.io (建议海外用户访问)
:::
如何加入项目群共建?
OpenHarmony 项目群在遵守开放原子开源基金会章程的前提下进行运作与治理。项目群主要由 3 类成员构成,一类是捐赠人,一类是学术机构和非营利组织,一类是其它组织或个人。无论哪种方式,都可以参与共建。
捐赠人按 A 类捐赠人、B 类捐赠人、C 类捐赠人、特殊捐赠人,享有不同的权益。其它组织或个人可在社区注册和使用社区资源。通过 Gitee 平台提供的功能,任何组织和个人都可以提交代码、讨论问题,也可以通过 SIG(特别兴趣小组)等方式贡献代码和参与主题讨论。
联系人:朱其罡,邮箱:qigang@openatom.org
OpenHarmony 项目社区
参与社区贡献,根据贡献度大小,可有如下好处:
• 1. 晋升社区Committer或PMC,拥有社区正式身份;
• 2. Committer并且拥有主干代码写权限;
• 3. PMC拥有社区重要事务投票权限;
• 4. 参与对应Driver SIG,讨论及贡献,自身业务相关三方驱动代码,可以更好合入社区。
【特别兴趣小组(sig)介绍】
1、OH-Board-SIG(开源公板特别兴趣小组)
• 立足南向,服务 OpenHarmony,特别是引流芯片原厂和 IP 厂商加入 OpenHarmony
• 特别兴趣小组发起单位:润和软件
• 初步成果见:https://gitee.com/openharmony-sig/oh-board-website
2、Python SIG(Python 语言特别兴趣小组)
• 该特别兴趣小组为 OpenHarmony 设备提供 Python 语言支持
• 扩大 OpenHarmony 开发者,吸引众多 Python 开发者
• 制定和维护 OpenHarmony Python API,方便开发者快速应用构建
• 通过 General OpenHarmony Python 层的建立,在 PC 端开发 OpenHarmony Python Runtime,模拟执行 Python 应用脚本
• 通过 Python 层的引入,衔接 AI 框架在 OpenHarmony 上的应用
• 特别兴趣小组发起人:唐佐林
• 初步共建成果见: https://gitee.com/delphi-tang/python-for-hos
3、OpenBlock SIG(可视化编程特别兴趣小组)
• 该特别兴趣小组定位少儿编程科普教育
• 以图形化编程语言为基础,服务少儿编程、STEM 教育领域
• 维护和制定各类设备通用的图形化编程语言基础
• 向社会和教育从业者提供简单易用的 OS 镜像与 OpenHarmony 用户应用应用程序 HAP 包
• 特别兴趣小组发起单位:虚实视界杜天微
• SIG仓地址:https://gitee.com/openharmony/community/tree/master/sig/sig-openblock
4、RISC-V SIG
• 该特别兴趣小组定位于 RISC-V 架构下的 OpenHarmony 操作系统构建
• 特别兴趣小组发起单位:中科院软件所、上海交大
• SIG仓地址:https://gitee.com/openharmony/community/tree/master/sig/sig-riscv
OpenHarmony 教育工作组
截至 2021 年 5 月 31 日,OpenHarmony 教育工作组已举办两期 OpenHarmony Edu Meetup 活动,共计上百位各大教育机构的负责人在线上线下参加了会议。教育工作组定期组织 OpenHarmony 教育成果共建会,定期组织教育样例/案例共建讨论,定期展示社会各界基于 OpenHarmony 开源项目在教育领域的贡献成果。
欢迎访问 OpenHarmony 开放教育资源仓 https://gitee.com/openatom-university/openharmony-oer/tree/master
【你知道么?】
OpenHarmony 与 HarmonyOS 的关系
OpenHarmony 是由基金会孵化及运营的开源项目。迄今为止,该项目已有 240 位贡献者。华为是 OpenHarmony 项目的主要贡献者和使用者。华为向 OpenHarmony 项目贡献了大量代码,未来也将持续为 OpenHarmony 开源项目贡献代码。
HarmonyOS 2 是华为基于开源项目 OpenHarmony 2.0 开发的面向多种全场景智能设备的商用版本。
Canary版是什么意思?
Canary 是金丝雀的意思,Canary 版本也就是金丝雀版本,是一个过程版本。
这个术语典出采矿行业,英文中有一句话叫做 canary in a coal mine。它讲的是在工人去矿坑采矿的一种防护措施。由于金丝雀对矿坑的有害气体——比如一氧化碳——比较敏感,在人类发觉有害气体前,金丝雀会先死掉,以此能够让矿工发现有害气体,及时做出防护。
附录:
1、项目群工作委员会成员单位共建成果与展望
博泰车联网作为 OpenHarmony 项目群工作委员会初始成员单位,为解决汽车智能座舱研发周期长、应用定制开发多、用户体验滞后、系统迭代慢的行业痛点,将整合开源社区的资源和力量,加速 OpenHarmony 在汽车行业的应用,颠覆用户出行体验。
作为基金会白金捐赠人,华为已于 2020 年、2021 年分两次把其智能终端操作系统的核心基础能力贡献给基金会。
京东作为基金会白金捐赠人和 OpenHarmony 项目群工作委员会的创始成员单位,在支持 OpenHarmony 开源项目上不遗余力。截至目前,京东完成了京东 App 上架,并在此过程中协助修复系统问题 50+,解决 SDK 相关问题 10+,并完成了内外部 10 多个 SDK 的适配。在公司内外部举办过 10+场 OpenHarmony 知识讲座,加入开源法务小组参与法务治理事宜。接下来,京东将继续全方面参与 OpenHarmony 建设并持续在各个领域作出贡献。
润和软件是 OpenHarmony 项目群工作委员会的创始成员单位之一,是 OH-Board-SIG 发起者,全面融入 OpenHarmony 共建。具备从芯片适配、模组、板卡、行业智能硬件到场景解决方案的全栈能力,推出覆盖智慧联接、智慧视觉领域的 HiSpark 系列、Neptune 系列等套件及相关产品,为 OpenHarmony 2.0 Canary 版本提供支持手机类的开发套件 DAYU,为开发者赋能的直播/录播课程累计播放量 35 万次+,深度参与高校教辅课程、创新大赛、人才认证。
亿咖通科技作为业内用户数增速最快的智能网联系统,本着精诚合作,开源并进的愿景携手基金会,作为创始成员单位加入了 OpenHarmony 项目群工作委员会。在与同行们分享汽车智能化的发展趋势的同时,制定了与 OpenHarmony 的对接规划,并在内部建立了 10 人以上的技术团队,利用 ECARX 在汽车智能座舱系统的多年开发经验,参与到 OpenHarmony Car API 的定义与代码实现和其他项目的各项会议及业务讨论中。计划在 2021 年下半年,能够形成智能座舱解决方案并将 OpenHarmony 移植到亿咖通智能座舱硬件平台进行 demo 展示。
中科院软件所作为项目群工作委员会的创始成员单位,不仅仅对 OpenHarmony 投入了从北向到南向的全方位的技术支持,包括内容、组件库、子系统、Risc-V、芯片移植等等,还提供了整体的运营以及战略的支持,现还牵头并参与多个 SIG 组及子项目。
中软国际秉承智能物联全栈式使能服务的愿景,在为 OpenHarmony 开源社区输出项目的同时,努力为伙伴提供接入,智能化到全场景的一站式服务。中软国际已为 70+家设备商提供服务,接入 SKU 超过 100+;持续在实战中积累智能家居、智慧医疗、智能教育等全场景下的创新能力,共同繁荣 OpenHarmony 新体验。
::: hljs-center
(以上按单位简称首字母排序)
:::
好叭科技开发基于 OpenHarmony 行业发行版,为客户提供 OSaaS 服务。基于 OpenHarmony 开发“轻智能手表发行版”,为行业提供智能手表 OS 系统解决方案及服务,并希望在更多领域与基金会共同探索。
软通动力作为 OpenHarmony 开源共建先行者,坚持开源开放及经验共享:已开源代码六万多行( https://github.com/isoftstone-dev )、原创文章 40 余篇。在职业教育方向,软通开发了九套教学实验手册,均已开放。软通动力将发挥国内领先的软件与信息技术服务商优势,致力于成为 OpenHarmony 解决方案头部厂商,携手 OpenHarmony 共发展。
思必拓科技,带着“智能互联让生活更美好”的愿景,以“用智能点亮企业每个角落,做用户卓有价值的智能化合作伙伴”为使命,专注于企业级的智能化硬件产品与解决方案。公司在政企大客户的专属操作系统定制方面计划与基金会及 OpenHarmony 项目开展密切合作,在移动安全操作系统与安全云方面,为移动操作系统作出贡献。
基金会同时已启动“OpenHarmony 教育资源仓”,成立由各单位成员代表、专家顾问组成的 OpenHarmony 教育工作组,下设高等教育、职业教育、基础教育三个方向的专家委员,提供智力支持和组织保障。开仓以来,已有多家从事与 OpenHarmony 项目群教育培训工作相关的企事业单位和个人,通过共享技术文档、教育培训教材、实践解决方案、实验手册、教具方案等内容,参与 OpenHarmony 开放教育资源仓建设。清华大学、北京大学、中科院软件所、蛟龙腾飞、江苏润和软件有限公司、南京小熊派智能科技有限公司、软通动力、51CTO、中软国际教育科技、韦东山、青少年创客教育联盟(以上单位个人排名不分先后)等机构与个人分享精品教学资源,大力支持并参与共建。
::: hljs-center
(以上按单位简称首字母排序)
:::
2、教育sig成果展示
1.分享主题:润和软件OpenHarmony教育共建实践分享
润和软件分享了OpenHarmony相关的教育套件及教育赋能,并展示了其中的6个相关套件,18节OpenHarmony相关课程以及1本关于南向设备开发的教辅类书籍。
2.分享主题:鸿蒙课程资源及资源使用情况分享
中软国际教育科技集团分享了体系化的OpenHarmony教学资源库、开源Seed Crouses课程及经典的实训教学资源库。同时,展示了OpenHarmony相关理论课程资源、实验案例资源包、OpenHarmony企业综合课程资源,以及在高校师资培训、学生训练营的实践,以助力OpenHarmony教育生态健康持续的发展。
3.分享主题:Openharmony北向应用开发常用通用前端模块特别兴趣小组筹建计划与已经完成的工作
蛟龙腾飞李洋团队展示了基于OpeHarmony应用服务开发相关的部分组件、布局、功能模块、DEMO和案例。目前团队已将60多个代码开源以帮助OpenHarmony开发者的应用与学习。
4.分享主题:小熊派开发板基于OpenHarmony系统视频、教程、PPT、源码等
小熊派作为开发板硬件开源厂商,表达了愿意提供硬件方面技术支持的意愿,分享了关于OpenHarmony理论学习、系统开发、开发准备、快速入门、内核子系统、驱动子系统、无线联网开发、网络应用开发、碰一碰联网开发、智能台灯开发以及拓展案例开发等不同课题分类,共计51节课程介绍。
5.分享主题:关于软通动力在教育领域的成果与分享
软通动力分享了在Openharmony教育方面的成果,包括访问量最高的三方组件开发指南,与高校共同开发实验指导手册8本以及智能编程等方面。
6.分享主题:鸿蒙北向App开发系列教程和南向鸿蒙硬件设计和底层开发系列教程
传智教育介绍了OpenHarmony北向APP开发以及南向设备开发相关的从入门基础到项目实战的系列课程,包括了教学大纲5套、教学源码5套、教学视频5套和教学试卷5套,并表示会将OpenHarmony相关领域的先进科技迅速整理成优质内容,赋能开发者。
7.分享主题:《OpenHarmony专业课程与人才教育体系化建设经验分享》
51CTO HarmonyOS技术社区分享了OpenHarmony专业课程与人才教育体系化建设经验,包括OpenHarmony高校培养体系(含主要服务项目)、技术学习体系、在线SAAS学习平台以及高校合作资源(超过1000所)。
8. 分享主题:基于开源鸿蒙的图形化编程语言
9.分享主题:OpenHarmony北向教育相关资源和计划
中科院软件所介绍了在OpenHarmony开源组件库的贡献成果,即将出版的2本关于OpenHarmony操作系统的书籍以及在OpenHarmony社区建设做出的积极作用,同时中科院软件所还组成了OpenHarmony教育工作团队,为后续的教育工作蓄能。
10.分享主题:基于risc-v单片机鸿蒙开发板设计
张飞实战电子展示了基于risc——v单片机的鸿蒙开发板设计并介绍了开发板的设计原理。同时,张飞实战电子介绍了即将录制的开发板课程内容,按硬件、软件划分,每个类别中包括了多个不同的课题内容及操作演示。
11.分享主题:基于开源鸿蒙的青少年开源开发板基本思路规划及青少年开源鸿蒙课程基本框架构思
来自青少年创客教育联盟的专家代表介绍了关于青少年开源板的规划、课程框架及课程开源规划,并展示了将人工智能和机器人结合的案例。目前,青少年创客教育联盟已开发出8本课程教材,涵盖小学3年级至高中并已经开课。
12.分享主题:鸿蒙时代下的操作系统能力培养方案和基于鸿蒙系统的计算机视觉教学案例分享
OpenHarmony操作系统爱好开发者唐佐林结合现有流行的操作系统课程模式,按系统开发北向、南向两个维度,提出了操作系统能力培养建议。
13.分享主题:自学鸿蒙,当代大学生的进阶之路!
来自深圳大学木棉花校园鸿蒙自学组织大学生张诏添介绍了多个基于OpenHarmony的自主开发demo,2个相关项目,5个OpenHarmony App的开发,同时分享了自学OpenHarmony的成长历程。
3、OpenHarmony 2.0 能力清单和路标
::: hljs-center
OpenHarmony 2.0 能力清单和路标
(OpenHarmony 2.0 Release 版本计划于 9 月份发布)
:::
子系统 | 核心功能和开源价值 | 本次开源能力OpenHarmony 2.0 Canary | 2021.9.30 版本支持能力OpenHarmony 2.0 Release 版本 | 2022.3.30 版本支持能力 |
---|---|---|---|---|
ACE 子系统 | 提供 UI 能力和开发框架 | • UI控件• 应用内动效• 多态控件• 支持响应式布局能力• 提供类Web开发范式• 跨设备的UI编程框架• JS API扩展机制 | • 一个HAP多Ability支持• DataAbility• ServiceAbility | • Ability低延时刷新 |
元能力子系统 | 支持 FA/AA 生命周期管理 | • 元能力运行管理• 支持FA(JS)• Ability生命周期管理• Ability加载和启动• Ability栈管理• 应用维测工具aa | • ServiceAbility• DataAbility• 支持监听DataAbility数据变更• 支持远程启动• Ability绑定• Ability迁移• 元能力启动配置管理• 应用的测试工具类 | • 提供一套OpenHarmony PA开发框架• 意图管理 |
应用程序框架 | 提供 OpenHarmony 应用开发框架 | • 支持HAP安装、卸载• 应用HAP包信息管理• 支持HAP打包• 应用进程创建• 应用运行信息管理• 应用加载和启动• 应用进程生命周期管理• 应用进程任务管理• 支持installd | • 应用类升级• 线程模型管理• 应用安全沙箱• 应用权限管理• 应用进程冻结和恢复• 应用ANR检测和处理• 应用crash处理• 应用支持asan检测 | • 支持多前台• FA卡片 |
事件通知子系统 | 支持公共事件通知 | • 支持黏性公共事件管理• 支持有序公共事件管理• 支持无序公共事件管理• 支持公共事件订阅• 支持公共事件发布• 支持事件订阅者管理 | • 公共事件权限管理• 事件分发增强(支持设置延时、优先级、是否异步)• 任务分发增强(支持设置延时、优先级、是否异步、任务和事件撤销)• 通知服务(本地通知、分布式通知、通知提示类型、多类型文本通知) | • 分布式场景公共事件服务(为应用程序提供订阅、发布、退订等能力)• 分布式场景高级通知服务(为应用程序提供发布、取消通知等能力) |
图形图像子系统 | 支持图形图像与窗口管理 | • 支持GPU/CPU合成方式• 支持bufferqueue• 支持vsync• 创建窗口• 多窗口管理• 实现窗口的客户端/服务端设计• 窗口合成器协议 | • 支持fence• 实现窗口间系统动画能力的设置• 实现窗口间系统显示模式的设置• 支持硬件合成方式 | • 3D引擎• 高级窗口功能 |
媒体子系统 | 支持音视频多媒体能力 | • 本地音频文件播放• 本地视频文件播放 | • 相机预览拍照• 录像生成本地文件• 录音生成本地文件• 设备管理• 硬件编解码支持• 媒体数据库管理 | • 系统内解封装能力独立对外提供• 系统内封装能力独立对外提供 |
电话子系统 | 提供基础通话能力 | • 基础通话• 多类型通话管理框架(通话状态、音频通道)• 短信收发• 卡状态广播• 卡信息读取• 搜网注册• radio状态 | • 网络连接管理• 路由管理• 流量统计• 卡账户管理• 卡联系人• 卡短信• 小区广播• 网络模式 | • 通话补充业务• 个人热点• IMS基础通话• eSIM框架• STK |
多模输入子系统 | 支持多模输入 | • 触摸屏输入 | • 鼠标输入• 键盘输入• 触摸板输入• 遥控器输入• 旋钮输入• 手柄输入• 摇杆输入• 轨迹球输入• 触控笔输入 | • 指关节输入• 语音输入• 传感器输入• 手势输入 |
全球化子系统 | 支持应用资源管理和全球化 | • 区域信息管理(Configuration)• 电话号码格式化• 时区夏令时信息• 跨应用获取资源(资源管理部分) | • 字符串资源加载(包含资源回溯)• 查看区域属性• 时间日期格式化• 数字格式化 | • 分布式资源管理 |
电源管理子系统 | 保障系统基础电源管理 | • 设备充放电状态查询和上报• 电池状态查询和状态上报• 关机和重启 | • 支持设备休眠、唤醒及状态转换• 支持休眠运行锁• 屏幕常亮• 接近息屏• 智能温控• 低功耗• 后台管理 | • 智能温控• 低功耗• 后台管理 |
工具链子系统 | 提供开发调试工具链 | • 查看应用bytrace信息• 查看系统bytrace信息• 查看cpu占用信息• 支持usb调试能力• 支持网络调试能力 | • 查看应用实时内存信息• 查看hiperf信息• 查看日志数据• 支持插件能力• 功耗调优工具 | • 工具链平台DFX能力增强• 支持大数据统计 |
资源调度子系统 | 支持系统资源调度和管控 | • 进程管理 | • 资源调度框架• CPU调度 | • 内存调度• IO调度 |
分布式调度子系统 | 支持 FA/AA 分布式调用和迁移 | • 系统服务管理能力• 系统服务基础框架 | • 远程启动• 绑定Ability | - |
分布式数据管理子系统 | 支持分布式数据 | • 本地偏好数据管理 | • 分布式数据管理• 关系型数据管理 | • 分布式数据图库能力 |
分布式软总线子系统 | 支持基础通信、分布式组网 | • 软总线发现服务• 软总线WiFi发现• 软总线socket连接• 软总线设备及组网信息• 软总线消息传输• 软总线字节传输• IPC/RPC | • 软总线BLE发现• 软总线BR连接• 软总线BLE连接• 软总线P2P连接• 软总线文件传输 | • 软总线HML传输 |
语言编译与运行时 | 保障系统可编译运行 | • JS 运行时(基于QuickJS引擎)• 支持C/C++编译运行时 | • ARK3.0 Runtime• JS多线程 | • ARK3.0增强• JS堆栈支持 |
DFX 子系统 | 提供 DFX 基础功能 | • 流水日志能力• 系统事件记录能力• 应用事件记录能力• 应用故障收集能力• hiview插件平台能力 | • hitrace分布式调用链跟踪• hidumper信息导出• hicollie卡死检测• appfreeze冻屏检测• debug应用调试• hichecker应用调试 | • hidumper信息导出• debug应用调试• hichecker应用调试 |
安全子系统 | 支持权限/签名加解密、HiChain | • HUKS密钥管理• HiChain设备认证• APPVerify• HAP应用完整校验库 | • APP权限管理框架• Selinux框架• 安全启动• APP权限控制&操作 | - |
启动子系统 | 保障系统可启动、启动服务 | • 初始init、启动API• 系统参数管理• 系统事件管理 | • 启动沙箱机制 | - |
短距通信子系统 | 支持系统通信基础 | • WiFi STA能力• WiFi AP能力 | • 蓝牙BLE以及BR基本管理能力• NFC 卡读写 | - |
驱动子系统 | 提供一套统一驱动适配框架支持开发者适配外设驱动 | • 内核态驱动能力• 用户态驱动能力• 显示驱动能力• TP驱动能力• Sensor驱动能力(GPIO、I2C等)• WiFi驱动能力 | • Camera驱动能力• Audio驱动能力• USB驱动能力• Sensor驱动能力(SPI、UART等) | - |
升级子系统 | 为系统提供升级能力 | • 全量包制作• 差分包制作• 升级包签名• 分布式触发升级• OTA搜包下载• OTA升级包校验• 升级界面更新• 升级包写入全量包• 升级包写入差分包• 升级包写入脚本扩展• 升级包写入掉电续升• 变分区升级 | • 恢复出厂 | - |
内核子系统 | 支持 Linux 内核支持分布式文件系统 | • 内核4.10• 基础同步文件操作• 基础同步文件流操作• 应用沙盒文件操作 | • 内核升级5.1• 分布式文件系统基础文件读写能力 | • 支持应用沙箱化• 文件管理应用 |
编译构建子系统 | 支持编译构建 | • 归一化编译构建• 归一化版本构建• 归一化SDK构建 | • SDK编译信息完善• 产品配置框架 | - |
应用子系统 | 提供系统基础应用 | • 桌面• SystemUI• Setting | • 相机• 图库• 短彩信• 联系人• 电话 | • 主题• 锁屏• 屏保 |
分布式 profile | 提供设备获取感知等能力 | - | • 设备获取• 设备能力感知• 设备能力同步 | - |
分布式硬件子系统 | 提供设备管理能力 | - | • 设备管理能力• 设备更新能力• 设备监听能力 | - |
位置服务子系统 | 支持位置服务 | - | • 位置服务框架• GPS定位能力 | • 网络定位 |
无障碍子系统 | 提供无障碍服务能力 | - | - | • 无障碍服务框架• 提供旁白• 显示放大• 触摸浏览• 手势模拟• 字幕• 指纹手势• 按键拦截 |
AI 子系统 | 支持 AI 能力 | - | • AI框架 | • 语音助手• 人脸识别• 语音识别• 文本阅读 |
Web 服务 | 提供 Web 服务 | - | • Webview | • 同层渲染• 组件分发 |
泛 sensor 服务 | 支持 sensor 服务 | - | • 红外、环境光、加速度传感器等 | • 陀螺仪、马达 |
USB 服务 | 为系统提供 USB 能力 | - | • USB服务• USB调试• USB驱动(Window与Linux) | • USB存储• USB充电 |
Canary 版本也就是金丝雀版本~~我猜下一个版本是字母D开头的~
环境构建还是忒费劲,对于萌新来说,要命啊,一步一坎。
为什么要叫金丝雀的解释确实是我没想到的
慢慢会好起来的,现在还是野生代码贡献者太少
总得叫一个C字母开头的单词吧,估计是跟安卓学的。
下个版本不大可能叫Dog,但极有可能还是D字母开头的某种鸟类~~
Canary版是什么意思?
Canary 是金丝雀的意思,Canary 版本也就是金丝雀版本,是一个过程版本。
这个术语典出采矿行业,英文中有一句话叫做 canary in a coal mine。它讲的是在工人去矿坑采矿的一种防护措施。由于金丝雀对矿坑的有害气体——比如一氧化碳——比较敏感,在人类发觉有害气体前,金丝雀会先死掉,以此能够让矿工发现有害气体,及时做出防护。
我是说这个