unity与安卓之间的调用简单使用方法

1.首先下载Android Studio,配置unity安卓环境,SDK,jdk配置。网上很多教程。
2.创建AS项目,新添加一个模块Module,在新创建Module下的JAVA文件夹下的空文件夹添加Activity,创建一个空
的Empty Activity;
3.在创建Empty Activity 的同时会连带着生成一个布局文件。在res文件夹下的layout下,找到布局文件,删除,在在将
MainActivity中的启用布局的一句代码删除。setContentView(R.layout.activity_main)。
4.将unity中的class.jar包复制一份粘贴到Module下的lib文件夹下,然后右键点击导入模块中,当classes.jar
下有文件时证明到入成功。
5.在Android视图下,然后点击Module下的AndroidManifest.xml文件找到,到app中找到相同的文件将中的文件替换,将报错的地方删除,在《intent-filter》和《activity》中间加入 meta-data android:name=”unityplayer.UnityActivity” android:value=”true”这句话。
6.第一种 :调用JAR包
然后找到MainActivity.java将继承更换为UnityPlayerActivity,编写程序。最后都要Build Module,最后在Project视图下,找到build-》intermediates-》bundles-》debug文件夹右键打开所在文件夹,将libs里面unity自带的class.jar包删除,将生成的Jarbao 放进libs中。将AndroidManifest里面修改包名,全部为小写字幕。
第二种:调用AAR包
然后找到MainActivity.java将继承更换为UnityPlayerActivity,编写程序,最后都要Build Module。在找文件夹时不同,找到build——》output文件夹下有一个AAR包,复制出来修改,将里面的class。jar包替换,将AndroidManifest。xml文件修改包名,不然导进unity中会出现包名重复报错,最后将arr包中的AndroidManifrst。XML修改。将lable和图片删除,其他不变,修改完毕,导入unity中。
7.在unity中新建文件夹Plugins/Android先将包名改为与安卓里面相同的包名
第一种 :调用JAR包
将修改过得libs文件夹和res文件夹和AndroidManifest.xml文件夹放到Android文件夹下
第二种:调用AAR包
将修改过AAR包和AndroidManifest.xml文件夹放到Android文件夹下
8.在unity里面编写方法调用
//获得位于com.unity3d.player这个包下面的unityplayer类
AndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”);
//获得jc所代表的类下的currentActivity对象
AndroidJavaObject jo = jc.GetStatic(“currentActivity”);
用jo.call或jo.callstatic去获取安卓里面的函数
在安卓里面用UnityPlayer.UnitySendMessage(“场景中挂脚本的物体名”,“脚本中的调用的方法名”,“参数”)。
9.Toast创建函数安卓里面表写的方法,直接在unity调用方法即可
public void ShowToast(final String msg)
{
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,msg,Toast.LENGTH_LONG).show();
}
});
}

猜你喜欢

转载自blog.csdn.net/qq_38456478/article/details/79746394