当前位置: 首页 > article >正文

鸿蒙 Next 可兼容运行 Android App,还支持出海 GMS?

最近 「出境易」和 「卓易通」 应该算是鸿蒙和 Android 开发圈“突如其来”的热门话题,而 「出境易」可能更高频一些,主要也是 Next 5.0 被大家发现刚上架了一个名为「出境易」的应用,通过这个 App 用户可以直接运行不兼容 Next 的 Android App,并使用 GMS 支持

本文主要来自目前互联网资料整合。

「出境易」可以先简单理解为是“在鸿蒙 NEXT 里运行 Android App 的工具” ,同样 「卓易通」 也是,它们都类似通过”虚拟机“的形式来运行的安卓“子系统”,在性能还能接受的情况下,让 Android App 可以运行到 NEXT 上,另外 「出境易」 还通过 Micro G 来支持到 GMS 环境。

但是其实严格来说并不是虚拟机,而是容器。

当然,两者也存在一些区别,例如:

  • 「出境易」会包含了一个定制的 Micro G,所以理论上应该是包含 Google Play,但是 「出境易」会有类似“白名单”的机制,仅有合作的 APP 可以安装,会检查签名,所以只有部分特定的 Android App 可以通过它来安装并运行
  • 「卓易通」则使用黑名单方式,仅对鸿蒙 Next 上架的应用无法安装,也会检查签名

Micro G 可以理解为是给无法按照 GMS 的机器使用 GMS 的一种方式,例如在之前「非纯血」鸿蒙上,通过 Micro G + Aurora Store ,再配合“不知名开发者”的 hw 插件,就可以让「非纯血」鸿蒙直接使用 GMS:

当然,其实「出境易」和 「卓易通」两者其实场景可以搭配使用,例如使用卓易通可以访问 Google Play ,然后通过它来下载和安装其他应用,然后再使用 「出境易」的 GMS·····

所以理论上,在「出境易」的环境内,用户可以直接安装白名单上的软件,然后通过界面跳转打开工具,进入到附带的环境「卓易通」和文件管理,去解锁更多支持·····

而其实「出境易」和 「卓易通」本身就是一个 Android Apk,可以直接在安卓系统上运行,而在纯血 Next 上,安装「出境易」的过程中则需要下载较大的资源包,并且需要重启系统,而在运行之后,「出境易」和 「卓易通」属于“独立环境”,例如内部开启的代理软件无法运用到纯血的 Next App 上。

大概理解:「出境易」对应的是 Google Play,「卓易通」对应的是华为应用商店(或者国内应用商店)

在实现上,看网友们的测试,目前技术支持应该是华为自研的 iSulad 通用容器引擎,这个在早期就有大佬在鸿蒙 Next 底层发现了 iSulad 进程支持。

iSulad 支持多种容器 runtime,包括 lxc、runc 和 kata,例如大家熟知的 lxc (Linux Containers) 就是 C 语言编写的开源 runtime,属于资源占用少,适用于对底噪资源限制高的场景,是 iSulad 默认的 runtime。

iSulad 作为新的通用容器引擎,官方表示它具有轻、快、 易、灵的特点,这个和子弹蚂蚁"小个头、大能量"的形象不谋而合,所以选用了这个 logo

目从官方的资料看, iSulad 的特点如下:

  • 轻量语言:C/C++,Rust on the way

  • 北向接口:提供CRI接口,支持对接Kubernets;同时提供便捷使用的命令行

  • 南向接口:支持 OCI runtime 和镜像规范,支持平滑替换

  • 容器形态:支持系统容器、虚机容器等多种容器形态

  • 扩展能力:提供插件化架构,可根据用户需要开发定制化插件

而从目前看到资料猜测,这些 android 容器的镜像应该不包含独立 linux 环境,因为 hongmeng kernel 本身可以兼容linux abi,所以不需要独立内核:

image-20241204163104783

而配合 device info hw 可以知道容器对应安卓 12、API 31:

image-20241204163121947

对于容器性能,网友测试结论大概是:

  • CPU大概 8 - 9 成左右性能
  • GPU性能几乎无损
  • 有屏幕锁帧的情况
  • 内存占用较大,例如上来就是 8GB 初始化占用
  • 耗电量预估略大于正常

从目前结果上看,鸿蒙 NEXT 配合 「出境易」+ 「卓易通」,也是一种变相的双“系统”模式,这反而变相印证了早期的“谣言”:

总的来说,这是好事,至少让 鸿蒙 NEXT 多了新的可能性,而且目前看来效果也并不差,虽然肯定还有不少问题,但是至少它可用了不是么?

最后,「卓易通」其实属于用户卡 Bug 卡出来,而后还有人提取 App 的场景,目前来看应该没对外开发可用,虽然有「出境易」,但是明显限定了场景,所以“逃课”是不可取的,该适配还是要适配~

在这里插入图片描述

2024-12-08 补充

「卓易通」也正式上线了,搭配 「出境易」鸿蒙也算是补全了正式推广的最后一块拼图,不过在应用市场居然可以直接支持,这个做法确实有点过于「牛头人」了~

在这里插入图片描述

在这里插入图片描述

参考资料

https://www.zhihu.com/question/5771833354/answer/47159567135

https://zhuanlan.zhihu.com/p/10576812652

https://www.bilibili.com/video/BV1Q96NYkEU2/

https://cn.club.vmall.com/mhw/consumer/cn/community/mhwnews/article/id_1000000000002180550/


http://www.kler.cn/a/430224.html

相关文章:

  • “深入浅出”系列之QT:(6)如何在一个项目中调用另一个项目
  • 《零基础Go语言算法实战》【题目 1-14】字符串的替换
  • 使用ElasticSearch查询
  • 【Leetcode 热题 100】20. 有效的括号
  • 【Axios使用手册】如何使用axios向后端发送请求并进行数据交互
  • ECharts系列:echart中折线图折线设置不平滑显示
  • VLM-OCR-Demo:一个使用VLM用于OCR任务的示例
  • Java 设计模式~工厂模式
  • 工业—使用Flink处理Kafka中的数据_EnvironmentData2
  • 【爬虫】– 抓取原创力文档数据
  • Python 类的设计(以植物大战僵尸为例)
  • 3D Gaussian Splatting代码详解(一):模型训练、数据加载
  • 单片机 PCB 设计要点
  • 数据结构(Queue队列)
  • Linux:network:添加ip的时候自动添加一个本地路由
  • 针对一个系统的权限管理这样的业务场景,使用各设计模式解说
  • YOLOv8-ultralytics-8.2.103部分代码阅读笔记-augment.py
  • MQTT消息服务器mosquitto介绍及说明
  • zerotier实现内网穿透(访问内网服务器)
  • 得物新一代可观测性架构:海量数据下的存算分离设计与实践
  • 期末复习-Hadoop综合复习
  • 力扣--LCR 134.Pow(x,n)
  • K8S存储实战案例:NFS+StorageClass+PV/PVC+Deployment
  • CSS滑动门与粘性定位
  • 探索ai一键生成PPT的未来
  • LeetCode139. 单词拆分(2024冬季每日一题 29)