欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

程序员文章站 2022-06-23 21:32:16
本篇主要讲通过安卓向unity发送字符串消息。一.工具如下:1.Unity2019.4.35f1;本教程2019版本的unity均可使用。2.AS4.0创建原生安卓工程;其他版本应该也适用3.VS2019编写unity代码;任何版本都可以二.流程综述1.创建unity安卓工程,生成对应的安卓apk(相关配置请参阅https://mp.csdn.net/editor/html/81739935);2.创建接受安卓信号的代码块3.创建安卓原生工程,书写向ios发送消息的代码块,生...

本篇主要讲通过安卓向unity发送字符串消息。

一.工具如下:

1.Unity2019.4.6f1;本教程2019版本的unity均可使用。

2.AS4.0创建原生安卓工程;其他版本应该也适用

3.VS2019编写unity代码;任何版本都可以

二.流程综述

1.创建unity安卓工程,生成对应的安卓apk(相关配置请参阅https://mp.csdn.net/editor/html/81739935);

2.创建接受安卓信号的代码块

3.创建安卓原生工程,书写向ios发送消息的代码块,生成对应的jar包

4.将jar包导入工程并且进行相关的配置

三.详细流程

第一步,unity原生工程+创建接受安卓信号的代码块

1.创建unity工程,将平台更改为安卓

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

2.新建场景,在新的场景中创建物体,名字为“aaa”,注意这个名字很重要,安卓那边要统一使用,可为任意名字,只要对的上就行;

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

3.创建新的脚本:挂载到第二部创建的物体上面。这个简单的消息就是当收到安卓发送的消息后,将其展示在Text上。(jar包的安卓必须在安卓设备上运行才编译,编辑器上无法使用的)

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

第二步,创建安卓原生工程

1.创建安卓空白工程

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

2..找到图中android模式下的activity.main.xml,将其删除。

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

3.找到图中的MainActivity删除报错的那一行

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

 

4.在app中,将第一行注释掉,将第二行内容添加至此

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

5.注释掉下图中的第7和第12行

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

至此,你可以点击build生成对应的jar包了,这个只是开始配置的第一步,还没有开始与unity 交互

7.导入Unity的jar包,到libs中,如下图:

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

jar包路径:D:\Softwares\unity\2019.4.6f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Classes;红色部分为你的Unity的安装路径

8.导入UnityPlayerActivity.java代码块:

UnityPlayerActivity.JAVA路径:D:\Softwares\unity\2019.4.6f1\Editor\Data\PlaybackEngines\AndroidPlayer\Source\com\unity3d\player

9.在MainActivity中编写交互代码:

public class MainActivity extends UnityPlayerActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
    public static String tocken="fasmfoahn i,mg;hlag .g,apjkgafmdkfbaief adfmoe[fdmf";

    ///向Unity 发送消息,此处方法名很重要,在Unity中要用
    public  static void Send()
    {
        UnityPlayer.UnitySendMessage("aaa","sendMessage", tocken);
    }
  ///aaa为Unity接收消息的物体,sendMessage为接收消息的方法名,tocken为发送的消息
}
将MainActivity 的继承更改为:UnityPlayerActivity ;

10.点击Rebuild,生成新的jar包

至此安卓工程完毕。

将jar包导入工程并且进行相关的配置

 1.在以下路径中找到app-debug.aar包

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

2.在文件夹中找到app-debug.aar,并解压

3.在解压的文件中找到以下两个文件,并将其放入unity的Assest/Plugins中

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

4.创建ReciveMessage,挂载在场景中

public class ReciveMessage : MonoBehaviour

    AndroidJavaClass androidJava;
    AndroidJavaObject @object;
   
    void Start()
    {
         androidJava = new AndroidJavaClass("com.unity3d.player.UnityPlayer");//这个是固定写法
         @object = androidJava.GetStatic<AndroidJavaObject>("currentActivity");//这个可以更改,但是对应的是安卓那边的Activity,本次配置无更改,按照这个写就可以
         @object.CallStatic("Send");   
    }
     
}

5.AndroidManifest配置,注意红色地方的包名,这个是安卓原生的包名。第二个红框是应当添加的,不然会闪退。

Unity2019.4.6f1和AndroidStudio4.0实现安卓原生向unity发送消息

打包场景并运行。试试看你成功了没有吧。有问题私聊我吧

本文地址:https://blog.csdn.net/mo_qi_qi/article/details/110189425

相关标签: Unity 安卓