安卓开发参考
概述
下面是我们在现阶段进行安卓游戏开发时所需的资源:
项目类型
|
组件
|
环境变量
|
仅使用蓝图的项目
|
Android SDK
Java Development Kit
Ant Scripting Tool
|
ANDROID_HOME
JAVA_HOME
ANT_HOME
|
C++ 项目
|
Android SDK
Java Development Kit
Ant Scripting Tool
|
ANDROID_HOME
JAVA_HOME
ANT_HOME
|
安装组件
有几种方法可用来获取这些组件。如果您已经安装了其中某个组件,请查看相应的部分了解更多要求:
TADP (Tegra Android Development Pack)
TADP 是 Tegra Android Development Pack 的简称,由 Nvidia 开发。这是一款一站式的安卓开发工具包。只要安装 TADP,就能满足我们的所有要求。
TADP 安装程序已包含在 Windows 版虚幻引擎 4 中。它存放在以下位置:
[引擎安装位置]\Engine\Extras\Android\tadp-2.0r8-windows.exe
其中最重要的包括:
如果使用默认的安装设置,将会安装最少量的组件。如果进行自定义安装,您可以添加更多项目(如探查器等)。
请注意,在安装过程中,可能会有一两个子安装程序出现挂起状态,但它们将最终完成操作。安装过程可能需要 30 到 45 分钟。
如果您从未打算编写代码,可以选择 Customize,仅安装 SDK、Ant 和 Java(跳过 NDK 和 Nsight 调试程序)以便加快安装速度。
TADP 中的 Nsight 用于在设备上调试安卓游戏。此时无需编译 C++ 代码。
TADP 是 Tegra Android Development Pack 的简称,由 Nvidia 开发。这是一款一站式的安卓开发工具包。只要安装 TADP,就能满足我们的所有要求。
TADP 安装程序已包含在 Mac 版虚幻引擎 4 中。它存放在以下位置:
[引擎安装位置]/Engine/Extras/Android/tadp-3.0r4-osx.dmg
其中最重要的包括:
如果使用默认的安装设置,将会安装最少量的组件。
如果进行自定义安装,您可以添加更多项目(如探查器等)。请注意,在安装过程中,可能会有一两个子安装程序看似出现挂起状态,但它们将最终完成操作。
在某些计算机上,安装过程可能需要 30 到 45 分钟。
如果您从未打算编写代码,可以选择 Customize,仅安装 SDK、Ant 和 Java(跳过 NDK 和 Nsight 调试程序)以便加快安装速度。
TADP 中的 Nsight 用于在设备上调试安卓游戏,因此无需编译 C++ 代码。
这是 Google 推荐的开发环境。它包含了 SDK、Ant 和 Eclipse(您可能希望将它用于您自己的工具,但我们不支持 Eclipse 与 Unreal Engine 4 共用)。
我们建议您将所有内容安装到 C:\Android 以简化部署。
另外,您还需要安装 JDK 6 或更高版本。
要实施代码项目,您需要专门安装 NDK:
Android SDK (Software Development Kit)
这是一个更基础的 SDK(不包含 Eclipse 或 Ant)。
另外,您还需要安装 JDK 6 或更高版本。
您需要安装 Ant 工具(1.8 或更高版本)。
要实施代码项目,您需要专门安装 NDK:
环境变量
除非您安装了 TADP,否则就需要确认是否正确设置了某些环境变量。
完成安装后(无论是通过在系统控制面板中设置环境变量还是安装 TADP),您需要重新启动编辑器和启动器应用程序。
这样做是因为 Windows 应用程序采取了特定方式来存储环境变量,并将旧版本传送给由它们启动的应用程序。
如果您仍然看到关于 Android SDK 没有正确安装的消息,建议您重新启动计算机。
要设置环境变量,请执行以下操作:
Right-click 您的 Computer 图标或按键盘上的 Windows-Break 键。
选择左侧的 Advanced system settings。
单击 Environment Variables...
对于每个变量(见下面):
单击 OK 关闭 Environment Variables 窗口。
以下是我们所依赖的变量及其指向位置:
ANDROID_HOME
JAVA_HOME
ANT_HOME [如果安装了 ADT,则无需此变量]
NDKROOT [如果不编译 C++ 代码,则无需此变量]
除非您安装了 TADP,否则就需要确认是否正确设置了某些环境变量。
完成安装后(无论是通过编辑 .bash_profile 文件还是安装 TADP),您需要重新启动编辑器和启动器应用程序。
要设置环境变量,您需要在主目录中编辑 .bash_profile 文件。
该文件隐藏在 Finder 中,您需要使用 Terminal 打开并编辑它。
如果您不熟悉 Unix 终端命令,请执行以下步骤。
1.打开 Terminal app(位于 /Applications/Utilities.)
1.键入 touch .bash_profile 以创建文件(如不存在)。
1.键入 open .bash_profile 以通过文本编辑器打开文件。
1.将以下几行复制到文件(替换这些路径以指向 SDK 和工具的安装位置)并保存:
* export ANDROID_HOME="/Users/epicgames/Devel/NVPACK/android-sdk-macosx"
* export NDKROOT="/Users/epicgames/Devel/NVPACK/android-ndk-r10c"
* export ANT_HOME="/Users/epicgames/Devel/NVPACK/apache-ant-1.8.2"
以下是我们所依赖的变量的名称及其指向位置:
安卓技巧与提示
如果您的设备没有列在 Launch 菜单中,您可以尝试这些办法:
如果您的设备显示在“启动” (Launch) 菜单中,但却无法顺利部署到设备中,则很可能是由于设备没有获得与 PC 通信的授权。如果单击进度条中的 Show Log 行,
您可以看到最后一行提示其正在调用 adb uninstall
。
像上面那样,使用 cmd.exe
执行 adb devices
命令。
如果设备已列出,但显示为未经授权,则表明您需要让设备询问您是否要对 PC 授权。
您可能需要断开设备连接后再重新连接,才能显示该设备。
建议选中 Always allow 复选框。
如果您的设备没有列在“启动” (Launch) 菜单中,您可以尝试这些办法:
如果您的设备显示在 Launch menu 中,但却无法顺利部署到设备中,则很可能是由于设备没有获得与 Mac 交互的授权。
如果单击进度条中的 Show Log 行,并看到最后一行提示其正在调用 adb uninstall,则尝试以下步骤。
打开 Terminal 应用程序并执行 adb devices 命令。
如果已列出设备,但显示未经授权,则表明您需要让设备询问您是否要对 Mac 授权。
建议选中 Always allow 复选框,以便始终允许您的 Mac 与该设备通信。
安卓贴图格式
安卓设备并非都是一模一样的。具体来讲,一共有 4 种不同的渲染硬件。它们分别支持不同的压缩纹理格式。
格式
|
说明
|
DXT
|
桌面计算机和 Tegra 设备所用的格式。
|
ATC
|
用于 Qualcomm Snapdragon 设备。
|
PVR
|
用于 ImgTec PowerVR 设备。
|
ETC1
|
得到了所有设备的支持,但不支持带有 alpha 通道的纹理,因此这些纹理将不采取压缩,导致游戏下载大量数据并占用更多的运行内存资源。
|
ETC2
|
用于 MALI 设备和其他一些设备。
|
在您部署或打包安卓游戏时,数据将被转换为安卓设备可用的格式(我们将这一过程叫做 “cooking”)。由于不同的设备支持不同的
压缩格式,您需要选择要 cook 的格式。在 Launch 或 Package 子菜单中,您会看到 Android 后面附带了可用的格式。
其中第一个(Android)实际上会包含所有格式,并将它们放入经过 cook 的封装包。这将用去更长的时间,并产生更大的封装包,但通过选择运行时的最佳格式,可以保证
最低的内存占用。它可以用在任何设备上(Android (ETC1) 也是如此)。
虚幻引擎 4.8 及更高版本支持在 Tegra K1 设备上使用 ES31 和 AEP 渲染。
需要注意的是,由于目前支持 ES31 和 AEP 渲染的设备数量有限,我们现在只完成了很少量的性能和兼容性测试。
如果您正在开发一个要使用上述某一设备的项目,我们强烈建议您进行广泛的性能和兼容性测试,以保证设备按照您的预期来实现项目。
选择一个格式
您通常会选择适合您设备的最佳格式。如果您知道设备的 GPU 类型,可以查看上面的表格以选择合适的格式。
如果不知道具体类型,您可以选择 Android 或 Android (ETC1)。在运行游戏时,如果同时用 4 个手指点击屏幕,将会弹出一个对话框。这个对话框通常用于
输入控制台命令(如 stat fps
),但其中还会显示您的设备支持的格式。在获得该列表后,您可以在部署/打包时使用该列表选择更理想的类型。
如果您选择了一个不受设备支持的格式,它将无法加载。