[Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置
[安卓]Android Studio 3.0 JDK安卓环境配置(2017.10)
http://blog.csdn.net/bulademian/article/details/78387052
[安卓]Android Studio 3.0 安装包说明(2017.10)
http://blog.csdn.net/bulademian/article/details/78387199
[安卓]Android Studio 3.0 安装 后的 正常的设置的反应(2017.10)
http://blog.csdn.net/bulademian/article/details/78387367
-------------------------------------------------------------------------
主要是 根据 参考资料3 的内容。本文尽量减少文字的 描述。参考资料1 有 一点 问题。
本文的内容需要 对照 参考资料3 来查看
建立 新的工程。
点击 FINISH 按钮,新建工程。
找到 libs 的文件路径。右键 libs 文件夹,find in path 。
按 esc 按键 退出 find in path。
打开文件路径。
安装路径下 的 UNITY 文件夹。(具体 UNITY 的设置 参考下一篇文章 参考资料2)
D:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\mono\Release\Classes
classes.jar
复制粘贴 到
E:\Android\AndroidStudioProjects\UnityTest\app\libs
文件夹,如下图所示。
正常情况下,这里就会有如下图所示。
不做任何 处理,点击 FINISH 按钮后。
就新建了MainActivity ,右边是初始脚本。
删除
<activity android:name=".MainActivity"></activity>
复制初始模块 的这个app 的 mainfests 文件夹的 AndroidMainfest.xml 文件的内容。
粘贴到 新建unity_exchage模块 的这个unity_exchage 的 mainfests 文件夹的 AndroidMainfest.xml 文件的内容。
由于这2个模块 中都有 MainActivity ,原文并没有 说明 是哪个 MainActivity。因此 先 对 app 的MainActivity 进行修改。
后来发现 是 unity_exchage 的 MainActivity
import com.unity3d.player.UnityPlayerActivity;
这个时候,如下所示。
改为如下所示。
下面就是在Android中编写Unity要调用的方法了,例如我这里只写一个简单的两数求和的方法:
//两树求和
public int add(int a,int b)
{
return a+b;
}
选中 unity_exchange 点击build -- Make Module 'unityexchange'
等待一下,就会显示如下所示。如果没有,就重新试几次。
使用 Build -- Make Project 或者 Build -- Rebuild Project 重新编译工程。
工程 下 的 unity_exchange 的 build 的 intermediates 的 bundles 的debug没有如下图 所示 的文件,就多 重新编译工程几次。
右键 debug 文件夹,show in explorer
使用 Build -- Make Project 或者 Build -- Rebuild Project 重新编译工程。
然后把debug文件夹下的classes.jar文件移动到libs文件夹中,并且把libs文件夹中的class.jar文件替换掉。然后将debug文件夹下的libs文件夹、res文件夹、AndroidManifest.xml文件导入到Unity的Assets/Plugins/Android文件夹下(没有这个文件夹需先创建)。
AndroidManifest.xml就是 如下图所示,的01_Unity_Message3/unity_exchange/src/main/AndroidManifest.xml
如果下图中没有 AndroidManifest.xml 文件,就把上图所示的AndroidManifest.xml 复制粘贴到下面。
就把 把下面这3个文件(包含 AndroidManifest.xml )复制粘贴到 如下图所示的 Unity 的位置。
Plugins/Android/
正常 的文件 结构如下所示。从 AS3.0 导入 过来的文件,都在 Plugins-- Android 里面
新建脚本,挂载 上 Main Camera 上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;//使用 该引用,才能获得 Text 组件。
public class Android_Test : MonoBehaviour {
private Transform canvasTras;//UGUI的Canvas
private Text text;//用来显示 界面的文本
private Button btn;//前端的按钮
private AndroidJavaObject jo = null;
// Use this for initialization
void Start () {
//固定写法
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
jo = jc.GetStatic<AndroidJavaObject>("currentActivity");//获取当前Activity对象,即Android中的MainActivity
canvasTras = GameObject.Find("Canvas").transform;
text = canvasTras.Find("Text").GetComponent<Text>();
btn = canvasTras.Find("Button").GetComponent<Button>();
btn.onClick.AddListener(Click);//按钮点击事件监听下面的Click()方法
}
//这个方法是在界面点击按钮的时候调用,使用的是UGUI的BUTTON组件
public void Click()
{
text.text = "";//点击的时候先清空
int res = jo.Call<int>("add", 56, 100);//调用Android中的方法,"add"为方法名字,56,100,分别是想加的参数
text.text = "56 + 100的结果是:" + res.ToString();//显示前端
}
}
在 Unity 的 GameObject -- UI 新建 Text 和 Button
布局如下所示
复制 package 的名字
粘贴到这里 的package 位置。
点击 update android SDK。等待读条结束,UNITY 后台程序。
在虚拟机 ,上 测试 APK
真机测试
如果是正常的,就会 进入 程序显示,made with unity
-------------------------------------------------------------------------
参考资料:
1.[自学总结] Unity调用 Android 接口实践与总结(Unity5.6 和 Eclipse 及 AndroidStudio2.3.1)
http://www.manew.com/thread-103445-1-1.html
2.
[Unity][安卓]Unity和Android Studio 3.0 交互通讯(2)Unity 设置
http://blog.csdn.net/bulademian/article/details/78387470
3.
Android Studio 与 Unity3d交互。归纳版。
http://blog.csdn.net/ldghd/article/details/54312532
4.
Unity5与Android交互通信(使用Android Studio2.4) 详细操作一
http://m.blog.csdn.net/u010377179/article/details/53105062
5.
6.
7.
---------------------
作者:BuladeMian
来源:CSDN
原文:https://blog.csdn.net/bulademian/article/details/78387461
版权声明:本文为博主原创文章,转载请附上博文链接!
[Unity][安卓]Unity和Android Studio 3.0 交互通讯(1)Android Studio 3.0 设置的更多相关文章
- Android Webview 和Javascript交互,实现Android和JavaScript相互调用
在Android的开发过程中.遇到一个新需求.那就是让Java代码和Javascript代码进行交互.在IOS中实现起来很麻烦.而在Android中相对来说容易多了.Android对这种交互进行了很好 ...
- unity开发android游戏(一)搭建Unity安卓开发环境
unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...
- 搭建Unity安卓开发环境
原文见 https://blog.csdn.net/chenggong2dm/article/details/20654075 tiny教程 https://docs.unity3d.com/Pack ...
- Unity安卓共享纹理
前置知识:安卓集成Unity开发示例 本文的目的是实现以下的流程: Android/iOS native app 操作摄像头 -> 获取视频流数据 -> 人脸检测或美颜 -> 传输给 ...
- Unity上线google商店 用IL2Cpp打包64位版本和Android APP Bundle优化 及产生的bug
ios刚上线,这边着手改成android版本,我开始使用的是unity2017.4.1版本 上传谷歌商店是出现这两个警告: 要支持64位,但是在2017版本上没有找到64位的打包选项,猜测应该是版本的 ...
- Unity安卓apk打包过程
前言:对于Unity开发小白来说,Android打包无疑是个头痛的问题,所以我总结了 Unity安卓APK的打包过程 第一步:下载对应版本的Android Platform 第二步:安装JDK并配置J ...
- Unity安卓连接profile调试
通过USB ADB 1.从Unity中Export Android 工程的时候一定要勾选 Development Build,autoconnect profiler 2.cmd进入adb的目录(打开 ...
- 【Android Studio安装部署系列】三十五、从Android studio3.0.1升级到Android studio3.1.4【以及创建android p模拟器的尝试(未成功)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 因为想要使用Android P模拟器,所以需要将Android Studio升级到3.1版本以上. Android P模拟器的最低版 ...
- 安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization
安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization 汉化包 百度云盘 ...
随机推荐
- ie浏览器多开-----同时登陆多个账号
1.在电脑桌面右键 找到 新建快捷方式 在上图输入框中输入 "C:\Program Files\Internet Explorer\iexplore.exe" -noframeme ...
- 洛谷P5206 [WC2019]数树 [容斥,DP,生成函数,NTT]
传送门 Orz神仙题,让我长了许多见识. 长式子警告 思路 y=1 由于y=1时会导致后面一些式子未定义,先抓出来. printf("%lld",opt==0?1:(opt==1? ...
- Vue实战笔记
1.组件的属性 例子: <template> <div class="hello"> <test-props name="demo" ...
- iOS开发之用到的几种锁整理
1. iOS中的互斥锁 在编程中,引入对象互斥锁的概念,来保证共享数据操作的完整性.每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问对象. 1.1 @sync ...
- HDU4864:Task(贪心)
Problem DescriptionToday the company has m tasks to complete. The ith task need xi minutes to comple ...
- PSO:利用PSO+ω参数实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度—Jason niu
x = 1:0.01:2; y = sin(10*pi*x) ./ x; figure plot(x, y) title('绘制目标函数曲线图—Jason niu'); hold on c1 = 1. ...
- Ubuntu16.04 14.04安装配置Caffe(GPU版)
caffe配置过程很长啊,坑非常多,没有linux基础的估计会香菇的.我参考了网上很多的帖子,基本上每个帖子都有或多或少的问题,研究很久最终配置成功.参考过的帖子太多,都记不太清来源了.为了对前人的感 ...
- 一天带你入门到放弃vue.js(三)
自定义指令 在上面学习了自定义组件接下来看一下自定义指令 自己新建的标签赋予特殊功能的是组件,而指定是在标签上使用类似于属性,以v-name开头,v-on,v-if...是系统指令! v-是表示这是v ...
- Java 常用知识点
Java 常用知识点 1.日期格式化 SimpleDateFormat Date date=new Date(System.currentTimeMillis()) ; SimpleDateForma ...
- elasticsearch5.5.3 源码学习 idea下源码编译
1.学习elasticsearch 源码,通过搜索“elasticsearch源码”,进行相关搜索. 2.因源码gradle编译,选择gradle-3.5可以编译通过,对应elasticsearc ...