现在华为鸿蒙系统(Harmony OS)已经到了大规模推广、搭载前的最后公测阶段,已经有很多人升级到了鸿蒙,事实就摆在面前了,所以现在关于鸿蒙系统是PPT的说法,差不多都该很快消失了。
创新新互联,凭借十载的成都网站建设、成都做网站经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上1000家案例。做网站建设,选创新互联公司。
目前对鸿蒙系统的质疑声音,又集中到了“安卓套壳”这个老话题上来,毕竟鸿蒙系统确实是全面兼容安卓APP,而且在日常界面上也和安卓系统很类似。很多所谓程序员就根据鸿蒙系统中确实有很多AOSP(安卓开源项目)的开源代码来认定,鸿蒙系统就是安卓套个壳而已。
一、这样的观点,实际上从稍有知识产权、法律常识的角度看,根本就是不可能成立的。
难道一个强悍的谷歌公司,就没有几个律师(法务)懂这事?你以为谷歌强制要求的 安卓手机开机界面“Powered by android” 只是个摆设,或是个花架子没用的?如果说谁家手机系统底层是安卓,却不遵从这个规则,怕是早就被谷歌告进了法院。谷歌有多么狠没人不知道吧?要知道谷歌自家私有的GMS(谷歌移动服务),早就禁止华为手机安装了。当时谷歌那可是步步紧逼,坚决把禁止华为使用GMS进行到底的力度。
放心吧,谷歌没这么傻,华为更没这么傻。如果鸿蒙系统不是完全自己开发的,华为有必要多此一举? 华为现在的 “安卓+EMUI+HMS(华为移动服务)”模式 ,不也是用得好好的吗? 而且,“安卓+EMUI+HMS”这个模式,只要华为想用安卓开源系统,还可以一直用下去,完全符合开源项目规则。
其实这也是目前小米、OPPO、vivo、三星等所有安卓系手机厂家都在做的,比如小米的安卓+MIUI等。况且,华为的EMUI也很强大,完全不比任何别家UI系统差。
二、即便是从软件技术、软件开源社区及开源软件规则这些常识看,鸿蒙系统使用AOSP(安卓开源项目)的开源代码不但合规,还是合情、合理的。
下面咱们来看看2021年1月下旬,华为消费者业务软件部总裁、鸿蒙操作系统负责人王成录接受采访时,对鸿蒙系统全面、深入的介绍。王成录这位资深“程序员”,应该是最有资格介绍鸿蒙系统的了。
这里王成录还是把对鸿蒙系统的质疑归结于理解不一致的问题。他说并不是所有安卓代码都是谷歌开发的,安卓系统的绝大部分代码来自开源社区。
鸿蒙也会吸收社区的优秀技术和代码,用了AOSP(Android 开源项目)的开源代码,就认定鸿蒙是安卓换了皮,说明这类吐槽者没有太准确理解什么是开源。开源系统的最大意义就在于大家都来贡献代码,大家都可以免费使用。而华为本身就是安卓开源系统最大的贡献者之一。
王成录说到 今年10月,鸿蒙第三阶段的开源代码会上线,来自AOSP社区的、由谷歌贡献的代码就几乎没有了 。相信华为的这个时间表,那些吐槽的所谓“程序员”应该可以理解了。
由此可见, 鸿蒙系统是庞大的,特别是前期吸收开源社区的技术、代码,都可以显著提高系统开发的进程,华为何乐而不为呢?这个槽点,该破了。
类似的,鸿蒙系统对于安卓APP的兼容,也是这个连续性的道理。王成录明确提到,现在鸿蒙生态的应用量(APP及开发者)还不够多。他说谷歌安卓系统有约2000万开发者,苹果iOS有2400万开发者,鸿蒙生态的开发者数量还差很多。所以, 在鸿蒙生态起步的初级阶段,兼容安卓不但不该被吐槽,反而应该是一个妙招 。
当然华为也没有忽视自有生态建设。华为选择了中国应用市场(APP)下载量排名前200的厂家,一个个去沟通,已确定做方案的达到70%。鸿蒙生态建设非一日之功,早在紧张进行中。
这些吐槽的所谓程序员,要么就是揣着明白装糊涂,为了吐槽鸿蒙而装糊涂;要么根本就不是程序员,打着程序员的幌子,纯粹就是为了吐槽鸿蒙而已。
三、最后做个善意提醒,现在用着安卓系统的手机厂家,也不要高兴太早,或是暗自庆幸自己运气好,没有被谷歌打压。
谷歌可是在一步步收紧对安卓系统的控制,说不定啥时候让你交点儿使用费,怕是躲不开的。而且交点儿使用费,怕这还是好的。 要是哪天你也想真心实意做点儿技术活,也搞点儿高新 科技 ,难免要被美国盯上,难道就不怕和华为一样也被禁掉GMS?多做点儿准备,不是坏事。
并且鸿蒙系统的微内核、软总线、分布式架构的先进性,是安卓系统不可匹敌的。随着鸿蒙系统生态进一步完善,加上华为鸿蒙系统的开放政策,相信用上更先进的系统,对任何厂商都有吸引力。用上中国自己的操作系统,何乐而不为?连谷歌都在开发安卓的替代系统Fuchsia了,难道还有人怀疑安卓必将被淘汰的结果吗?
鸿蒙系统确实是个新事物,很多人对其缺乏认识是可以理解的。我们中国之前确实也没有拿出一个成功的操作系统,鸿蒙系统突围而出的难度的确很大,有些人缺乏信心也有可能。 但是现在华为有实力、有机会,鸿蒙成功就在眼前,我们还腿软,就不该了。
华为鸿蒙已经发布快一年了,但是经常还有小伙伴说,鸿蒙不就是安卓系统套个壳么?类似小米的米UI和华为自有的EMUI。
我们不可否认鸿蒙2.0系统跟安卓的界面确实很相似,但就因此判定鸿蒙系统是安卓换皮了吗?
都知道鸿蒙系统跟安卓一样,采用的是AOSP 开源代码,而安卓自身超过80%的代码都来自于开源项目,谁也不能说谁在换皮吧?
长期以来,谷歌Android和苹果iOS系统占据了全球移动端操作系统的绝大多数市场份额,除了苹果的IOS以外,其他手机基本使用的就是安卓系统,当然,鸿蒙推出以后就三分天下啦。
对于很多用户来说,鸿蒙 系统的推出是国产手机发展的一大步,因为除了苹果手机,其它手机品牌用的全都是基于安卓的底层框架,只有UI是自己设计的,这对手机大厂来说是有很多限制的。
鸿蒙与安卓一样,基于Linux内核研发鸿蒙操作系统,鸿蒙系统与安卓系统能够最大程度地兼容,初衷是对标安卓系统,补齐华为缺失的生态,不是超越、颠覆安卓,而是与安卓长期并存,由于兼容,两者的生态具有高度相似性。
华为鸿蒙系统是一款全新的面向全场景的 分布式 操作系统,创造一个超级虚拟终端互联的世界,将人、设备、场景有机地联系在一起,将消费者在全场景生活中接触的多种智能终端实现极速发现、极速连接、硬件互助、资源共享,用最合适的设备提供最佳的场景体验。鸿蒙OS是一款基于微内核面向全场景的分布式操作系统。
微内核
华为鸿蒙系统与安卓在系统架构上有着本质的区别,其中 安卓是基于宏内核而鸿蒙则是基于微内核开发的 。
在宏内核模式的架构中,它把很多的东西都集成进内核里面了,使得系统在运行的过程中内核与各个进程的联系非常紧密。虽然在这种架构下,系统运行的效率较高,但是却存在致命的Bug。在运行过程中,开发进程一旦发生故障将会导致整个操作系统出现问题,甚至直接挂掉,所以它的稳定性差。
在微内核模式的架构中,操作系统提供的是最核心、最必要、最精简的功能。在系统运行的过程中,所有的进程都拥有 自己的独立地址空间,彼此之间互不干扰,由内核进行最基本的调度和内存管理。如果某个进程出现错误时,只需要相应地修正某个错误就行了,极大程度地保证了系统的稳定性。
安卓系统架构
Android是用Java语言编写的,很容易学习。但它有一个缺点:不能与系统底层直接进行通信活动,必须通过虚拟机来运行。说直接点就是虚拟机相当于传递者:首先Android应用程序安装在虚拟机上,然后从虚拟机传输到机器的底部,如果虚拟机出了问题话的那系统就是卡住。
Android系统架构分为四层架构,从高到低分别是应用层,应用框架层,系统运行层和Linux内核层。
鸿蒙系统架构
鸿蒙操作系统是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核的开发难度很大,但是系统的稳定性很高。
根据目前华为公布的一些资料信息,我们可以推断出鸿蒙系统是用C、C++语言编写即直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码,这样做的好处就是不需要中转,执行速度快;但这样的操作也有一些缺点就是必须要有大量的静态方案且内存空间要求更高。
鸿蒙系统架构也分为4层分别为:应用层,程序框架层,基础服务层和微内核层。
架构上的主要区别
一、谷歌的安卓系统是基于Linux开发,华为的“鸿蒙”系统也是基于Linux开发,但底层对Linux进行大量优化。
二、安卓系统程序员写APP使用的是JAVA高级语言,打包成APK到安卓系统。方舟编译器,则是让APK打包之前,统一把指令换成安卓系统能读懂的机器语言,省去了"翻译"这个过程。
三、安卓的主要开发语言是基于java,而在鸿蒙系统上可以使用java和js。
应用层面
安卓系统
安卓系统适用于手机,虽然当前有好多设备都是基于安卓开发的,例如车载屏幕等。但实际上都是针对于安卓手机应用的简单扩展。
鸿蒙系统
华为带来全场景 1+8+N 智慧生活,鸿蒙系统 2.0 带来统一控制中心。将会涵盖五大场景,包括智慧出行、智能家居、运动 健康 、智慧办公以及影音 娱乐 。这里提的“1” 指的是手机,手机是未来智慧生活的入口,因此显得额外重要。“8“指的是平板、PC、穿戴、HD、AI音箱、耳机、VR、车机。“N”指的是泛IOT设备。
在应用上,鸿蒙系统显然更强大,并且兼容所有安卓系统的应用。
在安全等级上,鸿蒙采用更高级别的隐私保护功能,开启了多设备的协同认证,全面保护用户的隐私安全。
缺陷与不足
在适配性上,因为鸿蒙系统目前来看只能在华为的手机上使用,但是安卓系统可以在目前所有的安卓手机上使用。
在生态系统上,安卓系统 经过多年发展,软件生态非常完善 ,整体生态系统也变得逐渐的成熟起来,在功能性与实用性上已做得相当出色;而鸿蒙还处在新生阶段,有发展的潜力。
综合来看,说鸿蒙系统是“安卓换壳”是完全不对的,“换芯”应该比较准确。
1、构建理念不同:谷歌的安卓系统主要出于移动终端以及智能电视、智能穿戴设备所考虑。华为的鸿蒙系统主要出于未来万物互联的角度,囊括了所有能够接入物联网的设备。并不仅仅局限于基于ARM架构的设备,甚至是基于X86或者其他更新架构的设备。
2、理念不同:导致系统复杂度、难易度不同,华为鸿蒙系统综合性要高于安卓系统。
3、资源获取的能力不同:华为的生态系统建设而困扰,物联网将会为华为带来大量的内容资源。短期内华为系统的生态建设将会被安卓系统所压制,毕竟两者不在同一个数量级。
扩展资料:
至于华为为什么要基于Linux开发自己的操作系统,其实很容易理解。首先,它可以很好地与Android应用程序兼容。毕竟,Android也是基于Linux开发的,这解决了很大一部分的生态问题。
此外,红梦是集计算机、手机、汽车等设备于一体的统一系统,Linux在计算机领域的应用生态也很好,基于Linux来开发,在计算机领域的应用生态,也解决了很大一部分。
根据华为公布的方舟编译器资料,可以得知鸿蒙系统是用C、C++语言编写。
鸿蒙系统和方舟编译器的思路是一样:直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码;
这样的好处是:不需要中转,执行速度快;劣势是:必须要有大量的静态方案、内存空间要求更高。
扩展资料
系统简介
鸿蒙微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。
鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。
可用于手机、平板、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓、华为电脑端依然优先使用windows和Linux。
参考资料来源:百度百科-华为鸿蒙系统
参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在 AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1. 鸿蒙手机通过USB连接电脑,并开启USB调试。
2. 一个华为开发者账号,实名认证
3. APP开发工具DevEco-Studio
关键流程:
1. Studio创建应用
2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”
3. AppGallery创建应用(包名和Studio创建的一样)
4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动
5. Studio中Build Generate key and CSR 生成p12和csr文件
6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)
7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)
8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)
9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件
10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了