Version: 2020.3
报告 iOS 上的崩溃错误
Android 环境设置

Android

本用户手册的这一部分包含有关 Android 平台开发的文档。

环境设置

必须先设置 Unity 来支持 Android 开发,然后才能在 Android 设备或 Android 模拟器上运行代码。请参阅 Android 环境设置

如果在初始安装过程中未安装一个或多个必要组件,则在尝试构建面向 Android 的项目时,Unity 会提示下载缺少的组件。

构建应用程序

Unity 允许配置应用程序的构建和运行时设置。请参阅构建 Android 应用程序

如果您有 Unity Pro 订阅,则可以自定义游戏启动时显示的启动画面。请参阅自定义 Android 启动画面

脚本

Unity 提供了脚本 API 来访问 Android 设备的输入数据和其他设置。请参阅 Android 脚本

可使用插件直接从 C# 脚本调用使用 C/C++ 编写的 Android 函数。也可间接调用 Java 函数。请参阅构建和使用适用于 Android 的插件

优化

Unity 支持遮挡剔除功能;当对象被其他对象阻挡(遮挡)而不能被摄像机所看到时,该功能会禁用对象的渲染。这是一种适合用于移动平台的有价值的优化方法。请参阅遮挡剔除

故障排除和错误报告

Android 故障排除指南可帮助您尽快发现错误原因。如果在查阅指南后怀疑问题是由 Unity 引起的,请根据 Unity 错误报告指南提交错误报告。

请参阅:

纹理压缩

Android 上的标准纹理压缩格式为 Ericsson 纹理压缩 (ETC)。

所有当前的 Android 设备都支持 ETC1 版本,但该版本不支持具有 Alpha 通道的纹理。所有支持 OpenGL ES 3.0 的 Android 设备都支持 ETC2 版本。该版本可提供改进的 RGB 纹理质量,并且还支持具有 Alpha 通道的纹理。

默认情况下,Unity 对压缩的 RGB 纹理使用 ETC1,而对压缩的 RGBA 纹理使用 ETC2。如果 Android 设备不支持 ETC2,则纹理将在运行时解压缩。这会对内存使用产生影响,也会影响渲染速度。

DXT、PVRTC、ATC 和 ASTC 全都支持具有 Alpha 通道的纹理。这些格式还支持更高的压缩率和/或更好的图像质量,但仅在一部分 Android 设备上受支持。

可针对这些格式中的每种格式创建单独的 Android 分发存档 (.apk),并让 Android Market 的过滤系统为不同的设备选择正确的存档。

电影/视频回放

我们建议您使用视频播放器播放视频文件。该组件取代了早期的电影纹理功能。

已知的视频兼容性问题

  • 并非所有设备都支持大于 640 × 360 的分辨率。运行时检查会验证设备的支持情况,如果出现故障,则不播放电影。

  • 对于 Android Lollipop(5.0 和 5.1.1)及更高版本,您可以使用任何分辨率或任意数量的音频通道,只要目标设备支持即可。

  • Unity 对于直接从磁盘读取的非压缩捆绑包支持从资源包中播放。

  • 对压缩资源包的播放支持则需具备 Android 9 及更高版本。

  • 格式兼容性问题会显示在 adb logcat 输出中,并且始终以 AndroidVideoMedia 为前缀。

  • 注意特定于设备的错误消息(位于 Unity 错误消息附近):它们并不适用于该引擎,但通常会说明兼容性问题。

* Unity 不支持原生 webM/VP8 透明度。必须对 VP8 编码的 webM 剪辑进行转码,以确保透明度在 Android 上有效。

  • 针对 Unity 2019.3 更新了页面内容
  • 在 Unity 5.6 中添加了视频播放器组件
报告 iOS 上的崩溃错误
Android 环境设置