Unity Unity和Android通讯(Android嵌入到Unity中)

来源:互联网 发布:金融数据挖掘工程师 编辑:程序博客网 时间:2024/05/01 03:09

网上搜到很多帖子关于这方面的,但是自己试了很多都不通过,不知道为什么,终于自己试了一个有用的。

先贴上很多大牛们的帖子吧,讲的很详细的:

http://www.ceeger.com/forum/read.php?tid=32862&fid=27&page=1

http://www.cnblogs.com/Colored-Mr/p/5677209.html

以上两个帖子是使我受益良多的。


下面我就把我踩的坑给大家摆一摆,自己也总结一下。

首先是新建Android工程,因为eclipse版本原因,创建工程的位置也不一样,我的版本是4.5.0,比较老了,

File -> Project... ->

 

新版本在这里


下面注意一下这里的最小SDK level,因为我的最小SDK是 level 16,当时没注意,所以新建项目的时候老是报错,坑了一把;



下一步,这里最好勾选上Mark this project as a library,好处就是,当你build项目的时候会自动生成bin文件夹,里面有你需要的东西哦;


然后就一直Next 到Finsh,项目就新建好了,那就要开始对项目进行修改了。


首先先导入classes.jar,

Unity工具包路径在 unity的安装目录下
Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes(x为盘符)目录下的classes.jar文件。 

右键项目 -> Build Path -> Configure Build Path... ->


选择文件路径就好了,然后apply -> ok;

新版本直接就有


完成后,双击打开MainActivity类,把该类默认继承的Activity改成继承UnityPlayerActivity类, 
然后把不要的代码去掉,删掉以后长这样子: 


然后写两个方法,receive方法是unity调用Android的,参数可有可无,

send方法是Android调用Unity的,三个参数分别是:脚本所挂的物体的名称name,方法名,传递的参数


然后保存,build会生成bin文件夹

看,这个就是我们要的jar包,待会儿给unity使用 。


下面就到了unity部分了:

新建一个Unity3d工程,在Assets目录下面新建一个Plugins文件夹,放插件用的文件夹,

在Plugins目录下面新建一个Android文件夹,以后把安卓的东东会放到这里下面,目录长这样 


然后把上面的jar文件放到Android目录下,

然后把unity3d安装目录里面的AndroidManifest.xml文件,路径是:Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\

放到Plugins下面,放到Android下面运行编译的APK包会闪退,而且AndroidManifest.xml文件不要用eclipse目录下面的,说是有问题,

但是我也没试过,就不是很清楚(闲的蛋疼的话可以试试看)



下面我们要对AndroidManifest.xml进行简单的配置 


第一处改成你的Android包名


第二处就是填写你jar包的入口类。就是包名加上MainActivity.java类


还有就是unity的setting也要改一下,包名要和Android包名一致,

最小的sdk也要注意一下,免得出问题



下面写些测试代码


注释部分因为那种调用方法我没走通,不知是哪里处理问题。

该脚本挂到Manager上面



下面打包运行,就oK了!!!

0 0