跳到主要内容

适配三方库

三方库一般是软件作者为了发布方便、替换方便或者二次开发的目的,而发布的一组可以单独于应用程序进行compile time或者runtime链接的二进制可重定位目标码文件,主要分为.a静态库文件和.so动态库文件。您需要先编译三方库,再在游戏项目中进行调用。

说明: 已适配的三方库请参见三方库列表

编译指导

HarmonyOS的三方库编译使用OHOS NDK进行编译,具体请参见OHOS NDK使用指导。游戏工程编译完成后,将编译好的三方库文件复制到游戏工程对应目录即可。

说明: 为协助您提升HarmonyOS适配效率,当前已提供了为HarmonyOS系统快速编译、验证以及长期维护 的C/C++开源库HPKBUILD build script。您可以选择性地使用该开源项目。该项目下main目录包含目前已经进行HarmonyOS适配的各个开源三方库相关编译脚本,每个开源三方库编译脚本都在一个独立的目录中,其中包含:构建描述文件(HPKBUILD)、用于校验官方源码压缩包的校验值(SHA512SUM)。部分三方库由于平台差异问题,已做patch处理,故有些三方库目录下会有patch文件,详情可参考libzip目录。

调用指导

使用C#调用.a静态库文件和.so动态库文件前,均需把文件放置到Asset/Plugins/OpenHarmony/arm64-v8a(armeabi-v7a)路径下,具体操作步骤如下:

静态库

  1. 在团结引擎的Inspector中设置如下:

  2. 代码中使用**[DllImport("__Internal")]**调用静态库,例如示例代码中,MyAddFunc()和GetpKey()为静态文件中的接口函数。

动态库

  1. 在团结引擎中Inspector设置如下:

  2. 代码中使用**[DllImport("soName")]**,例如libmytest.so的soName为mytest。