Unity与Android交互

  • 新建Android Studio项目;
  • 将Unity安装环境下Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\ Development\Classes的classes.jar放到Android Studio项目libs下;
  • 新建一个Library(在这种格式下才可以导出unity所需要的aar或jar文件),并设置好与classes.jar的依赖关系;

    Unity与Android交互_第1张图片

    Unity与Android交互_第2张图片

  • 在新建的library中创建MainActivity,并将library下layout中的activity_main.xml删除,修改AndroidMainfest.xml文件以及MainActivity文件(MainActivity要继承UnityPlayerActivity,因为Unity导出的apk需要展示在Unity环境中,如果继承自Activity,那么显示的就是Android自己的界面)

    Unity与Android交互_第3张图片

    Unity与Android交互_第4张图片

    Unity与Android交互_第5张图片

  • 在MainActivity中添加Add函数

    Unity与Android交互_第6张图片

  • 重新生成项目,将debug下生成的classes.jar文件替换掉原来的libs下的classes.jar,并将libs、res以及AndroidMainfest文件拷贝到Unity项目中Plugins/Android文件夹下。

    Unity与Android交互_第7张图片

    
Unity与Android交互_第8张图片

**********************************相互调用**********************************

  • 在Unity中调用Android中的Add函数:
(三行代码:首先获取UnityPlayer实例,每个Unity导出的App在启动时都会有一个UnityPlayer实例;然后通过该实例获得CurrentActivity对象;通过该对象调用方法,Call后的泛型表示有该类型的返回值(没有时不写),第一个参数为方法名,后面的参数为方法的参数)

    Unity与Android交互_第9张图片

(通过下面的方法可以将Unity中的数据传到Android中)

    Unity与Android交互_第10张图片

  • 在Unity中添加Show方法:

    Unity与Android交互_第11张图片

  • 在Android中调用Unity的Show方法:
UnityPlayer.UnitySendMessage("Unity中挂脚本的物体","要调用的方法","字符串类型参数")

    Unity与Android交互_第12张图片

  • 通过Unity发布apk(如果Android代码发生改动,要重新生成classes.jar并替换Unity中的classes.jar),发布时注意Bundle Identifier与AndroidMainfest中的package一致
    
    Unity与Android交互_第13张图片

你可能感兴趣的:(Unity与Android交互)