虚拟框架 04月05日 00:36
鸿蒙 OS Next 支持运行 Android 应用了
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Harmony OS Next 上架“出境易”应用,实现了对Android应用的兼容。该应用基于类似“两仪”的技术原理,包括POSIX API兼容层、ELF loader和OpenGL/vulkan转译层。虽然技术上可行,但涉及访问权限和GPU共享等问题。作者回顾了与鸿蒙生态合作的经历,并对在当前国际环境下,鸿蒙的选择表示理解和祝福。

📱 “出境易”应用允许在Harmony OS Next上运行Android应用,其技术原理与“两仪”类似,后者是一款在Android系统上运行Android系统的虚拟机应用。

⚙️ 核心技术包括三部分:POSIX API兼容层(天然兼容Android,鸿蒙OS Next亦可实现);ELF loader(Android 10后需自定义加载);OpenGL/vulkan转译层(解决GPU显存共享问题,否则影响性能)。

💡 从技术角度看,在应用层运行Android系统并非难事,但鸿蒙应用是否拥有足够的权限访问Linux内核兼容层仍待考证。

🤝 作者曾与鸿蒙生态合作,探讨虚拟机技术方案,最终因投入周期放弃。如今看到相关技术落地,感触颇深。

🌍 在全球化和开源合作背景下,作者对鸿蒙的选择表示理解,认为在特定国际环境下,这样的选择或有其必要性。

2024-12-02 21:52 广东

几个小时前,Harmony OS Next 5.0 上架了一个名为“出境易”的应用,通过这个应用,可以运行不兼容原生鸿蒙 OS Next 的 Android 应用。

很多网友对其技术原理感到好奇,但手里没有相关的设备,不敢妄言。不过我可以大胆猜测一下,它的原理应该与我曾经开发的“两仪”类似。

应用商店显示,上架此应用的公司为“湖南穹隆科技有限公司”,在天眼查上查询,它的联系方式与公司法人与“湖南小算科技信息有限公司“一致。而 VMOS 是一款 Android 系统上运行 Android 系统的虚拟机应用,两仪的运行原理与其一致。

两仪的运行原理并不复杂,其核心技术分为三部分:

1. 对 POSIX API 的兼容层;对于 Android 系统来说,这是天然兼容的。对其他系统来说,POSIX 兼容也很成熟了,鸿蒙 OS Next 自然也能做到。

2. ELF loader;在 Android 系统上这也很自然,不过 Android 10 以后禁止了 W^X,因此也需要自己 load ELF;鸿蒙 OS Next 可能需要在 kernel 加个 binfmt_misc 类似机制,如果它兼容 Linux 内核,那这一步也可省略。

3. OpenGL / vulkan 的转译层;OpenGL 指令序列化的相关技术也很成熟,不过要解决 GPU 对象在显存间共享的问题,否则顶多做到 40 FPS;两仪的最初版本非常卡,就是因为图像都是序列化传输的;后面虽然支持了 GPU 直通,但也耗尽了我所有的心力。

虽然还有很多其他的工作要做,不过那些都是体力活。所以从原理上讲,在应用层运行起一个 Android 系统在技术上其实并没有太大的阻碍,不过我不确定是否任何一个普通的鸿蒙应用都有权限做到如此,特别是对 Linux 内核兼容层的访问权限。

两年前,我曾与鸿蒙生态的朋友有过短暂的交流,当时对方在寻找鸿蒙系统的虚拟机技术方案;但由于投入周期太长,最终我们放弃了合作。今天看到相关的技术方案落地,万分感概。

作为在开源合作和全球化环境下成长起来的技术人,曾很难理解鸿蒙的决定;但在 Linus 可以因为莫须有的原因踢掉俄罗斯开发者的今天,这样的选择似乎又显得很自然。或许我们应该少一点讥笑与嘲讽,多一点理解和祝福吧。

鸿蒙 OS Next 支持运行 Android 应用了

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

鸿蒙OS Next Android兼容 虚拟机技术 出境易 技术探讨
相关文章