unity3D 相关 android sdk 对接细节文档

									**Unity3D 对接 android SDK笔记**

首先要解释一下unity3D打包中有两个流程,目前先解释第一个:
对接sdk的大体流程是 先在android studio 中生成aar包,在将生成的aar包放到unity工程的Assets\Plugins\Android的目录下面,以供unity 调用,大体流程比较简单,下面讲解一些细节和遇到的坑。
1.首先在android studio 里创建一个工程,注意因为我们需要安卓的界面,所以取消Layout File 的勾选

unity3D 相关 android sdk 对接细节文档_第1张图片
2.在build.gradle中将“com.android.application"改为"com.android.library",同时注释applicationId这一行代码,如图
3.将刚才拷贝出来的class.jar添加到studio的工程中,如图

导入成功后会在build.gradle中看见classer成功被引用了
剩下的就可以在java代码里继承unity的lib了,代码如下:

并且可以将实例化unity的对象,来调用unity的函数了,如图:

在添加一些细节,就是unity调用java函数的时候可以用json的格式传递:如图

4.剩下的开始讲一下unity中c#相关的代码写法:
·第一步创建一个c#的脚本类例如:MessageHandler.cs,在unity的全局场景中创建一个不可不destory的对象,并将此类挂于当前对象上,因为sdk是在游戏任何时候都有可能调用,所以此对象应该是一直存在的,或者需要将函数写成静态的给java调用就可以了。
第二步:在刚才的类中添加一个java的实例,如图:

这样子就可以调用java的代码了,并且传值了,承接上面的java函数,如图:

5.添加一个java调用unity的代码的函数封装,如图:
unity3D 相关 android sdk 对接细节文档_第2张图片
承接上面调用的函数在c#的接受处理,如图:

写到现在unity3D 相关sdk的相互调用就结束了。
补充一个遇到的坑:就是打包的aar包里边放到unity 的Plugins\Android的目录中后直接用unity打包会报错,跟class.jar相关。
需要将aar包中的多余的class.jar删掉就可以了。
也可参考博文:https://blog.csdn.net/yang8456211/article/details/51356193

你可能感兴趣的:(unity3d,android,sdk)