什么叫分布式?
鸿蒙系统流转功能 https://www.zhihu.com/video/1322596271484239872
和朋友聊了会,鸿蒙手机OS其实也就是EMUI11的平滑过渡,基本的操作逻辑和风格不变,整体上鸿蒙是一个万物互联的系统,它的所有app或者功能会在不同类型的设备之间流转
这是华为想让你看到的
追更一下,保姆级鸿蒙学习分享
https://www.harmonyos.com/cn/home/ (二维码自动识别)
张荣超
李宁
李传钊
跟新一下,鸿蒙系统推送了
已经可以刷机了
可以关注b战账号蒙娜丽宁
这个肯定关心中。
只要是正常人,都觉得是好事
必有ui=os
必有哄蒙
必有技术大牛出来指点千亿营销的公司
我真心希望,知乎出一个屏蔽匿名答案和匿名评论的功能。
你看看,那些阴阳怪气的,有几个不是匿名的?
8:25分更新:
这个答案写的基本很完整了,我觉得我没有必要再继续往下写了。。。
如果我对答案的理解没有错,现在的鸿蒙OS的所有功能都是通过APK实现的,比如桌面APP,应用商店APP。
原生软件hap的运行方式大约是通过包内一个APK把自己的资源转接到安卓的运行环境中。
(但是这个APK并不是我们传统意义上的APK,你提取出来它也用不了)
hap → apk → 一个包含了鸿蒙独有内容的art
到这个程度到底能不能证明是安卓或者不是安卓?严谨的讲,依旧既不能说是,也不能说不是。具体还需要了解渲染方式等一大批我不懂的东西才能确定,交给更专业的人来解答吧!
6:00分更新:
总结几个答案中常见的错误,给大家避雷。
1.一个系统兼容安卓,那它是不是安卓呢?
不一定。要看是用什么方式兼容的。目前我知道的至少有两种方法,一种是黑莓 BB10的兼容方式,运行一个安卓虚拟机,然后把接口API和黑莓自身的API进行连接,实现兼容;另一种是CrossOver的容器模式,不运行完整的虚拟机,只保留相关文件,然后把原应用的接口通过兼容层转换到新系统的接口。这两种兼容方式都只是兼容其他系统应用,自身还是自身。
2.如果AIDA64或者浏览器UA显示是安卓,是不是就一定是安卓呢?
不一定。从1中可知,如果AIDA64运行在黑莓BB10安卓虚拟机中,它应该获取的版本是安卓4.3。至于浏览器UA,Chrome一行代码的事,UC也有对应的设置位置。
3.解压鸿蒙系统原生软件安装包,形似apk结构,所以鸿蒙原生软件就是apk?
不一定。KaiOS的原生软件安装包,甚至远古时期Symbian 40的jar包,解压后和安卓软件有极大的相似之处。
4.UI一致,所以鸿蒙就是EMUI
不一定。写过QT的人都知道,一套QT的UI,功能层可以拿各种语言写。同理,安卓的UI实现和底层是基本分开的,真就是略微改一改就能用。
以上所有的点,都不能作为鸿蒙是安卓和不是安卓的依据。
以上内容,如有错误,可以在评论区中指正,我随时修改。在其他答案中我看到的各种雷,我也会尽可能带大家避一下。
就我个人,我更希望鸿蒙兼容安卓的方式是黑莓BB10的方式。但目前鸿蒙最大的问题是,没有自己原生的桌面,也没有自己原生的应用商店。这很不符合朴素的开发流程,至少我觉得如果我是开发经理,这两个我一定会先做。做了这两个,就算是假的,就接着忽悠也能忽悠住一堆人。
5:15分更新:
目前已经知道的第一个问题:system/app下有hwlauncher6.apk,只有两种解释:
一种是时间太紧了,或者其他原因,总之原生的桌面软件没做出来,只能拿兼容的安卓apk应付一下;
另一种就是鸿蒙目前还没有足够能实现桌面的能力(那可就太水了)。
这个还得等更深入的研究结果出来。
捞一个神奇的回答,给大家看看,来这里阴阳怪气的人都是个什么水平。我觉得说他是专科计算机专业毕业的,都侮辱专科。
虽然知道没有几个人会看到我的回答,就算让某些人看到了,也无济于事。
你是开发者吗?
如果是 那请您去参加一下具体活动,回来告诉我们真实情况。
如果不是 请!收起一些过分主观且并不一定专业的评论,我们一个普通网民,对着千亿级别的公司评头论足,对着那个公司的众多工程师的产品评头论足,可我们既不是参与者,也不是体验者,更不是开发者,不可笑吗?
“不加分辨地否定昨天,鄙薄今天,怀疑明天,结果只能陷入历史的虚无:昨天一无所有,今天一无是处,明天一无建树”
摘自《人民日报》
http:// opinion.people.com.cn/n /2013/0523/c1003-21580606.html
作为一个业余app开发者,曾经开发过几个安卓App(原生、uniapp、flutter都有),也研究过React Native,今天刚得知华为的鸿蒙2.0beta的开发工具释出了,就尝试了一下。
鸿蒙的IDE(集成开发环境)DevEco Studio是基于IntellJ IDEA开发的,这是一款非常优秀的IDE了有着非常优秀的代码提示功能,而安卓的IDE --Android Studio也是基于IntellJ IDEA开发的,这俩IDE算是同源了,所以操作逻辑上对于安卓开发者非常熟悉。
不过这个IDE其实在电视版鸿蒙释出的时候就发布了,现在终于能用它来开发手机应用了。
开发应用可以使用Java、Javascript、C。对于安卓开发者来说,鸿蒙的项目结构和安卓十分类似。使用C编程也类似于安卓的NDK,但是提供了很多特色的API。而使用Javascript开发则和微信、支付宝、QQ小程序类似,如果开发过小程序,只需要短暂学习便能掌握鸿蒙应用的开发。但是鸿蒙有很多安卓没有的特色功能比如计算机视觉、二维码扫描都被直接封装成了系统内置的接口,可以减少第三方SDK的使用、加快开发速度。Java、Javascript的支持极大降低了开发者门槛,只要经过短暂的了解,小程序和安卓开发者就能直接上手鸿蒙开发、可以说是十分有诱惑力的。
但是对于Java的支持和安卓如此像,也不免让人怀疑是否是安卓的套壳。我也带着这个疑问继续研究下去。
我根据官方提供的文档和模板编译了一个使用Java开发的App,并成功运行了起来
不过比较有意思的是,不同于安卓开发,可能是因为相关工具还没做完。App并不是运行在本地虚拟机的,而是一个远程设备。很可能我写的App是真正的运行在一台支持鸿蒙的设备上或是远程虚拟机上。打开远程设备的关于手机:
设备名为P40,不过不清楚这是位于服务器的P40虚拟机还是一台和P40同硬件环境的真机。
查看IDE的输出,我可以看到App打包后被放在了项目目录的entry/build/outputs/hap/debug/entry-debug-unsigned.hap下,按照传统打包惯例,我将文件后缀名改为zip,成功打开,里面有几个文件
第一个文件夹叫assets,从名字上看是资源文件,里面的内容也确实如此
第二个是一个apk,我解压后尝试在普通的安卓手机上安装,发现能够成功安装,但是启动会立即闪退。这个东西到底是干什么的呢,使用jadx(一款用来主要反编译安卓App的软件)打开APK,发现这个apk里确实蛮空的
看代码应该是用来启动应用的入口,但是暂时还不能确定。不过经过对远程设备的研究发现,这款远程设备会在我的本地创建一个支持adb的设备,我试了一下,发现能够直接使用adb调试这个设备。既然能够支持adb,我有个大胆的想法:开发者可以通过adb根据应用的包名将app打包回apk,那么我将一个鸿蒙App打包会有什么结果呢?如果打包成功并在其他手机上安装,岂不是说鸿蒙App就是安卓App?于是我尝试打包App
adb shell pm path com.example.harmonyproject1 adb pull xx/xxx.apk ./
第一条命令中com.example.harmonyproject1是我App的包名,在执行第一条命令后将会输出apk保存的目录, 接着使用第二条命令将打包的App拉取到我的电脑(xx/xxx.apk是第一条命令输出的目录)。打包成功输出了一个apk,但是看着这个apk我陷入了沉思,这东西太小了,明显不是一个App应该有的大小
不过这个大小和解压得到的entry_signed_entry.apk大小一样,这不会就是同一个东西吧?于是我对比了一下两者的hash值
可以看到MD5、SHA1、SHA256的哈希值完全一样 可以确定是一个东西了。也就是说这个apk,应该是类似于安卓系统中启动鸿蒙App的入口。不能说有这个APK就是安卓套壳了。
第三个是config.json,从名字上看是一个配置文件,打开后查看,发现记录了诸如包名、App图标之类的配置。
第四个是classes.dex,安卓开发者们肯定知道,dex文件是安卓的Java虚拟机--ART的字节码文件,每一个安卓应用的逻辑代码都会被打包为一个或多个dex文件,在App启动时被加载进虚拟机。我使用jadx打开这个dex
打开后可以看到熟悉的代码了,上面的是DEX文件反编译的内容,下面是App真正的源码
几乎一模一样 ,看样子真相大白了:
鸿蒙的HAP文件中的entry_signed_entry.apk,是安卓系统中的一个App,在目前的鸿蒙2.0中,安装一个鸿蒙应用会同时安装这个APK,我们在桌面上点击App图标,会经过安卓系统启动entry_signed_entry这个app,这个App启动后会通过某种方式让操作系统运行真正的App代码,也就是HAP文件中的DEX文件。
但是这时一个问题出现了,某种意义上说DEX文件是安卓的Java运行时--ART的专属格式。那么这个DEX,是运行在ART中的,还是鸿蒙又自己实现了一个ART呢?这一点还很难知道,不过我认为ART经过多年发展,华为很难去在短时间内做出一个超越ART性能的Java虚拟机,程序的逻辑本身大概率还是运行在ART中,不过和大部分安卓App的启动方式不同。
// 后来华为在开发者社区承认了Java鸿蒙应用运行在完整的ART虚拟机上
但是即使这个DEX是运行在ART中,也不能说鸿蒙是安卓套壳,因为ART只是提供了一个运行时,并不实现系统调用比如UI渲染等、3D,我们可以在鸿蒙的文档看到鸿蒙在ohos包中提供了一些有关图像渲染的API,另外还有一些安卓没有的API,这也是鸿蒙的优点了。
通过分析,可以看到鸿蒙确实是做了很多东西的。但是很显然鸿蒙中还存在着很多对安卓本身的依赖而非为了兼容安卓必须做出保留的东西。鸿蒙才刚刚开始,离真正的成为一个独立的操作系统还有很远的路要走。
以前写过,鸿蒙是一个大名字。
一个TeeOS是鸿蒙1.0
LiteOS改是移动设备用的鸿蒙
安卓改才是手机用的鸿蒙
类似于,苹果把手表、手机、MAC的OS起名叫苹果OS,这个苹果OS就是鸿蒙
怎么命名是华为的权利,你怎么说安卓换皮,它也叫鸿蒙。
看到鸿蒙的热度,有点为阿里云可惜。
自作孽,不可活,本来阿里云OS是有点希望的。
阿里云也是兼容安卓应用,自己另外搞了个虚拟机。
只是,后来谷歌为了不让安卓分裂,压迫硬件厂商放弃阿里云,阿里云OS才慢慢没落了。
但是,华为与阿里不同,阿里是只有OS,没有硬件,阿里云OS要依靠硬件厂商去做,而硬件厂商为了不得罪谷歌,三心二意。
华为是自己产手机,自己销售的。实际上华为EMUI已经对安卓进行了修改。如今另起炉灶。搞一个不完全兼容安卓的鸿蒙造成安卓分裂,谷歌是没有什么办法的。
GMS谷歌已经禁止华为使用了,华为就是出一个兼容谷歌应用, 改造的自己应用不能上谷歌的操作系统,谷歌没有什么办法。
实际上,以前黑莓也兼容过谷歌的APP,未来微软也可能在Windows中运行安卓的APP,谷歌也不能怎么样。
所以,鸿蒙上手机不会有太大阻碍。华为的鸿蒙不会成为第二个阿里云。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有