
Cocos 2d-x引擎鸿蒙游戏集成系统能力参考 原创
1 背景
为了帮助开发更好使用HarmonyOS NEXT,现封装了部分系统API供开发者使用。
由于各API使用场景不同,部分API可以直接在UI线程调用,因此使用AKI框架通过C++调用ArkTS代码能力实现。
Cocos 2d-x引擎需使用的是3.17.2版本。
2 Demo接入准备(重要)
2.1 RomAPI代码二次开发(可选)
2.1.1 自动导入对应module
前往Demo 源码下载Demo。
确认插件包中压缩包是否是对应模块的zip格式压缩包,此格式为DevEco Studio导出module导出的结果。
上方菜单栏选择File/New/Import…/Import Module。
在文件选择栏中选择插件包中的对应模块的zip文件,选择后点击ok导入,导入成功如下:
导入完成后修改entry/oh-package.json5中的依赖路径。
2.1.2 手动导入module
如果在选择导入的module时对应路径下找不到存在的zip文件则需要手动添加文件进工程,方法如下:
- 解压zip的压缩包。
- 选择解压到此处,解压后文件内内容。
- 将解压后文件夹移动至DevEco Studio工程根目录。
注意此方法加入的文件夹未被识别成module
此时并未作为module使用,没有蓝色方块标识。需要执行以下操作:
- 打开工程级build-profile.json5文件。
- 在此处新增配置。
- 完成后同步工程。
已经重新关联成module。
2.2 详细接入准备(不需要对应能力的可跳过)
部分Demo使用需要配置申请用户权限,此部分已集成在对应har包module.json5文件中,如果遇到权限问题,请检查对应har包的module.json5文件。
2.3 2dx接入说明
- 使用AKI的框架。
·通过ContextManagerMsg.ets中间层去调用har包的方法,返回到我们test用例方法中去处理相关回调。相关AKI的参考文档:
- 出包(Build –> BuildHaps),正式上架需要出APP包,具体操作在上架前咨询接口人。
hap包路径为entry/build/default/outputs/default/entry-default-signed.hap。 - 安装连接HarmonyOS NEXT手机,命令行执行hdc install entry-default-signed.hap,将hap包安装到手机中。
hdc命令工具在DevEco Studio开发套件->sdk->toolchain中,可以手动加入环境变量方便使用。
3 Demo功能介绍
3.1 应用信息Har (libAppInformation)
3.1.1 获取包名应用信息

3.1.2 设备信息Demo
调用HarmonyOS NEXT系统’@ohos.batteryInfo’,’@ohos.deviceInfo’ '@ohos.telephony.radio’组件,获取电池信息,设备信息,运营商信息等。resfilePath可以通过在DevEco Studio项目中,将部分资源放置在应用安装后的沙盒目录中。 需要开发者手动在<module-name>\resource路径下创建resfile目录,且目录不能为空
3.1.3 设备可用窗口区域信息Demo
调用HarmonyOS NEXT系统’@kit.ArkUI’组件,实现获取窗口信息功能功能。
3.2 应用操作Har(libAppOperation)
3.2.1 应用重启Demo
调用HarmonyOS NEXT系统’@ohos.app.ability.Want’组件,使用want实现应用的重启功能。
3.2.2 跳转外部应用Demo
调用HarmonyOS NEXT系统’@ohos.app.ability.common’'组件,UIAbilityContext.startAbility开启外部应用,Demo开启的是华为手机设置。
3种方式拉起应用市场的具体接入流程请参见文档拉起指定应用。
3.2.3 进程退出Demo
调用HarmonyOS NEXT系统’@ohos.process’组件,直接通过进程退出应用。
3.2.4 通知推送Demo
调用HarmonyOS NEXT系统’@ohos.notificationManager’组件,实现本地推送通知功能。
本demo未实现后台推送功能,若需要后台推送,可以通过’@kit.PushKit’组件获取pushToken进行后台推送,详细请参见推送后台消息。
3.3 日程管理Har(libCalendar)
调用HarmonyOS NEXT系统’@ohos.calendarManager’组件,实现创建日历,创建日历时间,以及其他相关操作。
需要获取日历读写权限。需要在module.json5配置权限信息。已在har包内集成。
3.4 数据管理Har(libDataStorage)
3.4.1 关键资产存储服务Demo
调用HarmonyOS NEXT系统’@kit.AssetStoreKit’组件,实现持久化关键存储数据功能。
获取ohos.permission.STORE_PERSISTENT_DATA权限后,可实现卸载后仍保留数据。
需要设置锁屏密码后,可以测试调用需要鉴权的接口。
3.4.2 关系数据库Demo
调用HarmonyOS NEXT系统’@ohos.data.relationalStore’组件,实现创建数据库,创建数据表,以及对表内数据增删改查的操作。
3.4.3 用户首选项Demo
调用HarmonyOS NEXT系统’@kit.ArkData’组件,实现持久化存储数据功能。
3.5 文件操作Har(libFileOperation)
3.5.1 应用存储空间Demo
调用HarmonyOS NEXT系统’@ohos.file.statvfs’组件,获取应用安装目录的剩余存储空间和总存储空间。
3.5.2 文件压缩解压缩Demo
调用HarmonyOS NEXT系统’@kit.BasicServicesKit’的zlib组件,压缩和解压缩文件。
首次使用请先点击一次CopyFile按钮把文件复制到应用沙箱目录方便操作。
3.5.3 读取rawfile路径文件Demo
3.6 弹窗通知Har(libDialogLibrary)
调用HarmonyOS NEXT系统’@ohos.promptAction’组件,实现调用系统弹窗提示通知功能。
3.7 游戏常用工具Har(libGameCommon)
3.7.1 权限管理Demo
调用HarmonyOS NEXT系统’@ohos.abilityAccessCtrl’组件的requestPermissionsFromUser接口实现弹窗申请权限。
权限条目需要在DevEco Studio的model.json5内提前配置,当前Demo已在har包内集成。
3.7.2 剪贴板Demo
调用HarmonyOS NEXT系统’@ohos.pasteboard’组件,支持复制到系统剪贴板。
- 从系统剪贴板获取需要以下步骤:ohos.permission.READ_PASTEBOARD是受限的user_grant(用户授权)权限,使用自定义控件的应用可以通过申请ohos.permission.READ_PASTEBOARD权限,在用户授权的场景下访问剪贴板内容。
- 权限申请步骤:
- 查看READ_PASTEBOARD介绍,审视应用是否符合申请该权限的使用场景。
- 在AGC侧申请Profile文件,将用于后续的应用签名信息配置。
- 在module.json5配置文件中声明权限。
- 通过弹窗向用户申请权限。
3.7.3 获取定位Demo
调用HarmonyOS NEXT系统’@ohos.geoLocationManager’组件,开启定位功能获取定位和精确定位权限,开发者需要在module.json5配置权限信息。
3.7.4 振动器Demo
调用HarmonyOS NEXT系统’@kit.SensorServiceKit’组件,使用设备振动器。
3.8 广告Har(libAdsLibrary)
调用HarmonyOS NEXT系统’@kit.AdsKit’组件,实现获取广告标识符,加载广告,播放广告等功能。
获取广告标识符需要获取应用追踪权限。
3.9 Picker工具Har(libPicker)
3.9.1 文件picker工具
调用HarmonyOS NEXT系统’@kit.CoreFileKit’组件的picker,拉起文件选择器。
3.9.2 图片picker工具

调用HarmonyOS NEXT系统’@kit.MediaLibraryKit’组件的photoAccessHelper,拉起图片选择器。
跳转页面,使用ArkUI安全控件和showAssetsCreationDialog接口实现保存图片功能。
3.9.3 联系人picker工具
调用HarmonyOS NEXT系统’@kit.ContactsKit’组件的contact,拉起联系人选择器。
3.9.4 卡证picker工具
跳转页面,在ArkUI中调用HarmonyOS NEXT系统’@kit.VisionKit’组件的CardRecognition,实现卡证识别。
3.9.5 文档扫描picker工具
跳转页面,在ArkUI中调用HarmonyOS NEXT系统’@kit.VisionKit’组件的DocumentScanner,实现文档扫描。
3.9.6 摄像机picker工具
调用HarmonyOS NEXT系统’@kit.CameraKit’组件拉起系统摄像机。
3.9.7 扫码picker工具
调用HarmonyOS NEXT系统’@kit.ScanKit’组件实现扫码。
3.9.8 剪贴板picker工具
跳转页面,使用ArkUI的安全控件组件,实现获取剪贴板内容。
原文链接:华为开发者文章
更多问题可关注:
鸿蒙游戏官方网站:已有游戏移植-鸿蒙游戏-华为开发者联盟
公开课:华为开发者学堂
