Unity与Android通信
本文详细介绍android studio创建的Android工程在unity实现相互通信
需要安装的软件:Android Studio、Unity
如果需要本文的全部图片,可以点击链接来下载点击打开链接
一.开启Android的一个工程,点击File下新建如下图所示New Module
二.选择Android Library
三.为Library命名,在这里我命名为BmobPay
四.选中如下图的两个.xml文件,右键选择点击delete,删除
五.安装unity,在unity的安装目录下,找到以下图文件路径,复制classes.jar文件
六.将上个步骤的classes.jar文件粘贴到Project视图下的如下图libs文件下,点击右键选择add as library
七.打开MainActivity.java文件,按如下图修改删除
package com.liujunliang.bmobpay;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import com.unity3d.player.UnityPlayer;import com.unity3d.player.UnityPlayerActivity;public class MainActivity extends UnityPlayerActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); } //unity将会调用addNumber函数 public int addNumber(int a,int b) { //与unity通信,调用untiy的方法 //参数一:挂件游戏对象 //参数二:挂件函数方法名 //参数三:函数方法参数 UnityPlayer.UnitySendMessage("Main Camera","PrintText","http://www.liujunliang.com.cn"); return a+b; }}
八.修改该文件的父类,继承于UnityPlayerActivity
九.之后运行该模块,选择Build,按如下图选择运行
十.运行完成之后,将生成debug文件,按下图路径找到bundles,右键选择点击Show in Explorer
十一.将弹出文件管理,进入该目录下的libs文件夹
十二.该目录的classes.jar是之前我们在unity里加入的jar包文件,右键选择删除删除
十三.将如下图的classes.jar文件添加到libs文件夹下,这里的classes.jar文件时运行后android studio的jar包文件
十四.这是开启unity创建一个工程,在工程的如下图目录下创建如下图所示的目录
十五.按如下图选择三个文件拖动到Android目录下
十六.创建一个C#脚本组件,这里我命名为UnityCallAndroid,并将这个组件挂在到Main Camera游戏对象中
UnityCallAndroid.cs
using UnityEngine;using System.Collections;using UnityEngine.UI;public class UnityCallAndroid : MonoBehaviour {public Text text;// Use this for initializationvoid Start () {}public void OnClicked(){#region 调用安卓工程函数AndroidJavaClass AJC = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");AndroidJavaObject AJO = AJC.GetStatic ("currentActivity");int result = AJO.Call ("addNumber",10,30);text.text += result.ToString ();#endregion}// Update is called once per framevoid Update (){}#region Android工程调用unity方法public void PrintText(string str){text.text += str; }#endregion}
十七.选择unity的File中的Build Settings,弹出如下图对话框
十八.找到如下图的Bundle Identifier 对内容进行修改
十九.回到android工程如下图的.xml文件,复制
二十.粘贴
二十一.使用usb线连接android手机,如果点击Build And Run,Build完成后将自动在安卓手机开启运行
倘若选择Build可以不用连接安卓手机,自行手动发送到手机进行检测
二十二.在这里使用360手机管家了演示结果,开启项目
二十三.哈哈!在这里大功告成!!点击按钮,将显示调用android方法结果以及android调用unity方法结果
本人也在寻找一份游戏开发实习工作,如果大佬们需要开发人员,请把我带走
这是我的简历:resume.liujunliang.com.cn/resume.pdf
作品的话可以私聊我哦!
更多相关文章
- Android中OkHttp的使用
- Adapter那点事
- 代码在android 8 上面正常运行在 android 9 上面却不能联网问题
- Android(安卓)自动更新之状态栏下载
- 第五章 以数据为中心—数据存取(4)
- JAVA设计模式之Template method
- u-boot-2010.09-rc2 移植 6410 笔记之一
- android 图片旋转 反锯齿
- Android(安卓)adbd配置