A
Air札记
Android 应用数以百万计,其中大量工具、老游戏和行业软件永远不会有人重写原生版本。与其逐个移植,不如把整个 Android 装进一台虚拟机——这是 AirAVM 的立项逻辑,也是 QEMU 引擎在鸿蒙上打开的新场景。
▍工程怎么做的
AirAVM 以 QEMU 的 aarch64 全系统模拟为引擎,采用 TCG 二进制翻译加 MTTCG 多线程,引导 LineageOS 镜像,在鸿蒙设备上交付一台可正常开机的 Android 虚拟机。设备侧全部采用 virtio 家族:虚拟 GPU、双盘存储、虚拟网卡与输入设备,固件走 EDK2 双单元,网络侧还打通了端口转发,可以连接调试通道。
▍架构上的取舍
工程沿用 Air 系列的 ArkTS 壳加原生核心双层结构。QEMU 引擎以单库形态随包分发,并提供 JIT 与解释执行两种形态,按设备权限条件自动取舍;镜像通道与引擎参数解耦,换镜像版本不动引擎,改引擎参数不碰镜像,维护面清晰。
▍打开的可能性
对用户而言,这意味着鸿蒙平板上可以运行那些只有 Android 版的应用:小众工具、行业客户端、不再更新的老软件。对生态而言,这是一条系统级的兼容路线:不依赖任何一方重新打包,直接把整个运行环境整体搬过来。
快照机制让这台虚拟机可以秒级恢复到保存过的状态。具体的使用指引,请关注论坛 apps 板块的后续帖。
▍工程怎么做的
AirAVM 以 QEMU 的 aarch64 全系统模拟为引擎,采用 TCG 二进制翻译加 MTTCG 多线程,引导 LineageOS 镜像,在鸿蒙设备上交付一台可正常开机的 Android 虚拟机。设备侧全部采用 virtio 家族:虚拟 GPU、双盘存储、虚拟网卡与输入设备,固件走 EDK2 双单元,网络侧还打通了端口转发,可以连接调试通道。
▍架构上的取舍
工程沿用 Air 系列的 ArkTS 壳加原生核心双层结构。QEMU 引擎以单库形态随包分发,并提供 JIT 与解释执行两种形态,按设备权限条件自动取舍;镜像通道与引擎参数解耦,换镜像版本不动引擎,改引擎参数不碰镜像,维护面清晰。
▍打开的可能性
对用户而言,这意味着鸿蒙平板上可以运行那些只有 Android 版的应用:小众工具、行业客户端、不再更新的老软件。对生态而言,这是一条系统级的兼容路线:不依赖任何一方重新打包,直接把整个运行环境整体搬过来。
快照机制让这台虚拟机可以秒级恢复到保存过的状态。具体的使用指引,请关注论坛 apps 板块的后续帖。
楼主
7 天前