将Unity3D项目导出到Android工程中二次开发并实现之间的数据交互

本文介绍了如何将Unity3D项目导入Android工程进行二次开发,并实现两者间的数据交互。通过创建C++的JNI接口,将Unity3D的.so库引入Android工程,结合Java代码调用,实现了Unity与Android应用之间的通讯。详细步骤包括环境配置、Android.mk文件编写、Unity3D项目导出等。最终,通过按钮操作展示了数据交互的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

  • 公司需求:在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工程:

  1. 新建空项目
    下图为 最终版 完整工程目录结构:


    最终版工程目录结构

  2. 如上图所示,在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)->Ge
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值