Unity3d调用Android版so库
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调用Android版so库相关推荐
- unity3d调用android方法,Unity3D 调用Android原生方法2
原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅Unity3D引擎技术交流QQ群:[119706192]本文链接地址:Unity3D 调用Android原生方法2 记一次Unity通过An ...
- android 引用非 android 工程,Unity3D调用android方法(非插件方式)
关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客: android与Unity3D ...
- Unity3D调用android方法(非插件方式)
关于Unity3Dproject与androidproject的转换与合并,请參考我的另外一篇博客.假设你对Unity3Dproject增加到androidproject的过程不熟悉.也请先看完以下这 ...
- unity无法调用android,Unity3D调用android方法(非插件方式)
关于Unity3D工程与android工程的转换与合并,请参考我的另外一篇博客,如果你对Unity3D工程加入到android工程的过程不熟悉,也请先看完下面这篇博客: 下面,我们来说说本博客的终端, ...
- [原] Unity调用android版新浪微博
本文提供unity调用微博android版 SDK 分享图片,现有sdk支持路径调用分享图片 雨凇MOMO已实现; 本文教会大家如何通过byte流分享图片(官方API pic true binary ...
- Unity3D调用Android提供的接口
需求:Android提供相关的接口,android只提供接口,没有相关的界面,android接口打包以jar包的形式供Unity3D调用 1.编写相关的android接口 在studio中新建工程,并 ...
- Unity3d android 通信之 unity3d读取android SD卡文件
此篇博文解决的问题是: 1.unity3d如何访问android SD卡的文件 2.如果把android端代码以jar包形式由unity3d调用 闲话不多说,现在咱们进入正题. 一.unity3d如何 ...
- 使用libhybris库linux调用android库
Android 是基于 Linux 的 OS,所以想要在 ARM 的 Linux 上,比如树莓派,是有可能的.但事实上其中还是有问题,主要是因为 Android 的 so 库是通过 Bionic li ...
- openssl库android版的编译
今天在编译andorid版libevent最新版2.1.6时报错can not find opensll,作为初次编译的新手,一头雾水啊,后幸得公司大神CTO的指点,需要android 版本的open ...
最新文章
- 大话设计模式—责任链模式
- Mybatis四种分页方式
- c#二叉树 取叶子节点个数_两种类似但是原理不同的算法求二叉树的所有叶子节点和...
- CAN笔记(23) CanFestival移植
- 超越苹果! 雷军愿望达成:小米,世界第三!
- 操作系统--进程管理1--单个CPU情况
- http://jingyan.baidu.com/article/fcb5aff78e6a48edab4a7146.html
- fuzzy仿真 MATLAB,基于Matlab的Fuzzy-PID控制器的设计与仿真
- Maven下载及安装配置
- MTA18ASF2G72PDZ-2G6D1内存条MTA18ASF2G72PDZ-2G6E1
- Java正则表达式语法与示例
- TPU演进十年:Google的十大经验教训
- FineReport10 决策报表常用javascript脚本
- python(十)——文件读写、OS模块、win32控制窗体、语音合成
- mysql5.7 赋权_「赋权」mysql创建用户并赋权 - seo实验室
- ps安装了可以打开但开始里面找不到_黑苹果安装入门(hackintosh install)
- 大学生面试最喜欢问的十个问题
- 技术部负责人的爱恨情仇
- unity中控制游戏物体移动最基本的三种方法
- lceberg、Hive不够用?开箱即用才是硬道理!
热门文章
- 计算机网络设备 ppt,计算机网络基础-计算机网络硬件设备.ppt
- Dim To Warm调色温LED灯恒流芯片NU403 NU501
- 从技术出发 | 有孚网络吕鑫:生信海量数据管理的实践与探讨
- 宝刀不老:Flash歌曲播放网站MP3地址隐藏机制完全破解
- 小学期项目(C语言)————外卖点餐系统(功能齐全)
- Hough Transform Tutorial
- tcpdump 网络数据包分析工具
- C语言+windows API仿写类酷狗播放器(1)
- 算法竞赛入门经典(第二版)-刘汝佳-第六章 数据结构基础 习题(12/14)
- OrangePi PC 玩Linux主线内核踩坑之旅(三)之设置静态IP地址