Unity 项目迁移鸿蒙(三):SDK 接入
背景
从面前的经验看。DevEco Studio 工程和Android Studio 工程的结构是类似的。
在 HarmonyOS 的 Hvigor 构建体系中,每个模块是独立的编译单元。tuanjieLib 和 entry 是两个独立的 Module,各自有自己的 oh-package.json5。
entry 不只是”launcher”,它还承载了 Ability 生命周期,凡是需要在生命周期中直接操作的 SDK,都应该在 entry 中直接引入。
但是如果所有SDK 相关逻辑都写在enrty 中,会比较臃肿。所以推荐在tuanjieLib 中创建SDK 代码的文件夹,封装好SDK 逻辑后,再暴露给entry 的TuanjiePlayerAbility引用。
DevEco Studio 层接入
手动接入har 包
由于SDK 需要在 TuanjiePlayerAbility 生命周期中直接调用,所以直接在 entry 模块中引入 SDK。
步骤:
- 在 tuanjieLib/src/main/ets/ 目录下手动创建 GameSdk/ 文件夹(如果没有)。然后在其中创建 YourSDK.ets
- 将第三方 SDK 的 .har 包放入 tuanjieLib/libs/
- 修改 tuanjieLib/oh-package.json5,添加.har 包依赖:
{ |
修改 tuanjieLib/build-profile.json5,在buildOption.arkOptions.runtimeOnly.packages 中增加har包的名称:
"packages": [ |
- 在 DevEco Studio 中,右键 tuanjieLib 模块 → Open in Terminal,执行:
ohpm install |
json5 文件修改完成后,点击同步。
在tuanjieLib/exported.ets 中,导出自定义的类:
export { YourSDK } from './src/main/ets/GameSdk/YourSDK'; |
- 在entry/src/main/ets/ability/TuanjiePlayerAbility.ets 中,引用并调用SDK:
import { YourSDK } from 'tuanjieLib'; |
通过OpenHarmony 三方库中心仓依赖
团结引擎与OpenHarmony 层的调用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 崎径 其镜!



