Unity 接入Android SDK-小米sdk

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 接入Android SDK-小米sdk相关的知识,希望对你有一定的参考价值。

接入android SDK流程分为以下四步:

1.Android Activity文件 与 unity的调用java接口(AndroidJavaClass/AndroidJavaObject)

2.Android java代码写完后,打包成JAR包

3.copy Android工程到Unity

4.Android回调Unity(UnityPlayer.UnitySendMessage)

一、写Android Activity文件 与 unity的调用java接口

Android Activity文件有两种方式:

1. 继承 UnityPlayerActivity

Android java代码

技术分享 

unity的调用

技术分享 

AndroidJavaObject对应Java的基类Object,通过这个类,可以在Unity中直接通过类名构造Android中的Java类,一般我们使用该类进行Android代码调用
AndroidJavaClass继承于AndroidJavaObject,与其之间的关系等价于Java中Object与Class的关系,一个是类的实例,一个是类的类型

 

2. 使用Unity本身正在使用的当前Activity

Android java代码

小米的sdk不要求我们创建独立的Activity,所以我们直接使用Unity本身正在使用的当前Activity,只是请注意,一定要使用runOnUiThread来调用,否则可能会出现调用不到的情况。

技术分享 

 

unity的调用

技术分享 

 

二、Android java代码写完后,打包成JAR包

方式1:

下面我们学习如何在Unity中去调用它。首先Build一下当前的Eclipse工程,代码所有的.class文件都生成在了Android工程的bin文件夹中,当前工程的路径是UnityTestActivity->bin->classes->com->xys->你的.class文件。下面需要对这些.class文件进行打包,苹果系统的话打开电脑的终端,cd到classes文件夹的目录下,接着执行代码

jar -cvf class.jar *

这行代码的意思是把当前目录下的所有.class文件打包成.jar文件,保存文件名称为class.jar

在上诉步骤中有一点尤为重要,==就是当你在生成jar包之前请一定要确认你要生成的路径下有没有R开头的class文件==

 

例如这些R文件,这些R开头的文件可能会导致你Unity发安卓包失败,因为在Unity本身自带的classer.jar包里面是有R文件的,它会和你的这些R文件冲突。

 

三、copy Android工程到unity

1.Android工程中的res、asset copy到Assets\Plugins\Android

2.JAR包和对应SDK的jar copy到Assets\Plugins\Android\bin

3.设置AndroidManifest.xml

四:Android回调unity

技术分享 

第一个参数是Game Object对象,所以需要在游戏对象上绑定脚本。
第二个参数是unity中定义的方法名。
第三个参数是定义方法的参数(可空)。


本文出自 “13233523” 博客,请务必保留此出处http://13243523.blog.51cto.com/13233523/1978713

以上是关于Unity 接入Android SDK-小米sdk的主要内容,如果未能解决你的问题,请参考以下文章

Unity3d Android SDK接入解析通用的Android SDK接入中间件

Unity3d Android SDK接入解析接入Android Library的理解(爱贝云支付为例)

Unity3d Android SDK接入解析Unity3d Android SDK的设计与两种接入方式

教你高速高效接入SDK——Unity统一接入渠道SDK(Android篇)

Unity3d Android SDK接入解析Unity3d Android SDK的设计与两种接入方式

unity5.0接入android sdk的问题