Unity 之 导出为Android工程及在AndroidStudio中使用记录

简介: 从Unity工程导出为Android工程,将导出工程在AS打开,并调试其编译通过,Unity和Android 互调
本文使用环境::win10 + Unity2017.3.1 + Android4.1.1
请自行配置好 JDKNDK 环境变量

一,从Unity工程导出为Android工程

打开需要导出的项目:【File】-- 【Build Settings...】 , 然后切换到Android平台,然后切换【Export Project】- 【Gradle】,勾选下面【Export Project】,最后点击Export
在这里插入图片描述
PS:PlayerSettings页的设置内容和正常打.apk设置一样即可...

导出成功的目录大概长这个样子:
1.0

若上述过程没有看明白,请点击查看详细教程:Unity 之 导出 Android项目过程


二,将导出工程在AS打开,并调试其编译通过

  1. 打开AndroidStudio,选择【Import Project(Gradle,Eclipse ADT,etc.)】打开刚刚导出的工程

2.1

若你的之前开过项目,打开Android自动开的了其他项目,这时你可选择【File - Close Project】即可退回到上面选择项目的界面了

2.2

2.找到Unity打出Android包的目录选择,然后点击OK,如下图:
2.2
导入后你的工程右上角是这个状态的,那基本没有什么问题了,可以试着运行,按照报错去修改现有问题就可以了。
2.3
3.修改根目录的build.gradle文件,在下图两处添加【goole()】方法,修改你gradle版本,和buildToolsVersion版本。2.4
4.gradle版本需要根据你的gradle-wrapeer.properies下的设置相对应,
2.5
AndroidGradle的版本说明:点击链接查看
当前版本更新如下:

插件版本 所需的 Gradle 版本
1.0.0 - 1.1.3 2.2.1 - 2.3
1.2.0 - 1.3.1 2.2.1 - 2.9
1.5.0 2.2.1 - 2.13
2.0.0 - 2.1.2 2.10 - 2.13
2.1.3 - 2.2.3 2.14.1+
2.3.0+ 3.3+
3.0.0+ 4.1+
3.1.0+ 4.4+
3.2.0 - 3.2.1 4.6+
3.3.0 - 3.3.3 4.10.1+
3.4.0 - 3.4.3 5.1.1+
3.5.0 - 3.5.4 5.4.1+
3.6.0 - 3.6.4 5.6.4+
4.0.0+ 6.1.1+
4.1.0+ 6.5+

5.buildToolsVersion版本需根据你的AndroidSDK下载的版本来进行选择,你可通过【Tools - SDKManager】来管理你的SDK,打开后界面如下,你可复制你的下载地址看一下,你已下载的版本是什么,就OK了。
2.6

没有解决可查看: Unity 之 AndroidStudio打开导出Android工程详解


三,Unity和Android的互调

  1. 在AndroidStudio中找到UntiyPlayerActicity.java这个脚本我的工程目录如下,供你参考

3.1
编写如下代码,用来和Unity互调

    // 在Unity上调用的方法
    public void UnityToAndroid() {
        Log.i("Unity", "Czhenya Unity调用的安卓函数 UnityToAndroid...");

        // Android 回调回 Unity arg: 游戏对象名, 方法名,  参数
        UnityPlayer.UnitySendMessage("WellComeManager", "LoginSuccess", "用户名");
    }

2.编写Unity代码,需要和上面的Android代码对应,创建名称为“WellComeManager ”的脚本,内部代码编写如下如下:

using System;
using System.Collections;
using UnityEngine;

// 和上面Android的名称要对应上
public class WellComeManager : MonoBehaviour
{
    /// <summary>
    ///  调用Android
    /// </summary>
    public void LoginForAndroid()
    {
        AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
        AndroidJavaObject jo = jc.GetStatic<AndroidJavaObject>("currentActivity");
        // 上面那个的Android的方法名
        jo.Call("UnityToAndroid");
    }
     /// <summary>
    ///  Android的回调
    /// </summary>
    public void LoginSuccess(string arg)
    {
        Debug.Log("Android  的 回调参数..." + arg);
    }
}

3.代码处理完成后,需要按照按照一,二步来导出项目,并重新进行配置, 然后进行运行或者打包调试即可。


Unity工程导出为Android包并将其在AndroidStudio中使用,整个流程就是这样了,这中间没遇到一个问题我都是上网查是怎么回事,也都一一解决了,没有什么特别的点,若你碰到了比较奇葩的问题,欢迎你留言提问;若你有什么已经踩过的坑,那么也请你分享出来,以便帮助更多的人吧。

相关文章
|
4月前
|
图形学 Android开发 iOS开发
穿越数字洪流,揭秘Unity3d中的视频魔法!Windows、Android和iOS如何征服RTSP与RTMP的终极指南!
【8月更文挑战第15天】在数字媒体的海洋中,实时视频流是连接世界的桥梁。对于那些渴望在Unity3d中搭建这座桥梁的开发者来说,本文将揭示如何在Windows、Android和iOS平台上征服RTSP与RTMP的秘密。我们将深入探讨这两种协议的特性,以及在不同平台上实现流畅播放的技巧。无论你是追求稳定性的RTSP拥趸,还是低延迟的RTMP忠实粉丝,这里都有你需要的答案。让我们一起穿越数字洪流,探索Unity3d中视频魔法的世界吧!
75 2
|
4月前
|
Java 网络安全 开发工具
UNITY与安卓⭐一、Android Studio初始设置
UNITY与安卓⭐一、Android Studio初始设置
|
4月前
|
Java 图形学 Android开发
UNITY与安卓⭐二、AndroidStudio中关于通讯的使用教学
UNITY与安卓⭐二、AndroidStudio中关于通讯的使用教学
|
4月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
3月前
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
157 0
|
6月前
|
XML Java Android开发
04. 【Android教程】Android 工程解析及使用
04. 【Android教程】Android 工程解析及使用
69 0
04. 【Android教程】Android 工程解析及使用
|
6月前
|
开发工具 Android开发
技术经验分享:Android编译命令m、mm、mmm区别及工程搭建示例
技术经验分享:Android编译命令m、mm、mmm区别及工程搭建示例
377 0
|
6月前
|
Java 开发工具 Android开发
Android Studio 导出JavaDoc文档
Android Studio 导出JavaDoc文档
186 0
|
6月前
|
存储 缓存 开发工具
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
初识Unity——unity的安装以及工程介绍(安装unity hub、版本选择、中文设置、安装编辑器、Assets文件、Library 文件、[ProjectName].sln 文件)
1617 0
|
7月前
|
监控 Devops Java
大型IM工程重构实践:企业微信Android端的重构之路
本文将探讨我们在大型IM工程实践中采用的一些行之有效的重构方法和实例,以及如何让一个大型软件系统持续保持活力。
159 0