本文详细介绍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

作品的话可以私聊我哦!


更多相关文章

  1. Android中OkHttp的使用
  2. Adapter那点事
  3. 代码在android 8 上面正常运行在 android 9 上面却不能联网问题
  4. Android(安卓)自动更新之状态栏下载
  5. 第五章 以数据为中心—数据存取(4)
  6. JAVA设计模式之Template method
  7. u-boot-2010.09-rc2 移植 6410 笔记之一
  8. android 图片旋转 反锯齿
  9. Android(安卓)adbd配置

随机推荐

  1. Android全透明状态栏
  2. 对Android中Tab的使用总结
  3. Android(安卓)Adobe工具类
  4. android 语音识别
  5. Android出现java.net.SocketException: P
  6. Android配置ip地址
  7. Android中的一些方法-----生生不息
  8. java.lang.IllegalStateException: Actio
  9. Android(安卓)Handler总结1-定义与用法
  10. Android(安卓)IOS 安全书籍