鸿蒙到底是不是安卓套壳?

发布时间:
2024-11-03 16:00
阅读量:
18

把它是不是套壳先放在一边吧。我讲一个事情,大家自己判断。

华为有一个应用,叫手机管家。这个手机管家对一些系统底层设置有影响:比如华为从 EMUI 9 开始不允许将第三方启动器设置为默认启动器,依靠的就是这个手机管家。

为什么这么说呢?在网上搜索“华为如何使用第三方启动器”,十有八九是用冰箱、黑域一类的软件冻掉手机管家,或者 adb 卸载手机管家——不过在 EMUI 11 及更高版本中,由于权限不够,这个方法不能使用了。

有趣的是,在 HarmonyOS 3 测试版的手机管家的 12.0.1.330 版本中,出现了 Bug——你可以将第三方启动器设置为默认启动器了!更有趣的是,有人把这个手机管家提取出来,发现是 .apk;而且,把这个 apk 装到 EMUI 11 上,还可以正常覆盖升级 EMUI 11 的手机管家

最有趣的来了。在安装 HarmonyOS 3 的手机管家后,EMUI 11 也可以将第三方启动器设置为默认启动器了


口说无凭,我来上图了。

在默认情况下,即便安装了第三方启动器(比如我安装了 nova Launcher),也不能把它设为默认——设置里面根本就没有这个选项:

此时,手机管家的版本是 11.0.1.356——这是 EMUI 手机管家的最新版本,毕竟华为应用商店里没有更新。

然后,我们安装手机管家 12.0.1.330,发现可以正常覆盖升级。这表明手机管家 12.0.1.330 的包签名没有改动,是华为官方版本,而非第三方修改或破解的版本。

Finally,我们可以选择 nova Launcher 了。



题外话:华为,或者说所有国产安卓的默认桌面都毫无美感——跟 iOS 学的平铺圆角矩形图标,丝毫不懂应用抽屉和圆形图标的美感。

而华为在抽屉模式下依然丑得不能直视,完全不如第三方桌面 + 图标包:

当然,具体什么是“美”,标准取决于个人。重要的是厂商应该给予用户选择的权利——而不是钦定一个没多少自定义项的默认启动器。


2019 华为开发者大会的时候,我还是高中生。那时候我也跟着大家一起沸腾。“基于微内核”、“分布式”,给自己笑脸,给友商哭脸,明摆着这是要用一套系统统一所有平台啊,这玩意在手机市场上肯定要跟 iOS 和 Android 三分天下啊。

2019 开发者大会第二天,华为直接发布了荣耀智慧屏——首款搭载 HarmonyOS(下文简称 HMOS)的设备,然后被网友扒出来是 AOSP。

2020 年,手机上的 HMOS 2 发布开发者版本,然后就出了“旧版鸿蒙”的乐子。

2022 年,HMOS 3 发布。切换语言为英文直接显示“Android System”

2023 年,某软件被曝出利用安卓漏洞获取 root 权限——然而这个漏洞也能影响到 HMOS,说好的“微内核天然无 root”呢?(更新:此信息极可能不实。评论区有知友给出了更详细的信息)

最后叠点甲。


你为什么只批评华为?为什么不去批评别的厂商?

智能手机中,我只用过微软 Lumia 650 和华为 nova 7 Pro。别的手机没有用过,没有办法评价。

唯一一个我没用过也敢骂的厂商是苹果,因为它的生态太封闭了。


等到 HarmonyOS NEXT (下文简称 HMOS NEXT)出来,你还敢说套壳吗?

我只认为 HMOS 是套壳。HMOS NEXT 从目前的公开信息无法判断。我希望不是套壳。

但是呢,就算 HMOS NEXT 不是套壳,跟HMOS 是套壳有关系吗?这就像 Windows NT 并不基于 MS-DOS,但你不能说 Windows 95 不基于 MS-DOS。

如果 HMOS NEXT 能在技术上脱离 AOSP 生态,甚至在技术上脱离 GNU/Linux 生态,或者更极端一点,彻底脱离 Linux Kernel,那我也会跟着大家一起沸腾——但不妨碍我痛斥 HMOS 套壳。HMOS 是 HMOS,HMOS NEXT 是 HMOS NEXT,两者要分清。

OpenHarmony 同理。


谷歌断供了安卓,所以华为不得不自研系统

谷歌只断了 GMS。AOSP 还是谁都可以用的。更何况,国内根本用不到 GMS。


既然 AOSP 谁都可以用,那为什么 HMOS 用了要被骂套壳呢?

用 AOSP 没关系,甚至本质上就是 AOSP 也没关系——但你用了 AOSP 甚至本质上就是 AOSP,还喊着“自研”、“微内核”、“分布式”,跟 AOSP 切割,这才是大家声讨的“套壳”。


如果 HMOS 是套壳,那为什么 HMOS 敢去掉 Powered by Android?

简单来说,Powered by Android(下文简称 PbA)涉及到谷歌的认证,只有通过认证的设备才有资格标注 PbA。而华为受到制裁,谷歌无法与华为合作,因此华为设备无法通过认证——自然也就没有资格标注 PbA。这里“没有资格”不包含贬义。

其他厂商也有不标注 PbA 的设备。例如小米生态链的多亲防沉迷手机就没有 PbA——但多亲确实是安卓。


如果 HarmonyOS 真是套壳,那谷歌早就起诉华为了。

别把谷歌当白痴。阿里云 OS 记得吧?那玩意就是被谷歌干趴下的,因为阿里云 OS 真的把 AOSP 的 Dalvik 换成了阿里云虚拟机,阿里云 OS 是真的能分裂安卓生态的。

甚至微软当年试图在 Windows 10 Mobile 上兼容安卓应用(Project Astoria),最终取消的原因之一也是法律问题。 Win 11 的 WSA 是后话:一方面,Win 11 作为电脑系统不会对 Android 造成威胁(不会有厂商傻到给手机预装 Win 11 on ARM);另一方面,WSA 是完整的虚拟机,而非 Project Astoria 的系统调用转译,不涉及法律问题。

HMOS 不涉及到这些,因为它在法律信息里直接附上了 AOSP 的开源许可证。。。

而且既然 HMOS 就是套壳,那发展 HMOS 仍然相当于壮大安卓生态,谷歌是吃饱了撑的去砸自己饭碗?


HarmonyOS 有很多安卓没有的功能

总有人拿超级终端、车机互联什么的说事... 但是华为在海外的 EMUI 也有这些功能,荣耀 MagicOS 也有类似的功能。但这两者是安卓。

也有人拿隔空手势说事,但这是 Mate 30/EMUI 10 就有的功能。隔空手势只能说麒麟芯片的 NPU 牛逼,例如高通芯片的 Mate 50 就不支持隔空手势。

不限定华为品牌的话,三星 Galaxy S4 就已经有隔空手势和注视不息屏等功能了。

三星 S Pen 的功能别家没有,而且三星做到了软硬件协同——但你不能说 OneUI 就不是安卓了啊。


HarmonyOS 有方舟编译器,有 EROFS 超级文件系统。

这两个都是 EMUI 9.1 就有的。


你想想为什么 HarmonyOS 敢叫 OS,而 MIUI 就只敢叫 UI

这玩意就是个名字。。。

很多基于 AOSP 的系统都叫 OS。比如 ColorOS(OPPO)、OriginOS(vivo)、MyOS(中兴)、LineageOS(开源社区),包括小米新发布的 Hyper OS。

很多基于 AOSP 的系统都叫 UI。比如 OneUI(三星)、myui(摩托罗拉)、RealmeUI(真我)、EMUI(华为)

甚至还可以既不叫 OS,也不叫 UI,比如 Flyme(魅族)、Samsung Experience(三星)


HarmonyOS 是鸿蒙微内核,Android 是 Linux 宏内核,两者有本质的区别。

这个“鸿蒙微内核”指的是 HongMeng Kernel(下文简称 HM Kernel)。HM Kernel 是华为 TEE OS 的内核(TEE = Trusted Execution Environment)。

华为 TEE OS 是什么呢?是对锁屏密码、指纹、人脸等高敏感数据进行存储、计算、比对等操作的系统。

EMUI 9 就已经内置华为 TEE OS,而 Mate 30/EMUI 10 发布会还把华为 TEE OS 微内核通过 CC EAL5+ 认证作为卖点——只是没挑明华为 TEE OS 微内核就是 HM Kernel。

好,那么 HMOS 的底层究竟是不是 HM Kernel?

  1. 阅读华为官方在 2023 年 7 月提交的一份文档 Huawei HongMeng Kernel Common Criteria Evaluation ST: Security Target for Specified Hardware 中提供的架构图,可以看出 HM Kernel 仅用于 TEE OS,一般的设备仍然是 TEE OS 与 REE OS 共存——文档中对 REE 举例为 Android(REE = Rich Execution Environment)。
  2. 查看 HMOS 的系统信息,会在“内核版本”看见 5.4 或者 5.10 之类的字样——这明摆着是 Linux Kernel 的版本号,并且这个版本号跟同期安卓里 Linux 的版本号一致。而现在 HM Kernel 的版本号是 V100R006C00SPC020B030(摘自 HM Kernel 的 CC EAL6+ 认证报告,以及证书)。
  3. 按华为官方的说法,HMOS 基于 OpenHarmony——但是 OpenHarmony 里根本就没有 HM Kernel,只有 Linux Kernel 和 LiteOS。而给嵌入式设备使用的 LiteOS 显然不能独自挑起大梁。

iOS 也是套壳 UNIX,你怎么不说呢

在如今,UNIX 更多的是一个标准,或者说一种认证。例如华为 Euler 就申请了 UNIX 认证。苹果也曾为 macOS 申请过 UNIX 认证。

iOS 基于苹果自己的 Apple Darwin,Darwin 的内核是苹果自己的 XNU。

XNU 又使用了 Mach 和 FreeBSD 的代码——这在 XNU 的开源仓库写的明明白白的,称不上套壳。

至于 Mach,那是 CMU 开发的内核。FreeBSD?那玩意已经去掉了来自 AT&T UNIX 的代码。

XNU 只是在设计上兼容 POSIX 标准而已。Windows NT 还有 POSIX 子系统呢,你能说它套壳 UNIX?


你是水军/果蛆/三星工读生/罕见/间谍/1450/买办/50万,你不支持鸿蒙,就是不支持国产,就是跪舔美爹

别笑,还真有人给我扣过帽子。扣帽子往往发生在对方在逻辑和技术上被怼得哑口无言之后。

END