系统服务层是 HarmonyOS 的核心能力集合,并通过应用框架层对应用程序提供服务。应用框架层为 HarmonyOS 应用程序提供了 Java/C/C++/JS 等多语言的用户程序框架和 Ability 框架,以及各种软硬件服务API。
从华为官方的鸿蒙介绍来看,确实看不到任何安卓系统的影子,不过鸿蒙OS的多内核之一就是Linux,与安卓一样,我觉得这就是华为为兼容安卓生态而考虑的。
鸿蒙为啥可以运行安卓应用
============
鸿蒙OS界面
大家发现,虽然刷机了鸿蒙系统,但是所有android应用还是可以用啊,有点不可思议,对于一个全新的系统,通常需要开发者针对新系统进行二次开发,才能将程序移植到新系统上。
所以大家怀疑鸿蒙系统类似于之前的EMUI,基于安卓系统改了一个UI,即所谓安卓套壳或者说是安卓换肤,这种怀疑也是合理的。
系统底层显示从安卓变成了Harmony OS以外
不过我觉得要兼容Android应用其实有很多选择,华为对安卓系统非常熟悉,用哪种方法对华为来说都不难:
-
最简单直接的方法是在鸿蒙系统上移植安卓虚拟机来运行安卓程序,我估计这个可能性不大;
-
如果不使用安卓虚拟机,那么可以将apk文件即时编译为可以运行在鸿蒙系统上运行的字节码或机器码,这有可能是方舟编译器的能力;
-
还有一种可能性是类似于Wine,运用API转换技术做出鸿蒙对应到安卓系统的函数,从而运行安卓应用。
Wine:是一个在x86、x86-64上容许类Unix操作系统在X Window System下运行Microsoft Windows程序的软件。Wine不是Windows模拟器,而是运用API转换技术实做出Linux对应到Windows相对应的函数来调用DLL以运行Windows程序。
有网友发现了在鸿蒙系统中,有借鉴**AOSP(安卓开源项目)**的影子,我觉得这个是完全有可能的。鸿蒙为了利用安卓的生态,肯定要借鉴安卓系统,说一点没用到,我是不太相信的。最大的可能性就是鸿蒙在某些层面,对安卓系统和鸿蒙系统做了一个完全性的兼容,有可能是字节码,也有可能是API接口。
与其说鸿蒙是在安卓外面套了个壳,不如说鸿蒙是披着安卓的外衣。虽然外表看上去我还是安卓,但其实我的内心是鸿蒙的。
总结
==
大家对鸿蒙系统一直抱有很大期望,希望华为能做出一款开天辟地的系统,当看到鸿蒙与安卓系统如此接近难免有些失望。不过我想这也是华为的无奈之举,因为目前鸿蒙没有自己的应用生态,在没有一定的装机量下,没有哪家应用厂商会愿意为了鸿蒙系统开发应用。
因此华为不得不先考虑100%兼容安卓系统,好让鸿蒙系统有一个比较容易的起步,对于使用者来说,体验差距是不大的。
对于华为来说,现在类似于要改装一部车,先把发动机换掉了,外观内饰暂时还没有变化。但我们也不能否定华为的努力,相信鸿蒙会越来越好。大家如何看待鸿蒙系统呢,欢迎评论区留言。
我会持续更新关于物联网、云原生以及Java方面的文章,用简单的语言描述复杂的技术,也会偶尔发表一下对IT产业的看法,欢迎大家关注,在评论区留下您的看法。
推荐阅读
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!