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)开发鸿蒙应用。后续可通过扩展适配器(如文件系统、权限管理)实现更复杂的原生能力集成。

相关推荐
陈_杨几秒前
前端成功转鸿蒙开发者真实案例,教大家如何开发鸿蒙APP--ArkTS 卡片开发完全指南
前端·harmonyos
陈_杨8 分钟前
前端成功转鸿蒙开发者真实案例,教大家如何开发鸿蒙APP--ArkTS 卡片刷新机制
前端·harmonyos
go_caipu16 分钟前
Vben Admin管理系统集成qiankun微服务(二)
前端·javascript
幻云201019 分钟前
Next.js指南:从入门到精通
开发语言·javascript·人工智能·python·架构
唐叔在学习19 分钟前
insertAdjacentHTML踩坑实录:AI没搞定的问题,我给搞定啦
前端·javascript·html
哈__26 分钟前
从入门小白到精通,玩转 React Native 鸿蒙跨平台开发:TouchableOpacity 触摸反馈组件
react native·react.js·harmonyos
小王和八蛋34 分钟前
前端存储与离线应用实战:Cookie、LocalStorage、PWA 及 Service Worker 核心知识点
前端·javascript
小雨下雨的雨1 小时前
Flutter 框架跨平台鸿蒙开发 —— Flex 控件之响应式弹性布局
flutter·ui·华为·harmonyos·鸿蒙系统
军军君011 小时前
Three.js基础功能学习七:加载器与管理器
开发语言·前端·javascript·学习·3d·threejs·三维
哈__1 小时前
入门小白到精通,玩转 React Native 鸿蒙跨平台开发:Button 按钮组件与点击事件
react native·react.js·harmonyos