截止20251122基于arkcode组织的ohos_electron_hap编译的libaki_jsbind.so库
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 个月前 |
HarmonyOS Electron 调用 ETS 集成项目
本项目提供了在 HarmonyOS 平台上使用 Electron 调用 ETS (eTS) 代码的完整解决方案。通过 JS 绑定技术,实现 Electron 应用与 HarmonyOS 原生代码的互操作。
项目概述
本项目包含了将 Electron 应用集成到 HarmonyOS 平台的完整工具链和示例代码,主要用于在鸿蒙设备上运行 Electron 应用并调用 ETS 编写的原生功能。
项目结构
├── aki/ # AKI JS 绑定库源码
│ ├── src/ # 核心源码
│ ├── include/ # 头文件
│ ├── example/ # 示例代码
│ └── doc/ # 文档
├── adapter/ # 原生适配器代码
│ ├── CMakeLists.txt # 编译配置
│ ├── demo.cc # 示例实现
│ └── build/ # 编译输出目录
├── addon/ # Electron Node.js 插件
│ ├── CMakeLists.txt # 编译配置
│ ├── hello.cc # 插件实现
│ ├── package.json # Node.js 配置
│ └── build/ # 编译输出目录
├── libaki_jsbind.so # 编译后的 AKI 库
├── libshim.a # 静态库文件
└── HarmonyOS Electron调用ets指导文档.md # 详细指导文档
编译产物
libaki_jsbind.so- AKI JS 绑定动态库libshim.a- 静态库文件electron-addon.node- Electron 插件 (在 addon/build/Release/ 目录下)
快速开始
环境准备
- 安装 Electron 34 编译工具链
- 配置 HarmonyOS SDK 环境
- 安装必要的构建工具 (CMake, Node.js, npm 等)
编译步骤
详细的编译步骤请参考 [HarmonyOS Electron调用ets指导文档.md](./HarmonyOS Electron调用ets指导文档.md)
主要步骤包括:
-
编译 AKI 库
cd aki mkdir build && cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -
编译适配器
cd adapter mkdir build && cd build cmake .. make -
编译 Electron 插件
cd addon npm install --verbose
HAP 包构建
参考指导文档第四部分,创建 HarmonyOS 应用工程并集成编译产物。
使用示例
JavaScript 调用示例
const addon = require('electron-addon.node');
// 调用原生方法
console.log('Hello from addon:', addon.hello());
console.log('Directory:', addon.getDir());
ETS 绑定示例
import { JsBindingTest } from 'library';
// 初始化绑定
JsBindingTest.init();
JsBindingTest.bind();
// 调用方法
const result = JsBindingTest.getUserDesktopDir();
重要说明
⚠️ 注意事项:
- 所有路径配置需要根据实际环境修改
- 请结合使用《Electron框架HarmonyOS开发指导》
- 编译前请确保 Electron 工具链环境变量已正确配置
- 证书问题可通过配置
~/.npmrc或设置NODE_TLS_REJECT_UNAUTHORIZED=0解决
文档参考
详细的开发指导请参考:
- [
HarmonyOS Electron调用ets指导文档.md](./HarmonyOS Electron调用ets指导文档.md) - 完整的集成指南 - AKI 项目文档 - JS 绑定库使用说明
- Electron 框架 HarmonyOS 开发指导 - 官方开发文档
许可证
本项目遵循 Apache-2.0 许可证。
贡献
欢迎提交 Issue 和 Pull Request 来改进本项目。