华为是如何做到让鸿蒙支持apk的安装运行

华为是如何做到让<a href='/tag/harmony.html'>鸿蒙</a>支持apk的安装运行

昨日,在华为的开发者大会上,鸿蒙2.0发布了,并于明年全面替代andriod,其中的一个亮点就是鸿蒙系统支持andriod的app安装文件apk的安装与运行,也就是说鸿蒙系统可以运行安卓的应用,那么太好了,andriod这么多的app资源,如果直接安装到鸿蒙系统,省了不少事,华为在自己的生态圈还没有完全成熟之前,利用这一特性,可以很好的进行过渡。

今天我们来从技术角度来分析一下鸿蒙系统是如何做到支持andriod app的安装与运行的。

我们大胆猜测一下可能有两种技术被应用在鸿蒙系统上:

一、虚拟机技术


虚拟机技术大家应该都很熟悉了,在一个操作系统上虚拟其他的操作系统,例如:virtualbox,国内的夜神安卓模拟器等等,都是采用虚拟技术。

华为是如何做到让<a href='/tag/harmony.html'>鸿蒙</a>支持apk的安装运行

我们分析一下andriod操作系统架构可以发现,andriod操作系统的底层是linux,如下图:

华为是如何做到让<a href='/tag/harmony.html'>鸿蒙</a>支持apk的安装运行

在linux的基础上创建了一个虚拟机,用来运行开发者开发的app应用程序,那么如果鸿蒙系统内部支持andriod虚拟机,那么是不是就可以运行andriod应用呢?当然可以,虚拟技术现在这么成熟了,鸿蒙系统内置一个Android的虚拟机,对于华为来说已经不是什么难事了。

二、apk转换

那么如果鸿蒙系统支持andriod虚拟技术,会不是app运行很卡呢,大家都知道苹果ios的app操作比安卓要流畅,因为ios是app编译成机器码直接运行,而安卓由于采用虚拟技术,还有进行动态转换,所以性能和操作体验略差,那么鸿蒙系统内置andriod虚拟机后,运行andriod应用的体验估计跟Android差不多,这样用户还是不会买单的。


所以华为可能采用另外一种技术,就是将apk转换成鸿蒙原生app安装文件,这个技术可以使安卓的apk安装文件通过转换程序转成鸿蒙的app安装文件,这样就达到原生的性能体验了。


其实早在2015年,微软宣布开发者将很快可以使用他们的Android应用代码移植到Win10 for Phones平台上。也就是微软将apk文件直接转成exe文件在windows平台直接运行了,那么我相信华为应该已经掌握了这项转换技术,将apk中涉及到谷歌服务的代码替换成华为服务重新用华为的打包软件进行打包生成鸿蒙的app安装文件。
华为是如何做到让<a href='/tag/harmony.html'>鸿蒙</a>支持apk的安装运行

好了,今天我们就大胆的猜测了一下鸿蒙系统运行andriod应用的两种技术原理,有什么不同观点请大家留言评论一起讨论。

{{collectdata}}

网友评论0