背景:
- 公司需求:在APP中植入小游戏
- 鄙人Android开发,对Unity3D不熟,更加愿意将Unity3D中项目导入到Android工程中再二次开发,对网络上方便的‘Android工程导出jar到Unity3D工程发布‘不甚放心以及在APP中植入Unity3D游戏在业务上是一个比较次要的功能,不能影响到原工程的结构。所以研究了将Unity3D项目导出到Android工程中二次开发并实现之间的数据交互
- 鄙人JNI,NDK资历尚浅,Unity3D开发还欠入门,有诸多不足之处还请各位大神不吝赐教
电脑环境:
- iMac OS X EI Capitan
- Android studio 1.4
- JRE 1.7.0_79-b15 x86_64
- NDK android-ndk-r10e
- Unity3D Version 5.2.2f1
Android工程:
新建空项目
下图为最终版
完整工程目录结构:
如上图所示,在src->main目录下新建jni文件夹,创建NdkClass.c和Android.mk文件:
NdkClass.c:
#include <string.h> #include <jni.h> static JavaVM *gJavaVM; static jobject gCallbackObject = NULL; //Android中java代码调用此方法,以Java_开头,包含包名,方法名。 jint Java_test_gavin_com_unityandroidtest_utils_NdkUtil_initNDK(JNIEnv *env, jobject thiz) { (*env)-