华为鸿蒙到底是不是安卓系统套了个壳?

2023-11-11

华为鸿蒙到底是不是安卓系统套了个壳?

余承东在2月份宣布:鸿蒙将于4月份全面上线,果然没有食言

华为鸿蒙2.0来了,首批升级机型名单包括:Mate X2、Mate40以及P40系列。需要注意的是这次上线的鸿蒙OS依旧只是开发者测试版,还不是正式版本。另外花粉们必须前往官网申请加入开发者计划才能接收到升级通知。

华为鸿蒙到底是不是安卓系统套了个壳?

 

已经有一些小伙伴升级了鸿蒙系统,开机界面已经变成了鸿蒙OS,“Power By Android”已经彻底消失了。不过从体验视频来看,鸿蒙系统的操作逻辑与安卓基本上差不多,很多人不禁质疑,这和安卓系统没啥区别,是不是就是安卓系统套了一个壳啊?

鸿蒙系统技术架构

要搞清楚鸿蒙系统与安卓系统的区别,我们先要了解一下鸿蒙系统的技术架构。

华为鸿蒙到底是不是安卓系统套了个壳?

鸿蒙系统技术架构

鸿蒙系统采用了分层机构,整个技术架构从下到上依次是:内核层、系统服务层、应用框架层和应用层。

HarmonyOS 采用多内核设计,支持针对不同资源受限的设备选用适合的 OS内核。目前已经支持的内核包括Lite OSLinux Kernel

为了对上层提供统一的基础内核能力,鸿蒙引入了一个内核抽象层(KAL:Kernel Abstract Layer)来屏蔽多内核差异。这样上层就可以获得统一的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。

此外内核层还有驱动子系统,HarmonyOS 驱动框架(HDF)是鸿蒙硬件生态开放的基础,为硬件设备商提供了统一外设访问能力和驱动开发、管理框架。

系统服务层是 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产业的看法,欢迎大家关注,在评论区留下您的看法

 

推荐阅读

马士兵带你解读鸿蒙微内核操作系统

为什么阿里巴巴的程序员成长速度这么快

进大厂也就这回事,工作2到3年后进大厂操作指南

阿里架构师【柏羲】带你揭秘架构项目实战与源码解读:微博+B站架构设计、JUC核心、Mybatis源码

看完三件事

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:

点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

关注公众号 『 Java斗帝 』,不定期分享原创知识。

同时可以期待后续文章ing

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为鸿蒙到底是不是安卓系统套了个壳? 的相关文章

随机推荐

  • C++基础(10)——函数模板和类模板

    前言 本文主要介绍了C 中函数模板和类模板基本知识 6 1 函数模板 模板函数的定义 template
  • JavaWeb.购物车项目

    前言 本章纯代码 后期会修改 一 数据库代码 用户表 create table shop user id number primary key account varchar2 30 not null password varchar2 3
  • leetcode刷题:数组的最大子序和

    题目 动态规划 分析 上面的图是老的数组 下面的是新的数组 通过老数组的当前值加上前一个值对应位置的新数组的值 就是新数组对应位置的新值 最后找到新的队列元素中的最大值即可 代码如下 include
  • MyBatis实现多表查询

    前言 以下学习内容所需数据表 一 关联查询 一 手动处理映射关系 在数据查询后映射到实体类中时 如果映射的属性名和数据表的字段名不一致时 就会返回null 解决办法是使用resultMap进行配置 手动处理数据库查询字段和封装实体类属性之间
  • 详解数据库的自然连接

    首先来看自然连接的定义 自然连接 是一种特殊的等值连接 它要求两个关系进行比较的分量必须是相同的属性组 并且在结果集中将重复属性列去掉 一个简单的例子 将下列关系R和S进行自然连接 R A B C a b c b a d c d e d f
  • patroni+etcd+antdb高可用

    patroni etcd antdb高可用架构图 Patroni组件功能 自动创建并管理主备流复制集群 并且通过api接口往dcs Distributed Configuration Store 通常指etcd zookeeper cons
  • Android—WebView简单使用

    华清创客学院 2016 12 12 08 49 有时候我们可能会碰到一些比较特殊的需求 比如说要求在应用程序里展示一些网页 相信每个人都知道 加载和显示网页通常都是浏览器的任务 但是需求里又明确指出 不允许打开系统浏览器 而我们当然也不可能
  • 159.并发编程(三):线程池,JUC

    目录 一 线程池 1 线程池的作用 2 手写线程池 3 ThreadPoolExecutor 1 线程池状态
  • 常用测试用例

    为方便平时写测试用例 整理如下 功能 条件 测试步骤 测试数据 预期结果 备注 搜索或查询 单独遍历各查询条件 测试按各查询条件是否都能够查询出相应的值 查询出符合条件的记录 设置界面上所有查询条件进行查询 单击查询按钮后 测试执行查询操作
  • 软件测试入门基础

    软件工程的四条基本原则 采取适宜的开发模型 采用合适的设计方法 提供高质量的工程支持 重视开发过程的管理 什么是软件测试 软件测试就是在软件投入运行前 对软件需求分析 设计规格说明和编码实现的最终审查 为什么要进行软件测试 软件测试就是为了
  • 深圳地区高校福利来啦!7月5日华为云开发者沙龙门票限时免费领取!

    7月5日华为云开发者沙龙深圳站开启报名 华为云专家现场手把手教你如何快速实现AI应用开发并赠送价值298元CSDN会员卡 了解行业趋势进行技术储备 高校教师 学生免费参会 报名地址 https huiyi csdn net activity
  • 谷歌浏览器关闭安全模式, 访问 http网站

    设置 隐私设置和安全性 安全 选择 不保护
  • Redis 7 第三讲 数据类型 进阶篇

    位图 bitmap 1 理论 由0和1 状态表现的二进制位的bit 数组 说明 用String 类型作为底层数据结构实现的一种统计二值状态的数据类型 位图本质是数组 它是基于String 数据类型的按位操作 该数组由多个二进制位组成 每个二
  • 基于Mahout实现协同过滤推荐算法的电影推荐系统

    1 Mahout介绍 Apache Mahout 是 Apache Software Foundation ASF 旗下的一个开源项目 提供一些可扩展的机器学习领域经典算法的实现 旨在帮助开发人员更加方便快捷地创建智能应用程序 经典算法包括
  • 实践是检验程序员的唯一标准01:用户不想跟你说话并向你扔出一张图片 - 图片上传组件开发【思路篇】...

    温馨提示 这里除了一些幼稚的小组件啥也没有温馨提示 续 这是一个新的系列 写一些实际开发中遇到的一些常用的功能 想法笨拙 代码乱套 写在前面 图片上传 作为web端一个常用的功能 在不同的项目中有不同的需求 在这里实现一个比价基本的上传图片
  • 【python基于mysql数据库实现无页面学生信息管理系统】

    python基于mysql数据库实现无页面学生信息管理系统以及简单操作mysql 前言 一 分步讲解 0 创建两张数据表 1 大概思路 2 首先连接数据库 3 查看所有学生成绩信息 4 查看所有学生个人信息 5 查看指定学生成绩信息 6 添
  • ORM中对于外键关联的处理

    根据侧重点的不同可以分为两类 一是侧重子表 即CRUD操作主要是针对子表进行的 例如书中所举的例子album 是子表 artist是主表 class AlbumMapper 1 Mapper实现的对象初始化 public Album fin
  • EXTJS2.2组件Combobox下拉框获取数据

    1 获取数据 var dataPath 远程连接 var genderStore new Ext data JsonStore proxy new Ext data HttpProxy method POST url tHarvestTab
  • 前端随笔(五)————浅谈React工程化

    1 什么是React 用于构建用户界面的 JavaScript 库 React官方文档 严格意义上来说 React并非框架 而是一个JS库 常用库 react 库 react dom 库 React具有如下特点 声明式 组件化 跨平台开发
  • 华为鸿蒙到底是不是安卓系统套了个壳?

    余承东在2月份宣布 鸿蒙将于4月份全面上线 果然没有食言 华为鸿蒙2 0来了 首批升级机型名单包括 Mate X2 Mate40以及P40系列 需要注意的是这次上线的鸿蒙OS依旧只是开发者测试版 还不是正式版本 另外花粉们必须前往官网申请加