当前位置:首页 > 技术分享

鸿易通:HOA Harmony on Android 26.6.13.1 在 Android 设备上运行 OpenHarmony / HarmonyOS HAP 应用

admin3小时前技术分享8

在 Android 设备上运行 OpenHarmony / HarmonyOS HAP 应用。
215301zmam7rwrkwzzmpzz.jpg一个正在开发中的实验性项目目标是让 HarmonyOS 的 HAP 应用包无需修改即可在 Android 设备上运行。目前已完成核心运行时搭建,ArkTS 页面渲染和原生 .so 加载均已验证通过,但大量系统 API 尚未实现,兼容性有限。

百度网盘
https://pan.baidu.com/s/1EdSSnL7SVIjmevyqFM3bHQ?pwd=rcew

支持到什么程度

能力状态说明
ArkTS 页面渲染支持SurfaceView + Skia,SDK 5.0/6.0 ABC 格式兼容
HAP 安装与启动支持ZIP 解析、流式解压、多进程槽位管理(5 槽)
resources.index 解析支持V1(OHOS 5.0)和 V2(SDK 6.0)双版本
原生 .so 加载支持无 RUNPATH 的闭源 .so 拓扑依赖加载 + musl ABI bridge(libb.so)
C++ STL(libc++_shared)支持std::string/vector/map/thread/exception/RTTI 等全部通过
HDC 协议支持TCP 8710,支持 install/uninstall/shell/file send,DevEco Studio 可识别为设备
权限映射部分普通权限自动映射(INTERNET 等),危险权限需手动处理
生命周期部分onCreate/onResume/onPause/onDestroy 已对接,部分中间状态未实现
HDS 组件部分70+ 导出 mock,功能正确但视觉与原版差异较大
完整 Bundle Manager不支持未实现,bundleInfo_ is nullptr 日志警告
后台能力 / Service不支持未实现
分布式 / 多设备不支持未实现

已知限制

HOA 仍在早期开发阶段,以下为已知限制:

  • HAP 兼容性:目前只有部分 HAP 能正常运行。依赖未实现系统 API 的 HAP 会白屏或崩溃。

  • 性能:ArkUI-X 渲染管线未经优化,复杂页面可能卡顿。

  • 内存:每个 HAP 启动一个独立进程,多 HAP 同时运行内存压力较大。

  • 稳定性:长时间运行可能出现资源泄漏,建议测试后重启 app。

  • 安全性:HDC daemon 无认证机制(默认 8710 端口),仅适合开发调试,不要在生产环境使用。

原理

HOA 基于 ArkUI-X 的 Android 构建体系,通过多个仓库的定向适配使运行时能够加载并执行 OHOS 原生格式的 HAP:

  • ArkTS 渲染:ETS VM 执行 modules.abc 字节码,ACE 引擎将 UI 树渲染到 Android SurfaceView

  • 原生 .so 支持:通过 libb.so(musl ABI bridge)在 Android bionic 上运行 OHOS 闭源 .so;ELF patch 将 DT_NEEDED libc.so 替换为 libb.soelf_load_with_deps 对无 RUNPATH 的 .so 做拓扑依赖加载

  • HDC 协议:实现 OHOS HDC daemon,支持 DevEco Studio 设备识别与一键部署

转自:https://www.52pojie.cn/thread-2114086-1-1.html

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/754.html

分享给朋友:

“鸿易通:HOA Harmony on Android 26.6.13.1 在 Android 设备上运行 OpenHarmony / HarmonyOS HAP 应用” 的相关文章

Chrome 开启自带多线程下载支持 提升下载速度

Chrome 开启自带多线程下载支持 提升下载速度

Chrome 是当前性能最高的浏览器之一,但在下载速度方面,Chrome 可一点都不快。当前 Chrome 的下载仍是单线程机制,速度非常慢。对此,大家不得不使用第三方的下载工具,例如迅雷、IDM 等支持多线程下载的下载软件,来提高下载速度…

百度云,天翼云盘解析网页地址 收集分享

百度云解析http://p.106666.xyz/https://pan.kdbaidu.com/https://pan.kdpd.me/https://yun.kdbaidu.com/http://blog.xxatf.top/https…

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- …

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

PIP 更换国内安装源linux/windows

pip国内的一些镜像  阿里云 http://mirrors.aliyun.com/pypi/simple/   中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/   豆瓣(…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。