适配三方库
三方库一般是软件作者为了发布方便、替换方便或者二次开发的目的,而发布的一组可以单独于应用程序进行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)路径下,具体操作步骤如下:
静态库
-
在团结引擎的Inspector中设置如下:

-
代码中使用**[DllImport("__Internal")]**调用静态库,例如示例代码中,MyAddFunc()和GetpKey()为静态文件中的接口函数。
-681f532de353ede09eff262645e50fff.png)
动态库
-
在团结引擎中Inspector设置如下:
-7e65472d96d9cca3a21e44dccd2d4a1c.png)
-
代码中使用**[DllImport("soName")]**,例如libmytest.so的soName为mytest。
-d39e4c165f25facf602dd97d99614289.png)