使用AndroidJavaProxy代理方式,让Android与Unity通讯—安卓端操作

举报
呆呆敲代码的小Y 发表于 2021/10/29 17:07:39 2021/10/29
【摘要】 📢前言Unity与Android进行交互一直都是Unity开发Android的一个常用手段其中的交互方式也有很多种,常用的就是UnitySendMessage和AndroidJavaProxy那本篇文章来详细的介绍一下怎样在Android和Unity端使用AndroidJavaProxy代理方式进行交互调用结合一个简单的完整通讯实例来学习,通俗易懂更好理解!看完记得点赞收藏哦~ 🎬Un...

请添加图片描述

📢前言

  • Unity与Android进行交互一直都是Unity开发Android的一个常用手段
  • 其中的交互方式也有很多种,常用的就是UnitySendMessageAndroidJavaProxy
  • 那本篇文章来详细的介绍一下怎样在Android和Unity端使用AndroidJavaProxy代理方式进行交互调用
  • 结合一个简单的完整通讯实例来学习,通俗易懂更好理解!看完记得点赞收藏哦~

🎬Unity与Android交互之✨| 使用AndroidJavaProxy代理方式,让Android与Unity通讯

下面我们就先从Android Studio端开始一步一步做起,Android Studio下面统称AS


🎄Android Studio端操作

🏳️‍🌈第一步:打开AS,新建一个工程

打开AS 之后新建一个项目,如下图几个步骤很简单
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

然后就是等它把工程新建完打开工程后

File->New->New Module,选中Android Library,新建一个Module。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我这里新建的Module名字是MyunityLibrary

在这里创建一个AndroidLibrary,起名为MainActivity,创建好后是这个样子

简单修改了名字和路径之后,我们就进入这个AS工程了

在这里插入图片描述

🏳️‍🌈第二步:修改AndroidManifest.xml

现在这里有两个AndroidManifest,一个是本工程的,还有一个就是新建的unityLibrary的。

这里把app的AndroidManifest中背景的部分全部复制到我们新建的那个Library的AndroidManifest中。
在这里插入图片描述然后记得把我们创建的Library的 package改为com.example.myunitylibrary,然后报红的全删掉.

并且加上下面这一段代码,这段代码必须加上才能与Unity交互!

<meta-data android:name="unityplayer.UnityActivity" android:value="true"/>

改好了如下所示

在这里插入图片描述

这个时候<activity android:name=".MainActivity">还报红是因为我们的Library中没有这个类,给他创建一个即可

在这里插入图片描述在这里插入图片描述
这个时候AndroidManifest就算暂时的改好了!

🏳️‍🌈第三步:导入Unity的classes.jar文件

Unity的classes.jar文件,这个目录在安装Unity的路径下

我的路径是在D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes下。

在这里插入图片描述复制,粘贴到AS的 libs目录下,如下所示
在这里插入图片描述
选中class.jar->右键->AddAsLibrary->选中unitylibrary->Ok
在这里插入图片描述
在这里插入图片描述

🏳️‍🌈第四步:添加回调的接口类

在我们的Library下新建一个接口
在这里插入图片描述
在这里插入图片描述
然后简单写几个方法用于测试交互,如下所示:
在这里插入图片描述

🏳️‍🌈第五步:编写通讯入口方法

在我们的MainActivity中写代码,示例如下:

在这里插入图片描述写了一个Unity调用Android的入口函数setCallback,然后再通过Unity传过来的值调用AS端的接口给Unity发送数据

具体Unity端怎样操作的还需要往下看!

🏳️‍🌈第六步:打包AS成aar包给Unity调用

选中Library然后 Build -> Make Module ‘ ’ 等待编译
在这里插入图片描述然后AS会多出来一个build文件夹,我们找到outputs -> aar 下的aar包,这个就是我们需要在Unity中导入的文件,保存好就行
在这里插入图片描述然后打开这个aar包,把lib文件夹下的class包给删掉,如下所示

如果不能直接打开,把aar修改为zip格式,删掉class后再改回aar格式即可!
在这里插入图片描述

然后AS端的操作就算完成了,接下来Unity中的就简单了,下一篇接着看!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。