心尊门 发表于 2019-9-9 22:06:56

鸿蒙系统是否就是改版安卓?

鸿蒙系统是否就是改版安卓?

赤月 发表于 2019-9-9 22:07:42

其实鸿蒙包含安卓的东西没什么,关键在于去掉安卓的东西之后,鸿蒙还剩下什么。
由于鸿蒙源码,文档没有出来,本文只探讨判断标准,但不下结论。如果鸿蒙开源,或者放出文档,工具之后,能根据事实结合我的判断标准做判断。
要称得上一个自主研发的系统,系统本身要具备完整性和独立性。就是说你可以基于商业,应用生态的考量兼容安卓,Linux应用,但是作为系统本身,在面向开发者的时候,要能做到去掉安卓,Linux的东西之后,依然拥有一套完整的底层框架和上层应用,同时还要拥有配套的开发工具链。
兼容安卓本身并不代表就是套壳,比如黑莓本身是一个运营多年的操作系统,后来为了生态也兼容了安卓应用,Windows现在也可以运行Linux子系统,谷歌自己的chromebook,也可以运行安卓应用和Linux应用,但显然不能说这些是安卓套壳的系统,为什么呢,因为这些系统虽然能运行安卓或者Linux应用,但是从系统中卸载或者移除安卓,Linux运行环境之后,不会影响这些系统自身的完整性,它们各自依然是完整的系统,可以开发,运行自己的原生应用。
系统完整性和独立性,上面给出了概念层的标准,具体来说,我们还可以给一个参照标准,那就是原生aosp,或者刚安装完,没有装第三方软件的Windows。我们知道,原生aosp本身也没有多少应用,也就是基本的电话,短信,浏览器,时钟,计算器之类的基础应用,Windows安装之后也只有基础应用。但是aosp和纯净安装的Windows都是自身具备完整的底层框架和上层应用,也有配套的开发工具链。
如果鸿蒙去掉安卓的东西,能不能像安卓的原生aosp一样正常运行,开发者这里,有没有开发工具提供给开发者,用来开发这个系统的原生应用,例如像音乐播放器,视频播放器,文件管理器之类的app,如果满足这个标准,那就可以认为是一个自主的完整的系统。
不要说把锅抛给应用生态,因为应用生态构建,那是商业推广层面的事情。人们不会根据你应用的多少来判断你是不是套壳,也不会单单因为你兼容安卓就说你是套壳,如果你满足上面的标准,那么即使你的应用生态只有一二十个应用,也没人会说这个系统是个套壳的系统。
现在主要还是等华为开源,放出api,文档,开发工具,但是目前有一些不利证据指向鸿蒙有套壳的嫌疑,所以华为要放源码文档这些都应该尽快。
此外,有人认为将鸿蒙说成安卓套壳是在吹毛求疵,最常见的就是说“难道我要所有东西都要自研才能叫自主研发吗?是不是别人用了英文字母我也用英文字母就是抄袭?”,这种说法在所有抄袭行为当中可以说都适用,我可以抄一篇完整的文章换个标题,要是有人说我抄袭,我就说“是不是别人用汉字我也用就是抄袭?“。但是显然别人说我抄袭不是因为我用了汉字,也不是因为哪个成语。就鸿蒙而言,没人会因为你用了已有的开发语言或者数据库这些东西而说你是抄袭,但是操作系统本身的一套完整架构,不应该拿别人的。

孔子世家 发表于 2019-9-9 22:08:35

从软件工程角度来说,安卓运行时是运行在Linux内核用户空间的应用程序,而安卓软件包是运行在安卓运行时用户空间的应用程序,关系类似于俄罗斯套娃(Linux中套入了安卓运行时,然后安卓运行时里面再套入安卓APP)。
不过,在套娃的里层不变的情况下,外层是可以换的,只要找到大小合适的即可。操作系统也一样,把安卓运行时换成与安卓兼容的运行时(比如黑莓曾经实现过的运行时),安卓应用依然可以运行,只是运行速度可能有变化罢了。
此外,还可以用一个大盒子把几个不同的套娃装在一起。对于软件工程来说,就是在同一系统内实现多套不同的软件运行时,这样就可以运行来自不同系统的软件了。目前最著名的例子,就是在Windows中可以运行Linux原生软件的WSL了(Windows Subsystem of Linux,适用于Windows的Linux子系统。备注:这里说的是WSL1,不是WSL2。WSL2使用虚拟机运行原生Linux内核)。不过Windows显然不是Linux,并且WSL甚至没有使用Linux的代码,微软开发人员只是在NT内核里实现了与Linux系统调用兼容的子系统而已。
所以,一个兼容安卓应用的系统不见得是安卓系统。
不过用于荣耀智慧屏的鸿蒙1.0系统,情况可能有所不同。华为的PPT中说鸿蒙目前的架构是这样的:
这个“当前”的架构图看起来很像是一种妥协,类似于自己刚开发了一个内核,但用户空间运行时还没有开发完成,于是就把其他系统的用户空间运行时拿过来用。华为发布的鸿蒙路线图也印证了这一点:
鸿蒙OS 1.0:基于开源框架,关键模块自研。
鸿蒙OS 2.0:内核及应用框架自研。
根据这个路线图,鸿蒙操作系统到2.0才算真正完成,系统底层完全由鸿蒙微内核及其外核服务接管。而在此之前,在应用于荣耀智慧屏的鸿蒙1.0系统中,安卓成分占比较高是非常有可能的。当然了,如果安卓运行时占比为100%,没有其他运行时,或者虽然有其他运行时,但是系统基础服务(比如视频播放、应用商店等)是安卓APP,则可以说鸿蒙1.0是安卓修改版。
如果上述假设不成立(比如视频播放和应用商店等系统自带应用不使用安卓运行时),则鸿蒙1.0不是安卓修改版。
————————————
顺便一提,鸿蒙OS 1.0的情况非常类似于当年的GNU/Linux操作系统。
GNU工程官方网站的《Linux和GNU系统》一文中有这样的描述:
程序员一般知道Linux是一个内核。但是他们一般也听到整个系统叫“Linux”,他们通常会设想的历史是整个系统要以内核命名。例如,许多人相信一旦Linus Torvalds完成了Linux内核,其用户就试着找一些自由软件来和内核一起工作,此时他们发现(不知道为什么)构成一个类似Unix系统的大多数必要组件已经有了。

他们的发现不是巧合——它正是还没有全部完成的GNU系统。这些已经完成的自由软件加在一起就构成了完整的系统,因为GNU工程从1984年起就在做这件事。在GNU宣言中,我们已经阐明了开发一个自由的类似Unix的系统的目标,它叫做GNU。GNU工程的初始声明也勾画了GNU系统的一些原始计划。在Linux开始时,GNU几乎已经完成。

到了90年代初期,我们曾经把除了内核以外的东西放到一起组成了一个系统。我们也在开始开发一个内核,称为GNU Hurd,运行在Mach1之上。开发这个内核比我们的预期要难得多;GNU Hurd在2001年开始可以稳定工作,但是距离能够被人们正常使用还有很长的路要走。

庆幸的是,我们不必再等Hurd了,因为有了Linux。当Linus Torvalds在1992年使Linux成了自由软件,它填补了GNU系统的一个重要空白。人们可以把Linux和GNU系统结合起来组成一个完整的自由系统——一个带有Linux的GNU系统。换句话说,就是GNU/Linux系统。简单的描述一下这段往事:最开始,GNU工程的开发者们想打造一个完整的新操作系统,于是他们开发了编译器、运行时库,以及一些应用程序。但是,他们在开发自己的内核时遇到了困难。
与此同时,林纳斯·托瓦兹和其他一群人开发了Linux内核,但是他们缺乏用户空间运行时库、编译器和很多必要的应用程序。
于是两边的人互相发现了对方的工作成果(或者一边先发现,这不重要),把两者一组合——“简直完美”。于是,目前我们在桌面/服务器领域见到的Linux系统,就这样诞生了。不过准确的来说,它应该被称为“GNU/Linux系统”,因为它是由Linux内核与GNU运行时组合在一起形成的完整操作系统,缺一不可。
顺便一提,虽然使用Linux内核,但安卓运行时不含任何GNU成分,安卓(由于许可问题而故意)使用Bionic库为应用程序暴露Linux系统调用,而不是GNU/Linux中使用的glibc。并且安卓中也没有任何GUN项目开发的应用程序(常见的Linux命令要么被谷歌重写,要么被其他开源项目如busybox/toolbox替换)。所以安卓不是“GNU/Linux系统”,而是“安卓/Linux系统”,即由Linux内核与安卓运行时组成的操作系统。
至于鸿蒙1.0的情况,目前还不得而知。不过从华为目前给出的信息来看,他们使用了鸿蒙微内核,也使用了Linux内核,并且使用了“开源框架”。而且根据鸿蒙包含ADB功能的截图来看,鸿蒙应该支持运行安卓应用,所以应该包含安卓运行时(或者其兼容版本)。要怎么把这几部分像俄罗斯套娃一样组装起来呢?我们可以做出以下两种假设:
系统底层运行Linux内核,其上运行安卓运行时(或者其兼容版本),然后运行安卓应用。鸿蒙微内核并未直接参与APP运行,而是做为可信执行环境的操作系统存在(用于支付安全模块等)。系统底层运行鸿蒙微内核,其上运行Linux内核,然后在Linux内核里面再运行安卓运行时(或者其兼容版本),其中可以运行安卓APP。与此同时,系统中可能还存在另一组运行时,用于运行鸿蒙原生APP。
不过仔细思考一下,假设1与华为手机上现在运行着的EMUI没有任何区别(华为表示他们在手机的可信执行环境中使用了鸿蒙微内核,用于指纹验证模块)。那么华为为什么还要把现在发布的系统叫做“鸿蒙OS”,而不是直接称其为“EMUI TV版”呢?
至于假设2,从技术上来说是完全可行的。在不使用虚拟化的情况下,在另一个操作系统内核之上运行Linux内核的技术早已有之,并且有多种方案(可以搜索“User Mode Linux”、“CoLinux”、“AndLinux”等)。这里要特别提一下CoLinux,这是一个非常有趣的技术,它可以在Windows中运行经过修改的Linux内核,并且不需要虚拟化。两个操作系统实际上都运行在CPU的特权级别,拥有各自不同的内核空间,并且都有能力直接控制硬件(不过由于硬件通常没有设计为供两个操作系统交替控制,所以CoLinux通常使用虚拟硬件)。
当然,华为也有可能使用了我没想到的其他方案。他们具体采用了什么方案,只能等荣耀智慧屏到货之后再由各位探索了。
参考链接:
User-mode Linux (简体中文)

https://zh.m.wikipedia.org/wiki/Cooperative_Linux

andlinux_百度百科

铁笔居士 发表于 2019-9-9 22:09:15

那要说怎么看待俄罗斯套娃了

铁笔居士 发表于 2019-9-9 22:09:25

[前面补充一点]
早在2018年,华为就宣称内部开发了一款“麒麟OS”操作系统。并且表示“谷歌不给用了,立马就可以换”!
后在今年三四月份月份,麒麟OS不再宣传,转而宣传鸿蒙OS。
其中具体原因,可能是“麒麟”作为操作系统名字,给人感觉像是骗人的。
因为市场上,确实存在着一个麒麟操作系统,不过是桌面版的。
最开始,麒麟操作系统是这么宣传的:
怎么样,很高大上是不是,后来被牛人扒出抄袭开源代码。
————————
别说现在这个鸿蒙了,就连EMUI,华为都不愿意承认是基于安卓开发的。
被发现之前
被发现之后
华为高贵的基因中,天生就对美帝安卓带有深深的鄙夷。
中华有为,下次我一定支持!

孔子世家 发表于 2019-9-9 22:09:58

嘿嘿嘿,这个问题最鸡贼的地方就在于:只要华为一天不放出来鸿蒙源码,你就一天不能说华为的鸿蒙OS是安卓套娃或者支持鸿蒙是个独立自主的操作系统。
      现阶段最好的解决方法就是找一台『智慧屏』,然后找到调试接口(比如adb,ssh,telnet,再不行拆了找ttl,jtag接口总有吧),然后dd(如果有)拷出整个rootfs再分析各个组件,看看除了安卓的runtime还有没有别的就行了。
         如果能设法去掉安卓的runtime这个系统还有能够独立使用的可能,比如鸿蒙说的天生流畅的图形界面,(只有个linux的shell当然是不算的,不过也有可能鸿蒙OS根本不屑于使用国内外开发者共同维护的linux内核。)那样的话鸿蒙就是真的存在。否则,谁知道呢。
         但是目前来看,好像拿到真机的那些科技媒体好像没有人宣称拿到了鸿蒙的rootfs放出来让大家康一康,更别提谁拿qemu跑起来试试看了。具体为啥呢,可能华为早有准备,没有留下任何调试接口,就连板子上的debug接口也全都封死了吧。
      防的就是你!我华为的鸿蒙OS当然要保护好啦,怎么能还没开源就被人偷了去。那可是泄露机密啊!你看隔壁微软保护措施做的就不行,公开api,文档都放到官网上去了,都泄露了吧!华为想的可谓是非常周到,正赶上开学季,产品销量又提升一大波了!爽到!

孔子世家 发表于 2019-9-9 22:10:15

2019年8月31日
方舟编译器官网地址
OpenArkCompiler方舟编译器源码地址
https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler/home
2019年8月30日更新
已确认华为官方发出消息,方舟编译器开源准备就绪,8月31日开源,届时欢迎大家做技术探讨。
===========以下为原答案===========
利益相关:Android开发工程师(上层应用APP开发小白)
歪个楼,首先说下结论:我个人认为,不是,建议各位安心等待源码开源。
首先没有任何实物或者材料证明鸿蒙系统就是改版安卓,所有的回答都是臆想及猜测。
目前大部分结论依据是出现了一个adb,我工作中经常使用adb,这没有什么大不了的,不能说明任何问题,拿yunOS做对比也不是正解,因为两者架构完全不一样,很多人多半没有自己研究过系统,有部分引入android的库不能否定整个系统,当然最后还要看产品出来。
一个产品的战略安排当然还是听厂家自己的设计安排,做出一个完全自己的生态没有建立应用圈,你会用吗?何况华为已经说了前期要兼容android,保证生态,这个战略做法完全没有问题啊。
目前贸易战下很多中国的公司被制裁,目前能和美国叫板,和谷歌叫板的只有华为,华为虽然也只是众多公司里的一员,但是正面刚至少给中国在谈判桌上增加了底气。在国家大难当前华为没有必要也没有理由搞个噱头,作为一个面向全球的公司自然知道自己应该怎么做,他们自然有他们的战略,这里面有多少东西还没有拿出来都不一定,大环境下我相信华为肯定留有后手,这个时间难道不是应该大力支持华为的吗?
而且,如果真的就是把Android包了层壳然后说是自主研发,以谷歌的一贯做法及OHA协议,大概率会阻拦鸿蒙商用计划,或者在寻找专利漏洞告华为侵权,现在谷歌都没说话呢我们自己人反而坐不住了。
现在回答中指责华为的估计用不了多久就会被打脸了,在一切没有出现结果前,我觉得在应该有的态度是静守以待,贸易战的立场上支持华为,在国内用户的立场上监督华为把产品做的更好。

赤月 发表于 2019-9-9 22:10:31

落后就要挨打,总想着挨打了就能跑第一。殊不知就是打死了,也跑不过博尔特!无他,体质不说,规则环境都变了,鸿蒙无非刻舟求剑而已……

赤月 发表于 2019-9-9 22:10:59

看了一下,所有鸿蒙相关的帖子里,能正八经的写分析的,基本都是相关开发人员,观点基本一致认为PPT系统,营销发布会。
所有看好鸿蒙的,基本都是非开发相关人员,都是认为华为的东西一定好,有背景,一定成。

赤月 发表于 2019-9-9 22:11:58

发现好多回答都是说“鸿蒙绝不是安卓套壳,我拿自己和全家的信誉担保。”然后把华为在“开发者大会”上的ppt再重复一遍。
那你开源啊。
说github是美帝的势力范围,把源码放上去会泄密,危害国家安全。
???
那把源码放到国内这些开源社区吧,比如开源中国。
说瞧不起国内这些开源平台,害怕出些莫名其妙的问题拖累华为,耽误鸿蒙的进展,误国误民你付得起这个责任吗?
要等华为建好自己的开源社区再放源码....
哦,在这里等着呢。那建开源社区十天也是它十年也是它啊,最后是不是可以拿国内开发者素质和水平差一盘散沙劣根性没意思为借口呢?
你一个“开发者大会”什么都没有,再加上华为一直以来的的性格和海军的反应,已经可以确定鸿蒙就是安卓套壳了,甚至更糟。
YUnos以前是个笑话,现在来看最起码看得见摸得着,黑吹也得有目标啊。
你一个ppt说白了真不要脸起来就是无敌的。
真是越来越没下限了啊...

孔子世家 发表于 2019-9-9 22:12:22

其实啊。最怕的是啥。当谷歌的某个后门直接锁了国产手机。。鸿蒙同时扑街,就麻烦了。那时候怕不是任正非要切腹了

孔子世家 发表于 2019-9-9 22:13:20

随便海军怎么吹,反正我不买华为的东西,中国又不是只有华为一个品牌。

铁笔居士 发表于 2019-9-9 22:14:03

有人说鸿蒙是微内核,和Android用的Linux不是一个类型。
用微内核概念也不能说明它不是Android的翻版,现代操作系统除了内核还有有界面显示,这就是视窗系统和以前的命令行系统的区别。用微内核概念就是试图混淆视听。
有人说使用Android 虚拟机的方式可以达到兼容Android,拿Windows下运行Linux虚拟机举例。
第一点就是Windows下运行Linux虚拟机 是桌面操作系统,鸿蒙OS是目标在智能设备操作系统,是用到电视,手机,手表等。谈论的前提都是在智能设备上,请问手机版Windows现在能运行Linux虚拟机吗?所以拿这个举例的就是试图混淆视听,按这么个道理的话,Windows手机也可以通过虚拟机兼容Android,同时还可以使用自己原生的Windows手机应用,这样可以给用户更多的兼容,Windows如果这样做,只会手机销量更好,为什么Windows不做?Windows比较傻?反想一下就知道 拿虚拟机来说明鸿蒙不是Android翻版的人是为了混淆视听。
第二点,就是单说这个例子,Windows运行Linux虚拟机的时候,你使用虚拟机的Linux时 你是不是正在使用Linux操作系统?你当时的使用体验不是使用Windows吧,对吧?你不是Windows下仅仅兼容Linux的应用,对吧,你是在虚拟机里,整个Linux系统都运行起来了,对比?那么假设鸿蒙是通过Android虚拟机来兼容Android应用,那么运行Android虚拟机时,它就是Android系统。那么鸿蒙有没有不运行Android虚拟机的时候呢?答案是没有,而且只要在Android虚拟机运行时,它采用界面,才有视窗,那么它不就是Android的翻版吗? 那些拿这种例子说明它不是Android的,就是混淆视听,企图蒙骗,只要深入分析就看到了本质。
看一下这个Youtube上的视频分析 https://youtu.be/EFdEFBXpAtQ

赤月 发表于 2019-9-9 22:14:30

何止是改版,简直就是直接安卓。想当年阿里云OS骗人的时候,好歹还把这些常用命令、文件扩展名什么的都改了改,要不是有人深入研究还发现不了。结果现在9102年了,骗人的反而越发不讲究了,连个命令名都不改就敢拿出来骗了,是欺负爱国青年智商都不高吗?王坚要看到了估计要羡慕嫉妒到死啊。

铁笔居士 发表于 2019-9-9 22:14:55

大概率是FuchsiaOS的底层+Android的上层,重组一下,这样既满足了微内核的表达,也满足了adb的尴尬而且其实华为很早就参与过Fuchsia的内测

铁笔居士 发表于 2019-9-9 22:15:29

作为一个什么都不懂得普通消费者…别老听风就是雨…

孔子世家 发表于 2019-9-9 22:15:39

现在的安卓手机里面也有一个微核心的操作系统。
鸿蒙1.0和emui10(可能还有以前的好几代emui,ARMV8a以后安卓就可以这样跑了,有好几年了)是替代的这个深绿的部分。大量改写了灰色的部分(emui版本越新,改的越多)
命名为鸿蒙1.0是8月份开发者大会以后的事情。
鸿蒙2.0理论上就不应该有灰色中间的部分了。那个时候以后就和安卓没有啥关系了。


孔子世家 发表于 2019-9-9 22:16:27

不请自来,怒答一发。
没开源代码之前,所有讨论行为都是耍流氓。是与不是,开源之后明者自辨。
华为放出代码之前提这个问题就是来引战的,不知题主是何居心。
至于我的推测…专业知识不够,咱也不敢说,咱也不敢问。
既然提这个问题就是来引战的,我也就仅在此表达个人看法,不同意的麻烦切下条谢谢,举报拉黑什么的我无所谓,如有意见还请理性交流。

铁笔居士 发表于 2019-9-9 22:16:41

我猜测是华为自研的安卓虚拟机(运行时),类似Dalvik模式、ART模式、华为模式的虚拟机(运行时),而底层应该还是Linux。

铁笔居士 发表于 2019-9-9 22:17:33

要爱国

赤月 发表于 2019-9-9 22:18:12

安卓是否就是改版linux?
有些友善度是不是有病?
难道做个新玩意就一定一样老东西都不能要?
多花钱多花精力就为了友善度嘴里一句牛逼?
牛逼完了你买吗?(我估计这句牛逼还换不来。)
估计还是不买的。
页: [1]
查看完整版本: 鸿蒙系统是否就是改版安卓?