Unity3d调用Android版so库

来源:互联网 发布:淘宝客自动发送微信群 编辑:程序博客网 时间:2024/06/16 14:29

C源码封装Android版函数库

工具介绍

需要Android NDK工具包,下载地址为:

https://developer.android.google.cn/ndk/downloads/index.html

下载后解压后即可使用。

(警告: 解压的路径不能带空格,最好都是英文路径)

 

添加ndk-build 指令的路径到path全局变量中

测试安装成功,使用CMD窗口执行ndk-build,如下图结果说明安装配置成功

 

程序编写

test.h文件内容如下:

 

test.cpp文件内容如下:

 

编译配置脚本

Android NDK需要编写两个脚本:Android.mk 和  Application.mk。

Application.mk的内容如下:


(注意:此文件尽量不要改动)

Android.mk 文件内容如下:

此文件中的LOCAL开头的变量都是AndroidNDK编译时会自动使用的,每个变量的意义参见变量的命名。LOCAL_MODULE 是生成的函数库名称。

 

编译出函数库

在CMD中执行编译指令结果如下:

生成的所有的不同Android平台的函数库路径为:


测试编译出的函数库正确性:

将libtest.so 上传到linux系统下,执行指令如下图,表明函数库正常。

 

 

 

 

Unity3D调用函数库

Unity3D对于动态链接库的存放位置有规则说明,将网址:

https://docs.unity3d.com/Manual/PluginInspector.html

 

将libs目录复制到 Assets/Plugins/Android目录下。如果没有目录,手动创建出来。

(注意:层次关系一定要如上图所示。我之前没有创建或复制libs目录,导致在Android系统上执行一直报错:system.dllnotfoundexception: test)

如果配置成功,选中函数库文件时,会相应的展示inspector的CPU等平台配置信息。

 

 

函数库调用测试代码如下:

 

原创粉丝点击