网上有很多关于这一方面的帖子,试了很多都是有问题的,可能是因为版本的原因,这里我写出关于现在unity版本的教程,希望对大家有所帮助,不需要走太多弯路。
环境要求: 1. unity3d 5.4.0f3 2. Android Developer Tools(Eclipse) 在开始之前,这里先说明一下,这篇教程没有太多技术上的东东,以操作为主,所以这里不会讲太多理论的知识。如果大家想要进行理论知识的补充,建议在操作成功以后,再去谷歌有关的资料,这样会更加明朗。祝大家学习愉快!! 开始啦~~~ 1,首先新建android工程 ![]() 给项目取名 ![]() next-->> ![]() 注意:这里最好勾选上,好处待会儿下面讲 ![]() ![]() ![]() 2,创建工程以后,我们需要把unity的工具包引用过来,在eclipes右键工程目录->build path->Add External Archives选项。 ![]() Unity工具包路径在 X:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes(x为盘符)目录下的classes.jar文件。 ![]() 完成后,打开MainActivity类,把该类默认继承的Activity改成继承UnityPlayerActivity类, 然后把不要的代码去掉,如把onCreate函数里面的setContentView(R.layout.activity_main);删掉,并且把onCreateOptionsMenu函数删掉(如果你不需要的话)。 删掉以后长这样子: ![]() 3.我们写一些简单的测试代码,如下 ![]() 保存以后eclips会自动生成编译好的jar包,在bin目录下面,这就是为什么上面需要勾选的原因 ![]() 看,这个就是我们要的jar包,待会儿给unity使用 ![]() 4.新建一个Unity3d工程,新建的过程这里就不介绍了。 在Assets目录下面新建一个Plugins文件夹,放插件用的文件夹,在Plugins目录下面新建一个Android文件夹,以后把安卓的东东会放到这里下面,目录长这样 ![]() 5.然后要拷贝两个文件过来这里, ①一个是刚刚的那个jar包。还记得在哪里吗?在eclipes的bin目录下面 ②就是在你的unity3d安装目录里面的AndroidManifest.xml文件,路径是: x:\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Apk(x是你的安装盘符) 我的路径是 ![]() 其它两个文件夹不用理它 注意:这个千万不能用eclipes里面的,会报错. 两个拷贝完成后目录长这样 ![]() 6.ok,现在我们要对AndroidManifest.xml进行简单的配置 ![]() 如上图: 第一处要改成你自己的项目包名,包名在哪里找呢?就在创建项目时候取名字的时候的那个框 ![]() 什么?没有注意看?那怎么办呢?没事,在代码里面到处都是,看这里 ![]() 好,把包名填好了,上图的第二处就是填写你jar包的入口类。就是MainActivity.java类,记得要加上包名哦。 5.在unity方面,在写c#代码之前,我们还有一个地方要配置,就是android平台界面的配置,看下图 ![]() 这里的包名要跟android的包名要一致才行哦。 6.好了,下面开始写c#测试代码了 在写代码之前我们先用UGUI在场景创建一个button和text,用于待会儿测试。 如下图所示: ![]() 然后,随便创建一个类,挂到场景的任意物体上,开始写代码了 ![]() 在onClick函数里面加入了如下代码 AndroidJavaClass uintyPlayer = new ndroidJavaClass("com.unity3d.player.UnityPlayer");//参数必须为com.unity3d.player.UnityPlayer AndroidJavaObject currentActivity = uintyPlayer.GetStatic<AndroidJavaObject>("currentActivity");//参数必须为currentActivity var result = currentActivity.CallStatic<int>("sum", new object[] { 1, 2 });
textFile.text = result.ToString(); 7,写完了以后进行打包,然后安装到android手机或虚拟机上进行测试 ![]() 测试成功!!如有问题,请在下面留言或者给我发邮件jimhy@qq.com |
|
来自: kiki的号 > 《unity与android的交互》