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

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


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


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

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

File -> Project... ->

 

unity 安卓根目录路径 unity调用安卓_包名

新版本在这里

unity 安卓根目录路径 unity调用安卓_包名_02

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

unity 安卓根目录路径 unity调用安卓_Android_03


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

unity 安卓根目录路径 unity调用安卓_unity_04


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


首先先导入classes.jar,

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

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

unity 安卓根目录路径 unity调用安卓_通讯_05


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

新版本直接就有

unity 安卓根目录路径 unity调用安卓_unity_06


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

unity 安卓根目录路径 unity调用安卓_Android_07

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

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

unity 安卓根目录路径 unity调用安卓_unity 安卓根目录路径_08

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

unity 安卓根目录路径 unity调用安卓_Android_09

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


下面就到了unity部分了:

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

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

unity 安卓根目录路径 unity调用安卓_Android_10

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

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

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

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

unity 安卓根目录路径 unity调用安卓_unity 安卓根目录路径_11


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

unity 安卓根目录路径 unity调用安卓_unity 安卓根目录路径_12

第一处改成你的Android包名

unity 安卓根目录路径 unity调用安卓_unity 安卓根目录路径_13

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


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

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

unity 安卓根目录路径 unity调用安卓_包名_14


下面写些测试代码

unity 安卓根目录路径 unity调用安卓_Android_15

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

该脚本挂到Manager上面

unity 安卓根目录路径 unity调用安卓_unity_16


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