HarmonyOS 是 Android 套壳?

225 阅读6分钟

导读

  • HarmonyOS 是什么,有什么优势?
  • HarmonyOS 是 Android 套壳?
  • HarmonyOS 的前景以及发展方向

先了解几个概念

物联网(Internet of Things,简称IoT)

  • 指通过互联网将各种物理设备连接起来,使它们能够相互交换数据和信息的网络系统。这些物理设备可以是传感器、智能手机、家用电器、工业机器、车辆等。物联网的核心思想是将这些设备连接在一起,形成一个庞大的网络,使它们能够自动交互、通信和协调工作,从而实现更高效、智能化的操作和管理,也就是我们经常所说的实现万物互联。

AOSP(Android Open Source Project)

  • AOSP(Android Open Source Project)是指Android开源项目,它是由谷歌推出的一个开放源代码的移动操作系统项目。AOSP旨在为移动设备(如智能手机和平板电脑)提供一个基础操作系统框架,供开发者和制造商自由使用、定制和部署。
  • AOSP的主要目标是促进开放性、透明性和创新性。谷歌在AOSP中发布Android的最新源代码,使开发者和厂商能够构建自己的Android版本,并在设备上预装和分发。这也使得第三方ROM(固件)开发者可以基于AOSP代码创建定制的Android ROM。如小米、OV、三星、华为 HarmonyOS 都是基于 AOSP 开发。

  • 原生的 Android MS 系统是 GMS,而 AOSP 中是不包含 GMS 这些特性化服务的,而是由手机厂商基于 AOSP 自己的系统,并实现自己的 MS,如华为 HMS。

GMS 是什么?

  • GMS 是 "Google Mobile Services"(谷歌移动服务)的缩写。它是由谷歌提供的一套移动应用和服务,旨在帮助开发者在 Android 设备上构建高质量的应用程序,并提供丰富的功能和服务来提升用户体验。
  • GMS 包含一系列谷歌的核心应用和服务,如谷歌搜索、谷歌地图、谷歌邮箱(Gmail)、谷歌日历、谷歌云端存储(Google Drive)、谷歌联系人(Google Contacts)等。这些服务被广泛应用于 Android 智能手机和平板电脑中,为用户提供丰富的功能和便利的体验。
  • 后由于 GMS(Google Mobile Services)在中国政策审查受到限制,在中国市场的手机中无法预装 Google Play 商店和其他谷歌服务。为了适应中国市场的需求,国内手机制造商和互联网公司采取了多种策略来提供移动服务:如华为的 HMS、小米、OV 的 MS 系统。

HMS

  • 华为移动服务(Huawei Mobile Services,缩写HMS)是华为云服务开放能力的合集,开发者只需集成HMS SDK即可使用华为的多个开放能力,包括华为帐号、应用内支付、消息推送、好友关系等能力。

HarmonyOS

  • HarmonyOS是华为公司开发的一款“面向未来”的分布式全场景(移动办公、运动健康、社交通信、媒体娱乐等)的智慧操作系统。该操作系统将逐步覆盖“1+8+N”的全场景终端设备,使消费者实现通过智能手机方便、快捷的控制其它设备,从而获得更优质的视、听、感、触等全方位的服务,以实现在特定场合下,以最低的能耗,最快的速度,通过最优的硬件设备,操作最全面的优质资源,获得最佳的用户体验。HarmonyOS不是PC上的操作系统,简而言之,HarmonyOS旨在连接多个设备组成一个功能、资源、设备齐全的,面向IoT物联网设备的超级系统。

技术架构

  • HarmonyOS整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。

  • HarmonyOS 本质还是基于 AOSP 开发,下面是其中部分源码,更多源码有兴趣可以自己去查看。

  • 下面主要介绍三个比较重要的功能点:

KAL

  • HarmonyOS 采用多内核设计,支持针对不同资源受限设备选用适合的OS内核,比如Linux Kernel、LiteOS。HarmonyOS 引入内核抽象层(KAL,Kernel Abstract Layer),通过 KAL 屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
  • 由于内核支持拔插式设计,此前华为也透露过在研发自研内核,这个是比较值得期待的。

分布式总线

  • 在 HarmonyOS 加入了分布式总线的能力,主要是为了实现 IoT ,如设备的发现、认证和管理、数据传输等。

Ability 框架

  • 通过在应用层实现 Ability 框架来屏蔽不同操作系统的差异,使开发的代码可以在不同操作系统中运行,但仅仅是运行 HarmonyOS 的系统。
  • 在此之前,其实也有很多跨平台方案,相比之下并没有什么优势:
小程序:运行中各自App环境内部
Flutter:致力于移动端、桌面端、Web、嵌入式全覆盖
Ability:主要为华为生态中的手机以及嵌入式设备设计

HarmonyOS 未来的一些思考

  • 目前 HarmonyOS 主要有两个优势:

一个跨平台的 JavaScript 应用UI开发框架

  • HarmonyOS可以使用Java、JavaScript、C写UI界面且UI界面可以跨设备,但目前在实际开发中,不同设备支持的语言是不同的:
在手机设备上,只能使用JavaJavaScript写界面(相关文档Java UI框架JS UI框架 两部分)
在嵌入式设备上,只能使用CJavaScript写界面(相关文档JS应用开发系统基础子系统集>图形及UI子系统 两部分)
只有JavaScript写的界面可以跨设备使用
  • 但其中最重要的JS引擎(JS runtime)使用的是三星开源的IoT JavaScript引擎:JerryScript。

分布式总线

  • 在 OS 层实现了IoT,实现上并没有其它的优势,去除基于 OS 实现这个点以外,和目前市面上的 TencentOS tiny、AliOS Things、Xiaomi Vela、RTOS等 IOT 并没有很大的区别。

总结

  • 华为开发 HarmonyOS 的初衷是希望摆脱目前可能存在的技术上的牵制,从而拥有更多自主权,但就以目前的 HarmonyOS 来看,仅仅才开始起步,最核心的 JS 引擎、OS 内核的研发还没有开始,开发操作系统内核和 JS 引擎是一项庞大且复杂的任务。也许华为已经在背后进行着大规模的研发工作,但是到目前为止官方尚未公布关于这方面进展的详细信息。
  • HarmonyOS 的发展前景就目前来看个人认为其实并不好,华为手机品牌拆分后,销售额大幅下降,小米、OV也有自己的 OS 系统。
  • 至于 HarmonyOS 是不是 Android 套壳呢?虽然 HarmonyOS 还是使用的 AOSP,但改动还是比较很多,改动之后的 AOSP 还是原来的 AOSP?这是个哲学问题,大家自己想吧,而且 AOSP 更多是一种规范的作用,统一标准,更重要的是 JS 引擎、OS 内核,因此只能说前进的道路任重而道远。

参考