unity接入安卓SDK,与安卓相互通信

.接SDK是个什么样的活计?

SDK的工作流程:

1. 从unity端出发,向安卓发起一系列的请求(unity call android)。

2. 安卓端收到unity端调用,然后在具体调用SDK的一系列接口(android内部调用)

3. SDK服务器处理之后得到结果,再返回给安卓(网络通信)

4. 安卓获得SDK结果,然后回调unity方法,将结果传回unity端(android call unity)

我们需要做的:

1. 在安卓端,将SDK集成进入 Android的 MainActivity(或者其他Activity),为Unity的调用做好接口

2. 将做好的安卓接口,打成jar包,以插件的形式,集成到Unity中去,供unity使用

3. 编写Unity端的调用 函数与响应函数,完成SDK接入。

2.unity 与 android 的通信:

unity  Call android:

1 //获取名为UnityPlayer的类
2 AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
3
4 //获取当前运行的Activity
5 AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
6
7 //调用UnityPlayer类中的函数
8 var result  = jo.Call<返回结果类型>("函数名称","函数参数1","函数参数2",……);

android Call unity:

UnityPlayer.UnitySendMessage("场景中GamObject名字","该Obj身上脚本的一个方法名",返回值(字符串类型));

3.实际操作

3.1 准备工作

  1. 安卓开发环境,因为我们需要扩展UnityActivity,并且将扩展过后的结果打成 .jar包放入Unity,所以,我们需要 Android Studio 或者Eclipse+ADT,作者使用的Android Studio3.01.(下载网址:http://www.androiddevtools.cn/ )
  2. SDK源文件,这个看你需要接入什么SDK,去官网下载即可。
  3. Unity 的Android classes.jar文件,这里面定义了unity 在安卓中的各种行为,我们在编写代码的时候,需要用到这里面的接口。(路径为:\Editor\Data\PlaybackEngines\androidplayer\release\bin\classes.jar  )

3.2开始创建Android工程

  

问题:

1.Conflict with Dependency

1 Error:Execution failed for task ‘:app:preDebugAndroidTestBuild‘.
2 > Conflict with dependency ‘com.android.support:support-annotations‘ in project ‘:app‘. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

解决方案

//在build.gradle(Module:App)文件的dependencies中添加如下代码

  androidTestCompile(‘com.android.support:support-annotations:26.1.0‘) {
        force = true
    }

  

原文地址:https://www.cnblogs.com/leiGameDesigner/p/9930871.html

时间: 2024-10-11 06:40:27

unity接入安卓SDK,与安卓相互通信的相关文章

Unity接入小米SDK注意事项

Unity项目要接入小米SDK,下载SDK,然后新疆了Android工程,照着文档接入完毕.在运行的时候,居然报错 call to OpenGL ES API with no current context (logged once per thread),一脸懵逼. 查找资料之后才发现,小米的SDK不要求我们创建Activity,所以我们直接使用Unity本身正在使用的当前Activity,只是请注意,一定要使用runOnUiThread来调用,否则可能会出现调用不到的情况. 下面贴上接入小米

Unity接入自定义插件-调用安卓原生震动

前言:在网上看了好多接入安卓震动的例子,但是打包的时候总是会冲突,不是多个图标就是不能用等等,其实就是跟其他安卓插件冲突了.为了解决冲突问题,对于我这个安卓小白来说真是难啊,终于千辛万苦找到了一篇文章,解决了我这个问题. 看过文章后才知道继承了UnityPlayerActivity这个类后,两个只能显示一个,但是震动要用的方法只能在这个类中执行,所以就直接引用当前窗口. UnityPlayer.currentActivity.getSystemService(Context.VIBRATOR_S

Unity 使用Plugins接入安卓SDK

1.须知 本帖适合对安卓一点基础都没有,有一定Unity基础.刚刚接完一个某文档很简单的渠道SDk,也当是自己总结一下. 2.Eclipse中项目创建与理解 3.AndroidMainifest.xml 理解. 4.Unity中的目录. 5.各类异常及解决方案. 1.Unity中接入安卓SDK图解 7.实例开发,接入XX.

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 Activit

如何实现Windows Phone代码与Unity相互通信(插件方式)

一些废话 原文地址: http://imwper.com/unity/petto/%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0windows-phone%E4%BB%A3%E7%A0%81%E4%B8%8Eunity%E7%9B%B8%E4%BA%92%E9%80%9A%E4%BF%A1%EF%BC%88%E6%8F%92%E4%BB%B6%E6%96%B9%E5%BC%8F%EF%BC%89.html 我的博客迁到这里了www.imwper.com,以后我的所有技术

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

U8SDK的设计之初,就是为了可以支持各种游戏引擎开发的游戏,而不不过Android的原生平台.眼下一大半的手游,都是採用Unity3D和Cocos2dx开发,那么这里,我们就先来一步步给大家演示,用Unity开发的游戏,怎样通过U8SDK来高速地完毕多家渠道SDK的接入. Unity研发的手游,仅仅须要调用U8SDK抽象层就可以完毕多家渠道SDK的接入.而不须要在Unity中耦合各个渠道SDK,保证游戏层逻辑层的简单,以及SDK部分的绝对重用. 以下,我们看看,在Unity中调用U8SDK主要

【Unity】微信支付官方安卓Demo的使用问题

Unity3d使用微信支付是属于APP内发起支付调用的情况,其本质上是在安卓项目上使用微信SDK,安卓项目开发完成后再导入到Unity中作为Unity插件使用,即Unity中C#调用安卓(Java)代码的流程. 微信官方给出的支付Demo在这里,但是使用过程中遇到很多坑,网上类似的文章很多,但大多年代久远,不清楚其他人做安卓微信支付是否也是踩着这些坑过来的,总之记录下来方便以后再遇到. 首先,该Demo居然是个远古时代的Eclipse(基于ADT插件)的安卓项目!你可以选择下载Eclipse和A

安卓端与开发板通信

安卓端与开发板通信 1.由于我们本实验使用到的是串口2,,即串口2给wifi核心板使用,改变跳线帽,让原来串口2是提供给zigbee使用的,改为给wifi使用. 2.添加ser2net应用程序 上一次我们成功的让驱动程序支持了串口 2,并且做了简单的测试.接下来, 我们就为串口 2 添加一个应用程序,从而实现 Wi-Fi 串口 # cd /openwrt/trunk/ # make menuconfig Network -> ser2net 保存退出 # make V=99 3.烧录固件,进入系

如何解决安卓SDK无法下载Package的问题

有些用户在安装好Android SDK后,打开Android SDK Manager下载API时一直显示"Done loading packages"却迟迟不能前进.自己也出现了这种情况,把自己成功解决此问题的方法分享给大家. 方法/步骤 用户需要首先打开已下载的安卓SDK管理器"Android SDK Manager",然后点击菜单栏中的"Tools"菜单选项,接下来只需选择"Options"选项即可打开设置窗体. 接下来,