四月 24.2019.
0 Comment
在android上编写插件有多种路子:
1. c# portable library,用c#写的可移植的assembly。使用起来最简单、最方便,比如那些json库(litjson)、EasySave2等都是这种套路。
2. android java plugin,用java编写的,编译时链接classes.jar,可使用UnityPlayerActivity中的一些功能,多用于需要使用原生功能而unity中未提供或使用不便时这样处理。这种插件编出来之后多为jar或aar包。
3. android c++ plugin,用c++,结合与版本一直的ndk工具,写makefile,编译出so包。
这个也是今天我要说的插件编写方式。第二种编写方式我之前使用过多次,最近与美国同事合作时,需要写一些so的插件。
最简单的方式是依照官方的示例:https://docs.unity3d.com/uploads/Examples/AndroidNativePlugin.zip
下载下来导入到unity工程之后,可以在其中看到src目录,里面有可以工作的mk文件和命令。
需要注意的是:build_plugin.sh在windows上运行时需要稍加修改,比如将$ANDROID_NDK_ROOT替换为%ANDROID_NDK_ROOT%(事先在环境变量中加入一个ANDROID_NDK_ROOT的变量,使其指向NDK的根目录),再将build_plugin.sh这行的最后一个$*去掉;另外注意mv/rm这些命令,windows下可能没有,可以从UnxUtil工具包或者Git for windows中获取(加入到PATH中后可在console中直接使用)。
打赏
微信扫一扫,打赏作者吧~