可将 ZCode Electron 桌面应用移植到 HarmonyOS 2in1 设备,实现跨平台运行。项目包含 ArkTS 桥接层、Electron 模块适配、构建插件及原生 SQLite NAPI 扩展,解决多方面运行限制。【此简介由AI生成】
Access rate limit exceeded. Please log in to continue.
ZCode for HarmonyOS
将 ZCode(Electron 桌面应用)移植到 HarmonyOS 2in1 设备的桥接项目。
EntryAbility → XComponent → libadapter.so → libelectron.so
↓
entry.mjs → host → agent
目录
web_engine/ ArkTS 桥接层(含 USB 桥接服务 UsbBridgeServer / UsbBridgeAdapter)
electron/ Electron 模块(权限、Ability)
hvigor/plugin/ 构建插件 + 运行时模板(含 usbctl.mjs 客户端)
native/ NAPI addon:SQLite、node-pty、libusb shim;另含 usb-compat(兼容层)、
arduino(.ino 编译脚本)、usb-libusb-shim(libusb 转发)
vendor/ ZCode 运行时资源(gitignored)
docs/ 文档(外设访问见 docs/peripherals.md;华为/样例参考资料见 docs/reference/)
外设访问
USB 设备与串口(Arduino 等)如何在本域内可用——伪造 sysfs、fd 分发、桥接兜底、虚拟串口, 以及维护这层时不能踩的坑,见 docs/peripherals.md。
一句话版:entry.mjs 自动注入 LD_PRELOAD/LD_LIBRARY_PATH,原生 USB 工具(adb、
fastboot、pk2cmd、avrdude)源码不用改即可直接跑;串口通过虚拟 tty 提供,系统串口服务不覆盖
CH34x 时也能用。实测可用清单、硬约束与调试方式都在该文档里。
更新 ZCode
下载新版 linux-arm64 AppImage 解压到 vendor/ZCode-x.x.x-linux-arm64/,构建插件自动选最高版本。
已知限制
fs/promises.glob→ polyfillnode:sqlite→ 自定义 NAPI addon(静态编译 SQLite 3.49.1)child_process.spawn→ spawn-wrapper 重定向(seccomp)process.title写 → setter 拦截(uv_set_process_titleSIGSEGV)- Renderer 进程无 JIT(缺权限)
Introduction
可将 ZCode Electron 桌面应用移植到 HarmonyOS 2in1 设备,实现跨平台运行。项目包含 ArkTS 桥接层、Electron 模块适配、构建插件及原生 SQLite NAPI 扩展,解决多方面运行限制。【此简介由AI生成】
Customize your domain