从零开始实现Unity与Android的交互(一)

之前有SDK接入方面的需求,涉及到一些Unity与Android和iOS原生交互,虽然关于这方面的教程网上有不少,但第一次接触还是遇到不少问题,这里有很多坑与编程无关,很大一部分是配置不当造成的。在此记录下来,做个备忘,也方便后来人学习。


第一步:环境搭建

下面是你需要用到的一些工具:

         1.AndroidSDK

         2.JDK

         3.eclipse

         上面的AndroidSDK,与eclipse直接解压即可,JDK直接下一步安装,这里需要注意的是JDK与elipse,要么都是32位,要么都是64位,本文使用的均为64位 (JDK装完以后可以在cmd中输入java -version来查看版本信息)

  当JDK装完以后,打开eclipse,我们需要安装ADT插件,否则你是不同创建Android工程的,打开 Help -> Install New Software 如图:


Name: ADT (你也可以叫别的,随意)      

Location: http://dl-ssl.google.com/android/eclipse/ (此处需要翻墙,请自挂VPN)

  全选,Next,然后等安装完毕。安装完成之后会提示你重启eclipse,重启之后会提示你填写AndroidSDK路径,如下图


点击 Open Preferences , 如果你没有上面这一步,你也可以从Windows -> Preferences 中打开面板,并在左侧选中Android选项,如图





第二步:创建JAR文件(供Unity使用)

以后设置完毕之后,你就可以创建Android工程了,File -> New -> Project -> Android -> Android Application Project



我们在MainActivity.java中注掉一些我们不需要的代码,并新加一个函数


你发现代码报红了,原因是我们要继承的UnityPlayerActivity,和要使用的UnityPlayer都来自Unity的Jar包(classes.jar文件),它存放在:

D:\Program Files\Unity5.3.6\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes

(把D:\Program Files\Unity5.3.6,换成你的安装目录)

然后把classes.jar拖入eclipse工程的libs目录下(如果没有可以的动新建一个)



经过上一步,你会发现报红没有了,接着我们就要导出jar包了 File -> Export -> Jar file 


此处一定要选第二项,否则unity打包APK的时候可能会报错,如果这么做,Unity还会报错的话可以,鼠标选中bin,右键Show In -> System Explorer 然后进入bin\classes\com\example\jartest 文件夹下,把除了MainActivity.class文件以外的所有文件都删了,再生成jar包。(此处重中之重,困扰了我很久,尴尬)



第三步:设置与编写Unity代码

Unity项目中新建Plugins->Android,将Android工程的AndroidManifest拖进去,然后新建bin,把生成的jartest.jar拖入,把res和libs从Android工程中拖入(在Unity中的libs中删除classes.jar文件,重中之重!)



这里说明一下Android工程中的UnityPlayer.UnitySendMessage("Main Camera", "AndoridCallBack", "hello world [Android]");

第一个参数,是Unity中绑定的GameObject,第二个是函数的名称,第三个是自定义参数,这个API是Android访问Unity用的。



第四步:生成APK与真机调试

这里的关键是Unity的BundleId要与Android工程的一致


最后我们用adb工具来联机调试查看输出


至此,Unity与Andorid的交互终于完成了。但是还有一些问题,比如AndroidManifest是做什么用的,具体怎么配置,如果有多个jar包,Unity又该怎么调用。BundleId填谁的,下一篇文章会详细介绍!


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值