Unity与Android方法相互调用二(使用jar包提供扩展类)

使用jar包进行Unity与Android交互分两种方式。
一种是通过扩展MainActivity。
另一种是提供扩展类。

第一种扩展MainActivity方式作用和第一篇讲的使用arr包基本相同,且这种方式Unity官方已不推荐使用,以后可能会逐渐废置。
本篇主要讲第二种方式,提供扩展类。这种方式不需要导出AndroidMini。但相对的也有局限性,比如不能通过Activity上下文对应用进行操作,只能提供方法供Unity调用。

首先,使用AndroidStudio创建一个新工程。
在这里插入图片描述
File->New->NewModule,创建一个AndroidLibrary。
在这里插入图片描述
找到Unity提供的classes.jar文件,我的是在D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes。
复制到新建的Library的libs目录下,选中classes.jar,右键,Add As Library。
这一步主要是Android调用Unity中的方法时需要的,如果只用Unity调用Android,可以不用导入classes.jar。
在这里插入图片描述
选中新建的classlibrary,点击OK。
在这里插入图片描述
新建一个JavaClass。
在这里插入图片描述
在新建的类中写一个add方法,UnityPlayer.UnitySendMessage是classes.jar提供的Andorid与Unity交互的方法,第一个参数为游戏物体名,第二个参数为调用的方法名,第三个参数为调用时传递的参数。 待会的Unity工程我会在Canvas上挂一个脚本,里面有一个名为ChangeColor的方法,这里的add方法会调用到ChangeColor方法。
在这里插入图片描述
Build->Make Module ‘classlibrary’,等待执行完毕。
在这里插入图片描述
复制导出的classes.jar文件,备用。注意,一定要复制debug目录下的jar包,不要复制libs文件夹里面的,libs里面的jar包是Unity提供给Android使用的包,外面的才是我们刚刚导出的jar包。
在这里插入图片描述
新建一个Unity工程,在Asset目录下新建文件夹->Plugins->Android,把刚刚复制的classes.jar包复制过来。这个jar包名字可以自己改。
在这里插入图片描述
新建Test脚本,用来调用刚刚导入的jar包中的add方法,并将结果显示在Text上。
注意:new AndroidJavaObject的参数是安装工程的报名+类名。
在这里插入图片描述
在这里插入图片描述
将Test降本挂在Canvas上。
在这里插入图片描述
File->Build Setting,将平道切换到Android。
修改PlayerSetting中的包名,基本可以随意改。
点击Build,开始打包。
在这里插入图片描述
打包完成后安装到手机,运行程序。显示数字5,说明Unity调用Android成功。字体变为红色,说明Android调用Unity成功。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值