栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

SDK的接入之Unity与Eclipse的交互

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SDK的接入之Unity与Eclipse的交互

在使用Eclipse之前,你要先安装一个Eclipse,至于安装Eclipse的过程就不在这里赘述了,大家不会百度。

1.新建一个安卓过程

我使用的是Eclipse2021.06版本,其他版本的新建有所不同,但都大同小于,第一步:点击File->New->other

接下来会弹出一个弹窗,选择Android Application Project,点击Next
接着又是一个弹窗,在这个弹窗中设置工程的名字,包名,AndroidLevel等。我的设置如下,这里面设置比较重要的就是Package Name,这个要与Unity的包名保持一致。另外就是Theme,我这里的选择是None,剩下的选项选择之后在后面的操作是会报错。大家根据自己的情况自行选择。
接下来还是弹窗,这个弹窗主要是勾选Create activity,勾选了会在工程中为你创建一个MainActivity类

接下来还是一个弹窗,这个弹窗让你设置App的Icon,直接点击Next

接下来还是一个弹窗,这个弹窗是创建一个MainActivity类,可以自己修改这个类的名字,如果你在上面的选择中没有勾选Create Activity,那么你不会有这个弹窗
在这个android工程中我们主要操作的是 src文件夹和libs文件夹,如果创建的工程没有libs文件夹,我们自己创建一个libs文件夹

以上就是创建Android过程的步骤

2.导入jar

libs文件夹是用来放jar文件的,先导入Unity的class.jar文件,路径是Unity2018.4.18UnityEditorDataPlaybackEnginesAndroidPlayerVariationsmonoReleaseClasses
如果你在接第三方的sdk,需要把第三方sdk的jar文件也导进来。
导进去之后选中他们然后点击右键->BuildPath-> add to build path,至于add to build path的具体作用我推荐你看这篇文章 导入jar包add to build path的作用

3.写MainActivity类

在我们创建安卓工程的时候我们就已经创建了一个MainActivity类,我们先注释掉OnCreate方法中的setContentView,要不然会显示Android的默认布局文件,上面就一个 Hello World。Unity与Android交互的代码都可以写在这个类中,这个类要继承自UnityPlayerActivity类,当然android也可以调用Unity脚本里面的类。我们在MainActivity类里面写两个方法分别是 UnityToAndroidTest_1 UnityToAndroidTest_2。再写一个android调用Unity的方法 AndroidToUnityTest, 这个方法我们在onCreate()调用一下,这样我们在启动好app就会收到安卓发过来的消息。android向Unity发送消息只能使用UnityPlayer.UnitySendMessage这个方法,这个方法有三个参数,第一个参数为unity中的一个gameobject名称,第二个参数为这个gameobject身上捆绑的脚本中的一个方法,而第三参数事实上是这个对应方法上的参数。

4.导出jar文件

经过上面的步骤我们在安卓工程上面的操作只剩下导出jar文件了,选中你的安卓工程,点击右键->Export
在弹出来的弹窗中选择Java->JAR file

我们只需要导出src文件夹中的MainActivity类,如果你有其他需要导出的文件也可以选择一起导出(在接第三的sdk时可能需要写多个类)。然后选择导出的路径

这样我们就导出了一个jar文件。

在这里说一个题外话,这个安卓工程使用的eclipse版本是Eclipse IDE for Java Developers - 2021-06,在这版本中你要是保存了你编辑的类或者其他的东西,那么eclipse会自动build这个project。点击上方的Project可以选中了build Automatically。如果你使用的版本没有这个功能,记得build一下这个project再进行导出。

5.新建Unity工程

建一个Unity工程,在Assets下新建Plugins/Android,把导出的jar文件放到Plugins/Android,如果你在接第三方的sdk那么需要把相关的jar文件放到Plugins/Android/libs,如果第三方sdk有asset、res文件夹把他们复制到Plugins/Android下, 注意:Unity的class.jar文件一定不需要放进去

6.编辑AndroidManifest文件

另外还有一个AndroidManifest的xml文件,也需要放到Plugins/Android下,AndroidManifest文件的内容可以复制我们安卓工程中的AndroidManifest文件内容

在AndroidManifest文件中主要是注意一下 minSdkVersiontargetSdkVersion,这两个值在我们创建安卓工程的时候就说过,在打包值要和Unity中的保持一致。另外在接第三方sdk是需要在AndroidManifest中需要添加一些权限,关于AndroidManifest的一些基础知识,我推荐看这篇文章 AndroidManifest基础知识

7.Unity脚本

在Unty中我们创建一个空物体SDKManager,创建一个脚本AndroidToUnityTest挂载在上面和我们上面提到的UnityPlayer.UnitySendMessage方法里面的参数保持一致。然后我们在脚本里面写一下方法调用到安卓里面的方法。

在Unity中主要是注意两个固定写法,就是Start方法里面的jc和jo。这两个方法是固定写法。AndroidJavaClass和AndroidJavaObject在Unity的官方都有介绍,更多内容可以去官网看哦。

8.打包

打包的时候我们需要设置包名、Icon和SdkVersion

这样可以测试了。

9.测试结果


接sdk的过程是一个很细致的工作,其中的细节有很多。对于只熟悉Unity的同学来说这是一个极其难受的工作,你可能不熟悉安卓的一些东西,会遇见很多莫名其妙的错误,所以在sdk的时候一定要细心,遇见错误百度一下,按照别人的做法一步一步来。

怎么接第三方SDK

另外再简单说一下怎么接第三方SDK,在上面的过程中我们详细说明了怎么新建安卓过程以及怎么怎么和Unity交互。如果是接第三方SDK,那么你只需要把第三方的SDK的jar文件放在libs文件下面就可以了,其他第三方SDK的asset、res、bin文件都可以不放在安卓工程里面。在写好MainActivity类之后导出jar。然后把第三SDK的asset、res、bin文件直接复制到Plugins/Android目录下就可以了。主要是打包的时候回遇到很多错误,这时候就是考验个人解决问题的能力了,我在接第三方的SDK的时候遇见了很多报错都是通过百度解决的,百度一下这个错误,看看是什么造成的,按照他们的方法试一下,一定要有耐心!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900834.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号