鸿蒙(HarmonyOS 5)端云一体化开发的完整流程及关键依赖整理,涵盖工程创建、依赖配置、云函数调用等核心步骤,结合官方文档和最佳实践总结而成_鸿蒙端云一体化开发教程
一、环境准备
-
开发者账号
-
实名认证的华为开发者账号(需在AGC控制台开通项目)17。
-
-
开发工具
-
安装 DevEco Studio 5.0.0+(需支持端云一体化模板)17。
-
二、工程创建流程
1. 创建端云一体化工程
-
步骤
-
在DevEco Studio中选择 \"Atomic Service\" 或 \"Application\",使用 \"CloudDev\"模板(如
Empty Ability withCloudDev
)17。 -
登录华为开发者账号,关联AGC中的项目(需提前在AGC控制台创建应用并开通云服务)711。
-
填写工程信息(包名需与AGC应用一致)7。
-
-
目录结构
工程创建流程(详细版)https://blog.csdn.net/2403_89081261/article/details/147577688?spm=1001.2014.3001.5501
三、关键依赖配置
1. 端侧依赖(oh-package.json5
)
\"dependencies\": { \"@hw-agconnect/cloud\": \"^1.0.0\", // 云函数调用 \"@hw-agconnect/hmcore\": \"^1.0.0\", // AGC核心库 \"@hw-agconnect/auth-component\": \"^1.0.0\", // 认证服务 \"long\": \"5.2.1\", // 长整型支持(云数据库需) \"protobufjs\": \"6.11.3\" // 协议缓冲区(避免版本冲突)}
注意:若使用非模板创建项目,需手动添加;模板工程已自动集成2610。
2. 云侧依赖
-
云函数:通过
npm install
安装Node.js依赖(如@agconnect/database
)3。 -
云数据库:需在
CloudProgram/clouddb
下定义数据模型(JSON Schema)11。
四、核心配置与初始化
1. agconnect-services.json
-
作用:包含云服务配置(如App ID、云函数/数据库权限)26。
-
位置:
-
entry/src/main/resources/rawfile/
-
AppScope/resources/rawfile/
610。
-
-
获取方式:从AGC控制台下载并覆盖旧文件(修改配置后需更新)610。
2. 初始化AGC(在EntryAbility
中)
import { initialize } from \'@hw-agconnect/hmcore\';// @ts-ignoreimport json from \'../../resources/rawfile/agconnect-services.json\';export default class EntryAbility extends UIAbility { onCreate() { initialize(this.context, json); // 必须初始化 }}
注意:未初始化会导致云功能无法调用2610。
五、云函数开发与调用
1. 创建云函数
-
右键
CloudProgram/cloudfunctions
→ New → Cloud Function 11。 -
示例代码(返回随机数):
let myHandler = async (event, context, callback) => { callback({ code: 0, message: \"Success.\" + Math.random() });};export { myHandler };
-
部署:右键云函数 → Deploy Cloud Function 11。
2. 端侧调用云函数
import cloud from \'@hw-agconnect/cloud\';const result = await cloud.callFunction({ name: \'hello\', // 函数名 version: \'1\', // 版本或\'$latest\' params: {} // 参数});console.log(result.getValue().message);
3. 创建云函数以及调用和传参(详细版)
https://blog.csdn.net/2403_89081261/article/details/147615545?spm=1001.2014.3001.5501
注意:需在真机/模拟器测试,预览器不支持2610。
六、云数据库操作
1. 定义数据模型
-
在
CloudProgram/clouddb/objecttype
下创建JSON文件(如book.json
)定义字段11。
2. 插入初始数据
-
在
CloudProgram/clouddb/dataentry
下创建dataentry.json
,填写初始数据11。
3. 部署数据库
-
右键
clouddb
→ Deploy Cloud DB 11。
七、常见问题解决
-
protobufjs
模块缺失-
降级到
6.11.3
(protobufjs@7.x
移除了aspromise
模块)10。
-
-
真机运行报错
-
检查签名配置(需在
Project Structure → Signing Configs
中启用自动签名)79。
-
-
云函数返回
403
-
确保
agconnect-services.json
中的包名与config.json
一致610
-