在开始使用 Unity 开发 Android 应用程序之前,请查看 Unity 对 Android 的要求和兼容性信息,以确保您了解为该平台开发 Unity 应用程序的任何限制。
Unity 支持 Android 6.0 “Marshmallow”(API 级别 23)及更高版本。有关更多信息,请参阅 AndroidSdkVersions。
Android 设备支持 Vulkan 和 OpenGL ES。本节包含有关 Unity 支持的 Android 图形 API 的信息。
图形 API | 支持 |
---|---|
Vulkan | 是 |
OpenGL ES 1.0 | 否 |
OpenGL ES 1.1 | 否 |
OpenGL ES 2.0 | 否 |
OpenGL ES 3.0 | 是 |
OpenGL ES 3.1 | 是 |
OpenGL ES 3.2 | 是 |
由于硬件和图形 API 的限制,并非每个 渲染管线一系列操作,这些操作将场景的内容呈现到屏幕上。Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 词汇表 都与 Android 兼容。
功能 | 内置渲染管线 | 通用渲染管线 | 高清渲染管线 | 自定义可脚本化渲染管线 |
---|---|---|---|---|
Android | 是 | 是 | 否 | 是 |
本节包含有关 Android 应用程序清单元素 属性的兼容性信息。
singleTask
启动模式。Unity 不支持 Android 模拟器。要测试您的应用程序,您可以
Android 上的标准纹理 压缩一种存储数据的方法,可减少其所需的存储空间。参见 纹理压缩、动画压缩、音频压缩、构建压缩。
参见 词汇表 格式为 爱立信纹理压缩 (ETC) 和 自适应可伸缩纹理压缩 (ASTC)。要针对最广泛的 Android 设备,请使用以下 纹理压缩3D 图形硬件要求纹理以专门的格式压缩,这些格式针对快速纹理采样进行了优化。 更多信息
参见 词汇表 格式之一。Unity 的默认纹理压缩格式为 ASTC。如果 Android 设备不支持您用于纹理的纹理压缩格式,Unity 将在运行时解压缩纹理。这会增加内存使用量并降低渲染速度。
部分 Android 设备支持 DXT 和 PVRTC 纹理压缩格式。这些格式支持具有 alpha 通道的纹理,以及高压缩率或高图像质量。对于根据纹理压缩格式过滤内容的数字发行服务,最佳做法是为每种纹理压缩格式创建应用程序的单独构建。
有两种方法可以更改应用程序的默认纹理压缩格式
您在构建设置中设置的值优先于您在播放器设置中设置的值。使用它为特定构建更改纹理压缩格式。
您还可以自定义单个纹理的纹理压缩格式。您为单个 纹理覆盖特定于平台的设置,允许您为每个目标平台设置纹理的分辨率、文件大小(以及相关内存大小要求)、像素尺寸和质量。 更多信息
参见 词汇表 设置的值将覆盖默认纹理压缩格式值。有关如何更改单个纹理的 纹理格式一种用于在 3D 图形硬件(例如显卡或移动设备)进行实时渲染时处理纹理的文件格式。 更多信息
参见 词汇表 的信息,请参见 纹理导入器。
本节提供有关在 Android 上播放视频文件的其他信息
要在 Android 上播放视频文件,请使用 视频播放器 组件。如果您的应用程序尝试播放设备不支持的视频文件,Unity 不会播放视频。
只要目标设备支持,您可以使用任何分辨率或音频通道数量。注意:并非所有设备都支持大于 640 × 360 的分辨率。
Unity 支持从未压缩的资源包播放。对于 Android Pie 及更高版本,Unity 支持从压缩的资源包播放。
Unity 不支持本机 webM/VP8 透明度。要播放带有透明度的 VP8 编码 webM 剪辑,请将剪辑转码为支持的格式。
在 6.0.1
之前的 Android 版本中,带有透明度且分辨率高于设备支持的分辨率的视频会渲染 像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。每个屏幕像素都会计算像素灯光。 更多信息
参见 词汇表 在支持的分辨率之外显示为白色。
Unity 会在 adb logcat
输出中报告格式兼容性问题,并以 AndroidVideoMedia
为前缀。此文件可能会在 Unity 报告的视频格式问题附近显示其他特定于设备的错误消息。这些特定于设备的错误对于 Unity 不可見,通常解释了兼容性问题是什么。