Unity3d调用Android版so库
2017-08-16 14:41
756 查看
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等平台配置信息。
函数库调用测试代码如下:
相关文章推荐
- Unity3D]Unity3D游戏开发之Unity与Android交互调用研究
- Unity3D调用Android接口
- Unity3D 调用Android原生方法
- android开发ndk调用第三方so库
- [Unity3D]Unity3D游戏开发之Unity与Android交互调用研究
- Unity3D Android项目调用插屏广告
- Unity3D 调用Android原生方法
- android 调用 so库
- unity3d调用Android的java代码实现地图的连接
- Unity3D 调用Android原生方法2
- Unity3d和Android的互相调用(一)
- Android编译调用FFmpeg API,自己写方法,编译so库
- android开发ndk调用第三方so库
- android使用C/C++调用SO库
- Android之项目中JNI调用已有的Android平台so库
- Android使用JNI调用C/C++生成的.so库的流程(功能:apk卸载时调用web页面)
- Android如何调用第三方SO库
- android开发ndk调用第三方so库
- android使用C/C++调用SO库
- Unity3D调用Android提供的接口