[安卓]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 设置的更多相关文章

  1. Android Webview 和Javascript交互,实现Android和JavaScript相互调用

    在Android的开发过程中.遇到一个新需求.那就是让Java代码和Javascript代码进行交互.在IOS中实现起来很麻烦.而在Android中相对来说容易多了.Android对这种交互进行了很好 ...

  2. unity开发android游戏(一)搭建Unity安卓开发环境

    unity开发android游戏(一)搭建Unity安卓开发环境 分类: Unity2014-03-23 16:14 5626人阅读 评论(2) 收藏 举报 unity开发androidunity安卓 ...

  3. 搭建Unity安卓开发环境

    原文见 https://blog.csdn.net/chenggong2dm/article/details/20654075 tiny教程 https://docs.unity3d.com/Pack ...

  4. Unity安卓共享纹理

    前置知识:安卓集成Unity开发示例 本文的目的是实现以下的流程: Android/iOS native app 操作摄像头 -> 获取视频流数据 -> 人脸检测或美颜 -> 传输给 ...

  5. Unity上线google商店 用IL2Cpp打包64位版本和Android APP Bundle优化 及产生的bug

    ios刚上线,这边着手改成android版本,我开始使用的是unity2017.4.1版本 上传谷歌商店是出现这两个警告: 要支持64位,但是在2017版本上没有找到64位的打包选项,猜测应该是版本的 ...

  6. Unity安卓apk打包过程

    前言:对于Unity开发小白来说,Android打包无疑是个头痛的问题,所以我总结了 Unity安卓APK的打包过程 第一步:下载对应版本的Android Platform 第二步:安装JDK并配置J ...

  7. Unity安卓连接profile调试

    通过USB ADB 1.从Unity中Export Android 工程的时候一定要勾选 Development Build,autoconnect profiler 2.cmd进入adb的目录(打开 ...

  8. 【Android Studio安装部署系列】三十五、从Android studio3.0.1升级到Android studio3.1.4【以及创建android p模拟器的尝试(未成功)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 因为想要使用Android P模拟器,所以需要将Android Studio升级到3.1版本以上. Android P模拟器的最低版 ...

  9. 安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization

    安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization 汉化包 百度云盘 ...

随机推荐

  1. pm2,部署nodejs,使用方法及自己使用后总结的经验

    pm2是一个带有负载均衡功能的应用进程管理器,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护等功能.他会确定重启开机之后,能够保证程序也能运行起来.目前还没有操 ...

  2. Mac OSX 系统搭建 Java 开发环境

    转载:https://www.cnblogs.com/zjx2711904647/p/7735556.html 1. 安装JDK 双击jdk-9.0.1_osx-x64_bin.dmg文件进行安装 2 ...

  3. img标签里的value获取

    简单描述:在img标签里的value存放了需要用到的值,但是在js中获取的时候,我直接写的就是$("#imgStr").val(),结果发现是空,后来查了一下,才知道,img的va ...

  4. java中的BigDecimal和String的相互转换,int和String的类型转换,Integer类和String相互转换

    一: /*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ 注:BigDecimal在数据库中存的是number类型. import java.math.B ...

  5. 2018-2019-1 20189201 《LInux内核原理与分析》第五周作业

    甜死人的图片 一.书本第四章知识总结[系统调用的三层机制(上)] 无参数系统调用 依次通过c语言和内嵌汇编的c语言实现time()函数中封装的系统调用. 用户态.内核态和中断 用户态:在低的执行级别下 ...

  6. Gym 100963B

    Gym 100963B啊,郁闷,就tm调小了一点范围就A了,就写dp和贪心比较一下,范围到最大值的二倍-1就好了假设最大值的2倍以内能满足最优条件,当金额范围超过最大值2倍的时候:至于为什么,还不清楚 ...

  7. commanderJs编写命令行工具(cli)

    前言: 最近需要做一个内部的node cli来独立构建流程,对整个命令行工具实现流程有了大致了解,下面来解释一下如何实现一个cli,和如何使用 commander 库.   新手误区: 在开始实现之前 ...

  8. Windows应用程序组成及编程步骤

    Windows应用程序组成及编程步骤: 1.应用程序的组成:一个完整的Windows应用程序通常由五种类型的文件组成 1.C语言源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 5.项目文件 ...

  9. docker+ubuntu14.04+cuda7.0

    参考链接: http://tleyden.github.io/blog/2014/10/25/docker-on-aws-gpu-ubuntu-14-dot-04-slash-cuda-6-dot-5 ...

  10. HTML入门8

    今天开始接触HTML里面的多媒体和嵌入内容 前面只讲了文字,下面来讲能够让网页动起来,更加有趣的嵌入元素,包含多媒体,包含图像的不同方式,以及怎样嵌入视频. HTML中图片,下面将深入使用它,以及&l ...