Electron for HarmonyOS 开发环境搭建

Electron for HarmonyOS 开发环境搭建

    • 一、环境准备
      • [1. 系统与硬件要求](#1. 系统与硬件要求)
      • [2. 工具下载](#2. 工具下载)
    • [二、DevEco Studio 配置](#二、DevEco Studio 配置)
      • [1. 项目结构初始化](#1. 项目结构初始化)
      • [2. 依赖配置](#2. 依赖配置)
    • [三、Electron 项目集成](#三、Electron 项目集成)
      • [1. 放置 Electron 应用代码](#1. 放置 Electron 应用代码)
      • [2. 基础示例代码](#2. 基础示例代码)
    • 四、运行与调试
      • [1. 设备连接](#1. 设备连接)
      • [2. 编译运行](#2. 编译运行)
      • [3. 调试技巧](#3. 调试技巧)
    • 五、常见问题解决
    • 六、总结

一、环境准备

(基于 DevEco Studio + Compatible SDK 5.0.5 + Electron 34)

1. 系统与硬件要求

  • 操作系统:Windows 10/11、macOS 10.15+、Ubuntu 22.04+
  • IDE:DevEco Studio 5.0+(需匹配 Compatible SDK 5.0.5)
  • Node.js:v18.x 或更高版本(建议 v20.18.1)
  • 硬件:≥8GB 内存(推荐 16GB)、≥20GB 可用存储空间
  • 目标设备:HarmonyOS NEXT(API 20+)平板/PC 设备

2. 工具下载

  1. DevEco Studio :从 华为开发者官网 下载 5.0+ 版本,安装时勾选 HarmonyOS SDK(包含 Compatible SDK 5.0.5)。
  2. Electron for HarmonyOS 预编译包
  3. Node.js :从 Node.js 官网 安装 v20.18.1(建议通过 nvm 管理版本)。

二、DevEco Studio 配置

1. 项目结构初始化

  1. 打开 DevEco Studio,选择 File → Open ,导入解压后的 Electron 预编译包根目录(通常命名为 ohos_hap)。
  1. 进入 File → Project Structure(如截图所示),配置项目基础信息:
  • Bundle name :填写唯一包名(如 com.huawei.ohos_electron)。
  • Compatible SDK :选择 5.0.5(17)(需与设备系统版本匹配)。
  1. 切换到 Signing Configs 标签,点击 Auto-generate signature 生成调试签名(首次运行必需)。

2. 依赖配置

这里保持默认即可

三、Electron 项目集成

1. 放置 Electron 应用代码

将你的 Electron 应用代码(或示例代码)放入以下目录:

复制代码
web_engine/src/main/resources/resfile/resources/app/

示例 Electron 项目结构

复制代码
app/
├── main.js       # 主进程入口
├── package.json  # 项目配置
├── index.html    # 渲染进程页面
└── renderer.js   # 渲染进程逻辑

2. 基础示例代码

可使用以下示例:

  • main.js(主进程):
go 复制代码
const { app, BrowserWindow } = require('electron');
const path = require('path');

function createWindow() {
    const win = new BrowserWindow({
        width: 800,
        height: 600,
        webPreferences: {
            nodeIntegration: true,
            contextIsolation: false
        }
    });

    win.loadFile('index.html');
}

app.whenReady().then(createWindow);

app.on('window-all-closed', () => {
    if (process.platform !== 'darwin') {
        app.quit();
    }
});
  • package.json
go 复制代码
{
  "name": "electron-harmonyos-app",
  "version": "1.0.0",
  "main": "main.js",
  "scripts": {
    "start": "electron ."
  }
}
  • index.html(渲染进程):
html 复制代码
<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>Hello HarmonyOS!</title>
</head>
<body>
<h1>欢迎使用 Electron on HarmonyOS!</h1>
<p>这是运行在鸿蒙系统上的 Electron 应用</p>
</body>
</html>

四、运行与调试

1. 设备连接

  1. 在鸿蒙设备上启用 开发者模式USB 调试(设置 → 关于设备 → 连续点击版本号 7 次)。
  2. 使用 USB Type-C 连接设备与电脑,在 DevEco Studio 顶部工具栏确认设备已识别。

2. 编译运行

  1. 点击 DevEco Studio 右上角的 Run 按钮(或按 Shift+F10)。
  2. 首次编译需等待 5-10 分钟,编译完成后应用会自动安装到设备并启动。

编译成功

3. 调试技巧

  • 日志查看 :在 DevEco Studio 的 Log 面板中,过滤关键词 Electron 查看应用日志。
  • DevTools 调试 :在 main.js 中添加 win.webContents.openDevTools(),启动后自动打开 Chrome DevTools。

五、常见问题解决

  1. "SysCap 不匹配"报错
    • 检查 module.json5 中的 reqSysCapabilities,移除 SystemCapability.Test.PerfTest 等测试类能力。
  2. "找不到 .so 文件"报错
    • 确认 libs/arm64-v8a 目录包含 libelectron.solibadapter.so 等核心库。
  3. Electron 窗口不显示
    • main.js 中添加 app.disableHardwareAcceleration() 禁用硬件加速。

六、总结

通过以上步骤,你已完成 Electron + HarmonyOS 的开发环境搭建,可基于 Web 技术栈(HTML/CSS/JS)开发鸿蒙应用。后续可通过扩展适配器(如文件系统、权限管理)实现更复杂的原生能力集成。

相关推荐
Irene19911 小时前
JavaScript 常见类数组对象对比(附:具有默认迭代器的数据类型详解)
javascript·类数组对象
charlie1145141911 小时前
面向C++程序员的JavaScript 语法实战学习4
开发语言·前端·javascript·学习·函数
万少1 小时前
上架元服务-味寻纪 技术分享
前端·harmonyos
大雷神2 小时前
windows中flutter开发鸿蒙实操
harmonyos
萌狼蓝天2 小时前
[Vue]性能优化:动态首行与动态列的匹配,表格数据格式处理性能优化
前端·javascript·vue.js·性能优化·ecmascript
T***16073 小时前
JavaScript打包
开发语言·javascript·ecmascript
2503_928411563 小时前
11.20 vue项目搭建-单页面应用
前端·javascript·vue.js
Ace_31750887763 小时前
微店平台关键字搜索接口深度解析:从 Token 动态生成到多维度数据挖掘
java·前端·javascript
Billow_lamb3 小时前
React 创建 Context
javascript·react.js·ecmascript