第10章 Android游戏移植

思考并回答以下问题:

本章涵盖:

本章将介绍如何使用Unity开发/发布Android游戏,对应Google最新的开发工具Android Studio,介绍了Android开发环境的设置,Unity和Android原生代码的交互,同时使用Unity完成一个Android版本的百度地图应用实例,最后详细说明了创建Asset Bundle数据包的流程。

Android简介

Android主要是运行在手机上的操作系统,由Google公司研发,因为其良好的开放性被很多手机厂商使用,国外如三星等,国内如华为、小米等,市场占有率很高。
对软件开发者来说,Android是一个完全开放的平台,任何人都可以开发/发布Android应用或游戏,而不需要向Google公司支付任何费用。
Google公司提供了一个叫Google Play的平台发布Android应用或游戏,与苹果公司的App Store不同,它并不是唯一的Android应用发布平台,开发者也可以将其产品发布到其他任何平台,国内发布Android应用或游戏的平台非常多,如腾讯的应用宝等,大部分手机厂商也有自己的应用商店。
原生的Android应用开发主要是使用Java语言,Unity是个跨平台的游戏引擎,可以在几乎不需要深入了解Java和Android系统的情况下,使用C#语言开发出高品质的Android游戏,不过当将游戏发布到相应的平台时,仍需要编写少量的Java代码,对接平台的功能。

安装Android SDK

开发Android游戏,一定要先安装Java开发环境和Android的SDK,同时也需要安装一些开发工具。这里以在Windows上开发为例,安装步骤如下:
步骤01 在[http://www.oracle.com/technetwork/java/javase/downloads/index.html] 中下载并安装JDK软件包。安装过程中还需要安装JRE,安装到和JDK不同的目录即可。设置环境变量JAVA_HOME指向JDK的安装目录,如图10-1所示。在目录行输入java -version,能看到输出的版本信息就代表安装JDK成功。

步骤02 在Google的官方网站[http://developer.android.com/sdk/index.html] 下载Windows版本的Android集成开发环境Android Studio(也可以尝试访问国内的Android社区[http://www.android-studio.org/] 下载),下载完成后正常安装即可。第一次启动Android Studio,在启动界面选择SDK Manager,如图10-2所示。选择Android SDK Location自定义Android SDK的存储位置,然后在SDK Platforms和SDK Tools中选中需要下载的SDK组件,最后选择Apply在线下载。

步骤03 

启动Unity,在菜单栏中选择【Edit】→【Preferences】,选择【External Tools】,设置SDK的位置,指定Android SDK和JDK的位置,如图10-3所示。

图10-3 指定Android SDK的位置

在这里,除了指定Android SDK和JDK,还有一个选项是NDK,如果希望最后在Android平台采用IL2CPP技术(使用C++原生代码),则需要NDK的支持。采用IL2CPP技术生成的代码,理论上可以获得更好的运行速度,但编译时间会更长。

运行Android游戏

准备测试环境

几乎任何品牌的Android手机都可以用来测试Unity游戏,有些类型的手机可能需要一些简单的设置,比如在手机的【设置】中启用【USB调试】模式等,最后只需要使用USB线将手机与计算机连接即可。

对应Android平台,Unity最后输出的游戏运行文件是.apk格式,可以直接将.apk文件复制到手机上安装和调试。如果在计算机中安装了相应手机的驱动,也可以将在Unity中创建的游戏自动运行(Build and Run)到手机上。

Android SDK还提供了一个开发工具叫adb,它被保存在Android SDK的platform-tools目录内,确定该路径被添加到了环境变量“Path”中,命令行进入.apk文件所在目录,输入adb install[apk文件名]即可将.apk文件程序安装到手机上,如果不是第一次安装,需要加一个参数–r,即adb install -r [apk文件名],如图10-4所示。

图10-4 输入命令安装apk

设置Android游戏工程

在Unity内开发Android游戏与开发PC游戏没有什么不同,但需要将游戏工程从当前平台转换到Android平台,并进行一些适当的设置,就可以将游戏运行在Android手机上了。

步骤01 启动Unity并打开一个Unity游戏工程。在菜单栏中选择【File】→【Build Settings】打开【Build Settings】窗口,在【Platform】中选择【Android】,单击【Switch Platform】按钮将当前开发平台转为Android,如图10-5所示。

图10-5 切换到Android平台提示

在【Build System】中有多个选项,Internal(内部)支持直接导出.apk文件,Gradle导出一个Gradle工程(当前Android的官方开发环境)。

步骤02 在【Build Settings】窗口选择【PlayerSettings】,在【Company Name】和【Product Name】中分别设置公司和游戏名字,在【Default Icon】中设置游戏图标,如图10-6所示。

步骤03 在【Default Orientation】中设置游戏的横竖屏显示,【Portrait】表示竖屏,【Landscape】表示横屏,选择【Auto Rotation】可以自动旋转屏幕方向,如图10-7所示。

步骤04 在【Icon】中设置游戏的图标。默认Unity会自动适配各种大小不同的图标,但自动缩放的图片可能会有锯齿,选中【Override for Android】复选框,可以指定已经准备好的各种尺寸的图标,如图10-8所示。

0%