黑科技?纯血鸿蒙OS又可以运行Android应用了!

打印 上一主题 下一主题

主题 1025|帖子 1025|积分 3075


背景

纯血鸿蒙OS Next系统最近出现了两款热门应用:出境易、卓易通,其功能是:让你在出境后可以方便安装到各种Android应用


发生了什么?

「出境易」这款应用可以在纯血鸿蒙OS NEXT里直接安装&运行Android应用!
   纯血鸿蒙官方声称:「不支持运行Android应用」!
  于是:


  • 很多正在积极开发、兼容纯血鸿蒙应用的开发者都在议论:是不是可以停鸿蒙开发、继续写回Android了?
  • 也有很多粉丝后台私信Carson,问:目前继续学鸿蒙开发到底还有没意义



本文意图

今天Carson来带大家扒扒「出境易」、「卓易通」到底是怎么能在纯血鸿蒙OS NEXT里运行Android应用的。具体包括:「出境易」、「卓易通」这两款Android应用

  • 在纯血鸿蒙系统里运行的底层支持是什么?
  • 在纯血鸿蒙系统里的运行环境是什么?
  • 「出境易」、「卓易通」本质是什么?
  • 在「出境易」、「卓易通」上的Android应用性能、体验如何?

题目1:在纯血鸿蒙系统里运行的底层支持是什么?



  • 无论黑科技有多 “黑”,总需要底层给与相关支持才有运行的可能。
  • 在初次安装「出境易」、「卓易通」时需下载一个环境,抓包&解包可得到:

此中最为关键的文件:anco_hmos.img,从字面表明来看:


  • anco:AndroidCompatible = 安卓兼容
  • hmos:HarmonyOS = 鸿蒙OS系统
  • 整体看,即**「鸿蒙OS系统里的安卓兼容」**
实际上,这其实是一个安卓镜像文件,是一个嵌入到鸿蒙OS系统层面的安卓运行环境(类似假造机的作用,但实际不是假造机)。
   其实是类似wsl技术,即Windows Subsystem for Linux = Windows的Linux子系统,能让开发者在Windows操作系统中直接运行Linux环境,而无需任何假造机。
  所以,要在纯血鸿蒙OS 上安装「出境易」、「卓易通」不仅需要下载很大的安卓镜像资源包,还需要重启系统,因为「出境易」和 「卓易通」是单独的“运行环境”。
值得一提的是:


  • 因为本身鸿蒙OS内核就兼容了Linux ABI(应用程序二进制接口),即鸿蒙OS内核本身就可以运举动Linux设计的应用。
  • 所以,固然这是一个安卓镜像,但这个属于鸿蒙的安卓镜像并没有包罗Linux 内核,只是包罗运行时(Runtime)部分。 以下是鸿蒙内核架构图:


题目2:在纯血鸿蒙系统里的运行环境是什么?

那么,这类Android应用到底是运行在什么环境上的呢?打开「出境易」内的app后,通过实行shell ps -ef会出现以下进程:



  • 即其运行环境是:通过lxc-start下令启动了一个基于iSulad的容器的进程。
  • iSulad 是华为自研的容器引擎,是一个非常通用的容器引擎,具有轻、快、 易、灵的特点。以下是其架构图:
   iSulad官网先容:https://www.openeuler.org/zh/other/projects/isula/
  


题目3:「出境易」、「卓易通」本质是什么?


二者的功能都是:让你在出境后可以方便安装到各种app。听起来是不是有点类似国内的应用商店


  • 实际上,二者在鸿蒙next商店下载的是一层壳,负责与纯血鸿蒙OS举行权限交互(图片、文件IO等)
  • 本体也是Android应用的apk,即出境易.apk、卓易通.apk。拿出来也是可以在Android手机上安装的。(如下图)

除此以外,「出境易」还含有一个「文件共享.apk」、「卓易通」还有一个「搜应用.apk」、「文件共享.apk」。

这里值得一提的是,两个“应用商店”可搜到的应用原理不同:


  • 出境易:白名单方式,即只有与其合作的Android应用可以安装;
  • 卓易通:黑名单方式,即只有纯血鸿蒙OS上架的应用不可以安装;
下面附上视频:纯血鸿蒙OS 「出境易」、「卓易通」安装Android应用实机演示
   https://www.bilibili.com/video/BV1Q96NYkEU2/?vd_source=05435c3bb0f69bd701d1b86899ff88f0
  
性能如何?

既然能跑了,那么用户体验如何呢?网友们已经开始跑分了:


  • 测试环境:麒麟9000s;
  • 结论:单焦点正常跑分1000,目前「出境易」是930分左右,效率是93%;



  • 分析:上面提到其底层支持是类似wsl的技术,同时运行环境是采用华为自研的iSulad 容器引擎的方式,并非所谓的假造机环境。这种嵌入方式可以使得安卓应用可以或许在鸿蒙系统上运行,但又不会占用过多的资源或影响系统的稳定性
  • 结合业界常见容器水平93%左右,华为的iSulad容器到达了业界水平,可理解为:GPU性能几乎无损。
但是对于内存使用就不太友好了,容器本身内存占用极大,基本一个容器进程就是8GB,随便开两个应用12GB就没了。

同时结合网上使用的评价:手机容易发烫(功耗高)、应用Bug较多等等,可以总结为:以这种方式在纯血鸿蒙OS上运行的Android应用 「能用」,但是「不好用」,与原生体验照旧存在很大差距

结论



  • 技术角度 分析:基于anco_hmos,采用类似wsl的方式同时结合iSulad容器引擎,使得在纯血鸿蒙OS上运行Android应用成为了板上钉钉的实际
  • 性能角度 实践:在CPU性能可认为几乎无损的环境下,内存跟功耗题目短时间内照旧无法解决;
  • 用户体验 观察:应用Bug较多,结合性能内存题目,目前暂时仅处于一个**「能用」**的状态。
基于上述分析 & 题目表现,在纯血鸿蒙OS上运行Android应用在国内大范围使用短时间内几乎不可能,更多的是在一些小众、边缘、实验探索的场景,比如一些使用频率较低的小众app、实验出海境外的场景(如本文提到的「出境易」等)
末了

如何对待这次在纯血鸿蒙OS上运行Android应用的事件呢?评论区留言你的看法!
参考文章:


  • https://www.bilibili.com/video/BV1Q96NYkEU2/?vd_source=05435c3bb0f69bd701d1b86899ff88f0
  • https://zhuanlan.zhihu.com/p/10576812652
  • https://cn.club.vmall.com/mhw/consumer/cn/community/mhwnews/article/id_1000000000002180550/

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊雷无声

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表