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

时间: 11-08

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

Unity 使用Plugins接入安卓SDK

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

如何实现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,以后我的所有技术

安卓端与开发板通信

安卓端与开发板通信 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"选项即可打开设置窗体. 接下来,

【百度地图-安卓SDK】从头开始写android程序

首先确保有这四个文件 安装jdk 先安装android开发SDK(并不只是为eclipse服务的),即运行installer_r15-windows,指定存储目录,然后就安装,安装到后期指定你要安装的android的版本等,例如我选1.6的版本,继续安装,很快就能结束. 解压eclipse到任意地方,运行eclipse.exe,点help点install new software,选择 http://dl-ssl.google.com/android/eclipse/ 注意不能是https 然后

Unity接入谷歌支付

文章理由 前段时间负责Unity接入Google内购功能,一开始研究别人的技术博客时发现,他们的文章都有些年头了,有些细节的地方已经不像n年前那样了,技术永远是需要更新的,而这篇就作为2016年末的最后一篇接入谷歌内购文章写给需要的人 准备工作 1.将自己的谷歌账号,支付25美元,成为谷歌开发者账号,开发者信息随意填写(有的博客写着必须填写美国,其实我就填写的中国)2.一台安装有谷歌四件套的安卓手机以及VPN3.一个用于测试的Unity小demo,只需要做好支付按钮就好了 谷歌开发者后台的设置

Unity接第三方SDK时遇到的坑

1.大部分SDK的方法需要在线程中执行,一般会放在主线程里执行,安卓中主线程一般用于UI渲染. this.runOnUiThread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }); 2.当有多个SDK都需要在MainActivity里处理的时候,可以让一个Activity继承另一个Activity.3.第三方jar包里可能会有assets文件夹并且带有资源,这时候需要我

Unity 集成联通SDK

我相信Unity程序员都会遇到加入SDK的问题,我相信如果你不会android编程,我相信你的CPU当场计算过快而爆炸!  这里也写笔记希望能帮助大家 如果有讲错的地方,希望大家能回复并且提供答案!  让我们共同抵抗SDK 呵呵 预备知识: 1. Unity接入SDK有两种方式: 第一种:  Eclipse写好插件放入Unity当中,Unity 写好代码直接发布游戏 (运气好,盘子脸使用的第一种方式) 第二种: Unity先写好代码->android项目->Eclipse进行SDK接入->

Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作

刚进公司给安排的任务就是Unity接入高德地图,算是踩了不少坑总算做出来了,抽点时间写个博客记录一下 废话不多说 先上效果图 获取定位并根据手机朝向显示周边信息            使用的Unity版本为5.5,Androad Studio 2.3.1 接下来开始讲具体操作 首先是Androad Studio的基本配置 1.创建工程,空白的就行,反正也用不到界面布局 等待创建完成 2.新建库模块: 切换到Project视图 右击你的项目 新建一个库模块-用来负责与Unity交互 当然你也可以不

实现不同vlan间的相互通信方法一:单臂路由

实现不同vlan间的相互通信方法一:单臂路由   一.试验目的:通过单臂路由实现VLAN间的通信 二.使用工具:GNS3模拟器,SecureCRT,其中PC1和PC2用Route模拟 三.实验拓扑: 四.具体步骤 1.设置PC1的IP:192.168.1.1 /24 网关:192.168.1.254 最后通过show ip inter brief进行验证 2.设置PC2的IP:192.168.2.1 /24 网关:192.168.2.254 最后通过show ip inter brief进行验证