Unity3D调用Android接口

来源:互联网 发布:淘宝疯马皮哪家好 编辑:程序博客网 时间:2024/05/21 17:35

Unity3D调用Android接口

由于Unity对手机的某些特殊功能(PS:往往也是比较常用的功能)没有提供对应的接口。我们为了在Unity中实现这些特殊功能,就需要通过MyEclipse或Eclipse等Android编辑器编写Java代码,然后打Jar包,导入到Unity工程中使用,然后就可以在Unity中调用提供的接口。

Android部分

1.    创建Android项目(确认Android环境是否已经搭建好)

File->New->Project-Android->Android ApplicationProject

点击Next


标红的地方比较重要,后面会讲到,只是提醒注意一下。接下来,一直点击Next就OK,生成项目解决方案

结构:


红色方框标示的,就是我们要编辑的Java文件

2.    导入Unity相关的Jar包

该Jar包的目录:unity安装目录\Editor\Data\PlaybackEngines\androidplayer\bin下的classes.jar


3.    Jar导入后,开始编辑相关的文件

打开**Activity.java文件


该Activity继承UnityPlayerActivity,写了一个简单的判断大小的函数(Max)

4.    修改配置文件AndroidManifest.xml

打开文件

一般没有什么要修改的,除非你想要申请特殊权限(手机震动),可以添加下面语句

5.    导出Jar包

 通过终端,进入android项目的bin目录

在终端中输入:

jar -cvf  *  class.jar

6.    Android部分Over

Unity部分

1.    在Unity工程目录下创建Plugins\Android文件,将打出的Jar包、Android工程下面的res、libs和AndroidManifest.xml文件放到Plugins\Android文件夹下

2.    建一个Scene,同时创建一个脚本,将脚本绑定到相机上即可


3.    Unity的PlayerSetting设置

红色方框标示的地方一定要和你的Android项目的包名一致

4.    导出APK包(Ps:我在电脑上运行报错,手机上正常)

5.    可以通过adb logcat查看输出的结果(参考:

http://www.linuxidc.com/Linux/2011-12/48499.htm)

至此结束

 

Tips:

1.如果有library,可能就不能用常规的方法进行调用(PS:因为在打jar包的使用,这个library文件不能打入jar包中)

 

2.AndroidManifest.xml配置文件中Main Activity中的(android:screenOrientation="landscape")一定要和Unity里面设置的一致,不然会出现闪退

0 0
原创粉丝点击