Megler让Windows 10 Mobile手机直接运行Android应用
开发者 Computershik 借助 Claude 开发了开源项目 Megler,目标是让运行 Windows 10 Mobile 1703(版本号 10.0.15063)及更高版本的手机直接使用 Android 应用。该方案不需要模拟 Android 硬件,也无需修改系统加入 Android 子系统,而是在普通 Windows 应用中实现运行 Android 所需的组件,使 Java 代码和 ARM 原生代码直接在手机处理器上运行。
Android 应用通常由 Java 字节码和面向 ARM 架构编译的动态库组成。Megler 自行实现了动态链接器、C 运行库、Java 运行时以及部分 Android 框架接口,并借助 Win32、Direct2D、Direct3D 11 和 ANGLE,提供文件访问、线程管理、图形渲染等系统能力。
在性能设计上,Megler 不对 ARM 原生代码进行指令集模拟,而是直接交由手机处理器执行;对于频繁运行的 Java 方法,则通过即时编译转换为 Thumb-2 指令。项目还把界面绘制交给独立渲染线程,并利用 GPU 处理视图、文本、视频和 WebView 内容,以降低主线程负载。
目前,Megler 已能运行部分使用 Java 或 Kotlin 开发的 Android 应用,也支持基于 NativeActivity 和 Unity IL2CPP 的游戏。它兼容官方 Google Play 商店及 Google Play 服务,用户可以登录 Google 账号、搜索并安装应用;项目还集成了基于 Chromium 128 的 Android System WebView,可通过 GPU 渲染网页。
功能层面,Megler 可以调用 Windows Hello 响应 Android 应用的生物识别请求,并支持短信验证码、手机摄像头和锁屏媒体控制。借助 Windows Media Foundation,它能够解码 H.264、H.265、AAC、MP3 等媒体格式;手机本地文件夹也会映射为 Android 应用可访问的“/sdcard”路径。
该项目仍受 32 位环境限制,暂时无法运行仅提供 64 位 ARM 原生代码的应用,也不支持 Vulkan。单个应用可用地址空间受 32 位进程约 2GB 上限约束。使用前还需开启开发人员模式、完成互操作解锁,并信任项目提供的安装证书,以满足代码生成等功能的运行条件。
Megler 支持导入 APK、APKS 和 XAPK 安装包,也可通过 Google Play 安装应用。已安装的 Android 应用还能被转换为独立 Windows 应用,拥有单独的开始屏幕磁贴、进程、内存空间和任务切换器入口。开发者将其与微软 2015 年公布、2016 年 2 月取消的 Project Astoria 对比:后者曾尝试在系统内部提供基于 Android 4.4 KitKat 的兼容环境,而 Megler 以独立 Windows 应用实现相关能力,不依赖操作系统集成 Android 子系统,因此更加轻量。
本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。
阅读原文