扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
声明:Unity版本 2018.2.16f1;AndroidStudio 版本 3.6.3;Windows10 x64
成都创新互联是一家专业提供本溪企业网站建设,专注与网站建设、成都网站设计、H5开发、小程序制作等业务。10年已为本溪众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
在系统变量,新建一个环境变量,
变量名: JAVA_HOME
变量值: C:\Program Files\Java\jdk1.8.0_251
("变量值"是安装的jdk根目录,根据自己的安装路径填写)
然后查找变量名为“Path”的环境变量;点击“编辑”按钮。在弹出的“编辑环境变量”窗口点击“新建”,输入: “;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
设置完成后,检测是否配置成功。打开 (快捷方式:win + r)“运行”输入 cmd ,点击“确定”打开“命令行输入”界面;
在“命令行输入”界面输入: java -version ,显示下图内容表示配置成功!
参考:
方法/步骤
1
首先我们要创建一个android项目
步骤阅读
2
因为项目需要使用Unity提供的接口,所以需要将接口classes.jar引入至当前工程但中。接口包的所在地,打开Finder-应用程序-Unity-点击Unity图标,鼠标右键选择“显示包内容”-Contents-PlaybackEngines-AndroidPlayer-bin-classes.jar
。接口包引入工程后,开始编写JAVA代码。
3
UnityTestActivity是主Activity,Unity程序一起动就会调用这个Activity,它是在AndroidManifest.xml中配置的。它需要继承UnityPlayerActivity,然而它就是刚刚我们引入的classes.jar包中提供的接口类。UnityTestActivity对外提供了两个方法接口,StartActivity0(String
name) 方法与StartActivity1(String
name)方法,这两个方法是在Unity中使用C#脚本调用的,意思是调用后程序将打开一个新的Activity,参数name也是由C#脚本传递过来的,接着将传递的String参数继续传递给新打开的Activity。
步骤阅读
4
接下来就是设置xml文件和布局文件了。对于会android编程的同学就很熟悉了。
5
把写好的java代码发布成jar包。接下来就创建unity工程,Unity工程中文件夹的结构如下,Plugins-Android的名称不能修改,必需保持一致。接着把Eclipse中Android的工程文件拷贝至这里,除了Android工程中的src文件夹,将其它文件夹全部拷贝至Plugins-Android文件夹中。最后在Plugins-Android文件夹中创建bin文件夹,然后将刚刚生成的.jar文件拷贝进来,jar的名称可以随便修改,但是jar包里面必须是com-xys-你的class文件,否则运行程序后提示找不到类文件。
步骤阅读
6
接下来就是如何在C#中调用android的方法的代码了。
加入如下代码。
AndroidJavaClass jc = new
AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject jo =
jc.GetStaticAndroidJavaObject("currentActivity");
jo.Call("StartActivity0","第一个Activity");
先得到AndroidJavaClass,然后得到AndroidjavaObject就是当前Activity的对象,也就是我们在上面创建的主UnityTestActivity.JAVA。拿到它的对象后调用jo.Call()参数1表示调用UnityTestActivity.JAVA类中的方法名称,参数2表示该方法传递过去的参数。如下图所示:“第一个Activity”与“第二个Activit”就是我在C#中传递过去的字符串。
7
发布成android平台apk
第一步先搭建环境
1,下载安装Java的JDK:
(JDK中,包含JRE)
如果是64位的系统,推荐安装64位的java。
2,下载安装Android Studio,生成 Android SDK:
Google已经逐步转向Android studio了,我也比较推荐用这种来开发。
ps. 2014年刚写这篇文章的时候,用的是Android studio 1.0.0 的版本,现在(2017-03-10)已经是2.3了,并且老的ADT方式,已经被废弃了…………所以本文也与时俱进,删除了ADT方式的配置。
国内有不少镜像源(现在连百度软件里都有了),贴两个下载地址:
官方下载地址:
国内社区:
安装时,分开装【Android studio】和【Android SDK】,
3,更新(管理)SDK:
默认安装的包,是跟包一起发布的(一般只包含最新的SDK),所以,可以根据开发需要,下载所需的老旧SDK包:
【windows】--【Android SDK Manager】,打开SDK管理器(也可以点击菜单栏上的图标)
打开后,会发现有如下几种状态:未安装(Not installed)、已安装(Installed)、可更新。在前面的复选框里,勾选你需要的包,然后 install即可。
这里,我要开发支持Android4.2.2的游戏,下载的就是 Android 4.2.2(API 17),如下图所示。
附注A:
SDK包代表的意思:
Documentationfor Android SDK:Android的SDK文档,一般在最新的API里才有。
SDK Platform: Android的SDK套件
Samples for SDK: SDK的使用例子,在\sdk\samples目录中会看到对应文件
ARM EABI v7a System Image:这是一个核心镜像,提供对NDK使用的支持。是创建模拟器需要的文件
Intel Atom x86 System Image:支持x86的Android模拟器。创建模拟器需要的文件
MIPS System Image : MIPS系统(处理器)的核心镜像,创建模拟器需要的文件
Google APIs:谷歌地图提供的一套API
Sources for Android SDK:SDK的源码,在\sdk\sources目录中会看到对应文件夹,比如:android-17
4,让unity与JDK、SDK、NDK关联
启动unity,选择【Edit】--【Preferences】--【External Tools】,在弹出的对话框中,选择【Android SDK Location】,【Browse..】指定 Android SDK 的位置,使unity与 Android SDK 关联。
注意,SDK, 和JDK是必须的,NDK非必须。设置好JDK和SDK就可以出包了,目前是这样。
NDK需要去安卓官网进行下载:
---------------如果只想Build出APK包,那么上边的步骤就可以了,下面的不用了------------------------
5,安装Android设备驱动
打开Eclipse,然后打开Android SDK Manager,确保【Google USB Driver 】已经安装。如果没安装,就自己勾选,安装一下,否则会爆出找不到安卓设备的错误。
6,连接手机
插好USB数据线,打开手机的USB调试模式(Android版本不同,打开方式略有不同)。【设置】--【开发人员选项】--【USB调试】
如果是win7系统,那么点击:【开始】--【设备和打印机】 ,找到【Android】设备。正常情况(驱动完好,可以连接),是下图这样:
ps.如果在【Android】设备上出现叹号,那么右键【属性】--【更新驱动程序】。指定文件夹,比如我的是:D:\ptools\android_SDK\sdk\extras\google\usb_driver。
如果还是有黄色叹号,也可以用个更绝的办法:用360手机助手,或者QQ手机助手之类的工具。这些工具会自动安装安卓的USB调试驱动。
完成环境搭建
至此,unity的Android环境,搭建完毕!希望可以帮助到你 有想要的unity插件到去找 上面有很多
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流