settings
??点击player settings进行一些android 导出的设置。在这里我们设置apk的名称为UnityDemo,显示为横屏,设置包名为cn.unity.demo,要注意的是把install location设置为Automatic,否则apk会安装失败,同时需要指定apk的签名。
名称
横屏
包名
签名
??最后点击build导出apk,如果已经连接上android设备的话,可以直接build and run进行导出和启动。
导出apk
??看下我们最终实现的效果
效果
4 Android上调用Unity的方法??以上我们实现了unity上调用android的方法,那么android上如何调用unity的方法呢,我们先回到unity的AndroidControl脚本。添加方法OnTimeResult,注意在这里需要导入UnityEngine.UI包usingUnityEngine.UI;
public void OnTimeResult (string result) { Text text = GameObject.Find ("TimeShow").GetComponent<Text> (); text.text = result; }??上面代码的意思是获取名称为TimeShow的对象,然后将该对象上的Text脚本的文本改为得到的result。所以我们需要将之前的Text对象名称改为TimeShow
修改名称
??回到android的MainActivity,修改方法showToast,让Toast时间的时候同时调用OnTimeResult方法修改text的文本。
??UnityPlayer.UnitySendMessage("Canvas","OnTimeResult",text);方法的意思是调用名称为Canvas对象上的OnTimeResult方法,传入的参数为text。这样我们的操作就完成了,重复上面的操作,我们来看下效果。
效果
5 使用adb logcat查看日志??上述的过程已经完成了unity和android之间的方法的相互调用,但是问题来了。这样没有出错还好,一旦出错,如何查看日志呢。这个时候我们可以使用android的adb工具了。(使用之前我们需要配置环境变量,至于如何配置adb的环境,这里就不多阐述了)。
??在unity的脚本代码中,增加日志的输出。并导出apk
??打开控制台,输入adb logcat -s Unity,然后打开apk,点击button,这个时候就可以看到刚刚的日志输出了。(ps:更多的adb logcat的语法可以自己百度google查看)