1.androidStudio创建新项目(参数:API选16,Empty Activity)
2.创建新模块:
3.创建MainActivity:
4.删除res/layout文件夹下的activity_main.xml,删除MainActivity中setContentView(R…)这一行。
5.复制Unity中classes.jar文件到新建库的libs下,选择刚刚的classes.jar右键选择Add As Library,选择添加到新建的模块下(如果安卓这边不需要调用Unity方法,可以忽略这一步)。
6.选择默认的空工程,复制AndroidManifest文件中application标签中的内容到新建库的AndroidManifest中对应的地方,删除把报红的内容(注意尖括号),android:label=”应用程序名字”,添加
7.修改MainActivity的继承关系为继承自UnityplayerActivity,会自动导入所需的包
8.编写所需的方法,选择Build->MakeModule
9.
10.修改aar包内容:打开aar包,删除libs里面的classes.jar(Unity2017版本的需要将aar包中的classes.jar复制进libs文件夹里面),删除aar包中AndroidManifest.xml文件的icon、label两行
11.Unity中新建Plugins/Android文件夹,复制aar包进去,复制生成的AndroidManifest.xml进去,此时,aar包中以及同级目录下各有一份AndroidManifest文件
12.新建脚本,调用aar包中的方法:
//获取位于com.unity3d.player包下的UnityPlayer类
AndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
//获取jc所代表的类下的对象
AndroidJavaObject jo = jc.GetStatic(“currentActivity”);
//单独的Call代表没有返回值,泛型的Call代表有返回值,返回值类型在尖括号定义,参数:第一个为方法的名字,后面的可变参数依次为方法所需的参数
text.text = jo.Call(“add”, 10, 15).ToString();安卓调用Unity的方法:AndroidStudio中调用格式:
UnityPlayer.UnitySendMessage(s:”挂载脚本的物体名”,s1:”方法名”,s2:”参数”);
打包时注意,playersetting中的PackegName需与Plugins/Android下的AndroidManifest中的包名一致
备注:如果androidstudio中找不到文件夹,可点击左上角选择Android或者Project来切换视图另一种方法为:安卓提供class供Unity调用,新建库/Java,选择第一个文件,右键新加Class
做完Make Module,将编辑好的jar包复制进Unity中对应的文件夹下,调用方式略微不同
Test后面可以添加一些参数,这些参数为这个类的构造方法所需的参数,如果方法为静态的,调用如下
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删