Unity调用Android

准备工作

1、JDK、SDK、Eclipe、ADT或者Android Studio
2、Android项目创建
3、导入Android支持jar
Class.jar路径: Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Developmen\Classes

Android代码编辑

1、普通类,和java编写没有不同,可以带参数,可以有返回值。尽量减少两者之间的调用,最好是用java代码处理完毕再返回给unity。
2、需要使用到Activity并且在Unity里调用的类,继承UnityPlayerActivity。
protectedvoidonCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
}
在路径 Unity\Editor\Data\PlaybackEngines\AndroidPlayer 下找到AndroidManifest文件,拷贝放到Unity工程Plugins/Android下,在里面添加标签。

Unity调用

导出Jar文件,在Unity工程里创建Plugins/Android/lib文件夹,把jar文件放进去。

Unity里使用AndroidJavaClass、AndroidJavaObject类来调用、操作java代码。

AndroidJavaClass直接是这个类,
一般通过这个类获取静态方法,AndroidJavaObject也可以。CallStatic<返回值>(“方法名”,可变参数)
AndroidJavaObject是创建这个类的对象,和java对象使用相同
可以调用这个类里的任意方法和字段。Call<返回值>(“方法名”,可变参数),Get(“字段名”)

Android发送数据到Unity

使用UnityPlayer.UnitySendMessage方法
UnityPlayer.UnitySendMessage(“接收数据的脚本所在物体名”,“方法名”,参数)
只能发送string类型数据,不可变参数。