Version: 6000.3
语言: 中文
设置 Android SDK 目标 API
Android 密钥库

Android 播放器设置

本页详细介绍了Android平台的播放器设置。有关常规播放器设置的说明,请参阅玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息
请参阅术语表
.

Android 播放器设置
Android 播放器设置

属性的文档根据播放器UI中各自的部分进行分组:

图标

使用“图标”部分指定图标以表示设备上的应用程序。

设置 描述
适应的 指定各种大小的纹理,以表示您在搭载 Android 8.0(API 级别 26)或更高版本的设备上的应用。
指定各种大小的纹理,以表示您在搭载 Android 7.1(API 级别 25)或更高版本的设备上的应用。

注意圆形图标已弃用,并将在 Unity 的未来版本中删除。请改用自适应图标。要在运行 API 26 及更高版本的设备上显示应用程序的圆形图标,请使用自适应图标。
遗产 指定各种大小的纹理,以表示运行 Android 7.1(API 级别 25)之前版本的设备上的应用。

注意旧版图标已弃用,并将在 Unity 的未来版本中删除。请改用自适应图标。

决议和演示

使用“分辨率和演示”部分中的以下设置来自定义屏幕外观的各个方面。

分辨率

使用“分辨率”部分自定义屏幕模式和默认大小。

财产 描述
无焦点运行 启用此属性可使应用程序保持运行,即使它不在焦点中但可见,例如在支持分屏模式的设备上也是如此。禁用后,应用程序将暂停但保持可见。
全屏模式 指定窗口在设备上的显示方式。这将在启动时设置默认窗口模式。

  • 全屏窗口:应用程序窗口填充设备的全屏本机分辨率。为了填充全屏窗口,Unity 会缩放应用程序内容。分辨率缩放模式控制 Unity 如何缩放内容。
  • 窗口化:应用程序使用标准的非全屏可移动窗口。窗口的大小取决于应用程序的分辨率。在此模式下,默认情况下,应用程序可调整大小。要防止应用程序调整大小,请禁用“可调整大小的活动”。
调整大小的活动 指示用户是否可以调整应用程序的大小。
此设置可在 Android 手机和平板电脑上的应用程序中启用多窗口功能。有关更多信息,请参阅 Google 的开发者文档
最小窗口宽度(Minimum Window Width) 应用程序窗口的最小宽度(以像素为单位)。
最小窗口高度(Minimum Window Height) 应用程序窗口的最小高度(以像素为单位)。
默认窗口宽度(Default Window Width) 应用程序窗口的默认宽度(以像素为单位)。仅当 全屏模式(Fullscreen Mode) 设置为 窗口化(Windowed) 时,此选项才可用。
默认窗口高度(Default Window Height) 应用程序窗口的默认高度(以像素为单位)。仅当 全屏模式(Fullscreen Mode) 设置为 窗口化(Windowed) 时,此选项才可用。
隐藏导航栏 指示是否隐藏屏幕底部显示的导航栏。

注意:禁用此设置可防止您的应用程序自动进入全屏模式。
渲染安全区域之外 启用此选项以允许应用程序使用所有可用的屏幕空间进行渲染,包括被剪切(有缺口)的显示区域。有关更多信息,请参阅 Android 的显示切口支持文档。此设置的行为因 Android 版本而异,如下表所示。

  • Android 15 及更高版本:此设置无效,因为默认情况下应用程序会使用整个屏幕空间。有关更多信息,请参阅 Android 文档
  • Android 11 至 14:启用后,应用程序将使用整个可用屏幕空间。禁用后,应用程序仅在切口位于系统栏(设备的顶部或底部)内时才使用切口周围的空间,否则应用程序会在切口区域上显示黑条。有关应用程序何时使用切口周围空间的更多信息,请参阅 Android 文档
  • Android 10 及更早版本:启用后,应用会使用设备较短边缘(例如顶部或底部)切口周围的屏幕空间。但是,应用程序会用黑条遮挡设备较长边缘(例如侧面)上的切口。有关应用程序如何使用较短边缘上的切口周围空间的更多信息,请参阅 Android 文档。禁用后,应用程序仅在抠图位于系统栏内时才使用抠图周围的空间,否则应用程序会在抠图区域上方显示黑条。有关应用程序何时使用切口周围空间的更多信息,请参阅 Android 文档
优化的帧节奏 启用此选项可允许 Unity 均匀分布帧,以减少帧速率的变化并创建更流畅的体验。

分辨率缩放

使用 分辨率缩放(Resolution Scaling) 部分自定义与屏幕分辨率缩放相关的设置。使用低于设备原始分辨率的分辨率可以提高性能和电池寿命。

财产 描述
分辨率缩放模式 指定应用程序是否以及如何缩放其分辨率。您可以将缩放设置为等于或低于本机屏幕分辨率。使用较低的分辨率可以提高性能和电池寿命。

  • 禁用:不应用分辨率缩放,应用程序呈现为设备的本机屏幕分辨率。
  • 固定DPI:使用目标DPI应用分辨率缩放。使用它来优化性能和电池寿命或针对特定的 DPI 设置。
  • 黑边:向渲染输出添加黑条,以便内容不会拉伸。此过程称为信箱。
目标 DPI 应用程序的分辨率。如果设备的本机屏幕 DPI 高于此值,Unity 会降低应用程序的分辨率以匹配此设置。Unity 使用以下方法计算比例: min(Target DPI * Factor / Screen DPI, 1),其中 FactorQuality 设置中的 Resolution Scaling Fixed DPI Factor

【注】仅当将“分辨率缩放模式”设定为“固定 DPI”时,才会出现此选项。
在调整窗口大小时重置分辨率 指示在本机窗口大小更改时是否将屏幕分辨率设置为新的本机窗口大小。如果将 Resolution Scaling Mode 设置为 Fixed DPI,Unity 会根据 Fixed DPI 属性重新计算分辨率。
Blit 类型 控制是否使用blit将最终图像渲染到屏幕上。使用 blit 与大多数设备兼容,但通常比不使用 blit 慢。

  • 始终:Unity 渲染到屏幕外缓冲区,然后使用 blit 将缓冲区的内容复制到设备的帧缓冲区。这与大多数设备兼容,但通常比不使用 blit 慢。
  • 从不:Unity 渲染到设备作系统提供的帧缓冲区。如果失败,应用程序会将一次性警告打印到设备日志中。这通常比使用 blit 更快,但它并不与所有设备兼容。
  • 自动:如果可能,Unity 会渲染到设备作系统提供的帧缓冲区。如果失败,Unity 会向设备控制台打印警告,并使用 blit 将最终图像渲染到屏幕上。

支持的纵横比

使用支持纵横比图像比例尺寸的关系,例如其宽度和高度。
请参阅术语表
部分以自定义与要支持的设备纵横比相关的设置。

财产 描述
纵横比模式(Aspect Ratio Mode) 指定应用程序支持的最大纵横比。如果设备的纵横比大于此纵横比,Unity 会将此纵横比用于应用程序,并添加黑条,以便应用程序不会拉伸。

  • 旧版宽屏 (1.86):该应用程序支持高达 Android 旧版宽屏宽高比的宽高比。
  • 原生宽高比:该应用程序支持高达 Android 原生宽高比的宽高比。
  • 自定义:应用程序支持的纵横比最高可达您在“最大”中设置的纵横比。
最低 自定义最小宽高比。此值必须小于“最大值”

: 仅当将“宽高比模式”设置为“自定义”时,才会显示此设置。
最大 自定义最大宽高比。此值必须大于“最小值”。

【注】仅当将“宽高比模式”设定为“自定义”时,才会显示此设置。

杂项

财产 描述
显示加载指示器 指定加载指示器的显示方式。

  • 不显示:加载指示器不显示。
  • 大:出现一个大的加载指示器。
  • 转大:出现一个颜色倒置的大负载指示器。
  • 小:出现一个小的加载指示器。
  • 转小:出现一个带有反转颜色的小加载指示器。
显示选项 定义 Android 显示设置,用于确定应用程序在运行时如何在 Android 设备上呈现。

  • :禁用任何配置的显示设置。选择此选项时,将禁用自动渲染,并且必须手动处理辅助屏幕上的渲染。例如,通过创建基于 Unity 即库 (UaaL) 的应用程序。
  • 检测演示显示:在辅助屏幕上自动渲染相机输出。仅在 Android 系统识别为演示显示的屏幕上以及目标显示设置为2在 Unity 编辑器中。Unity Player 以全屏呈现摄像机输出,即使应用程序在后台运行也是如此。默认情况下,此选项处于选中状态。

取向

财产 描述
默认方向 在设备屏幕中指定应用程序窗口的方向。

注意:Unity 在 Android、iOS 和 UWP 之间共享你为此设置设置的值。


  • 纵向:应用程序底部与屏幕底部对齐的纵向方向。
  • 纵向颠倒:应用程序底部与屏幕顶部对齐的纵向方向。
  • 横向右侧:横向,应用程序的右侧与屏幕顶部对齐。
  • 横向左侧:横向,应用程序的左侧与屏幕顶部对齐。
  • 自动旋转:屏幕可以旋转到您在“自动旋转允许的方向”部分中指定的任何方向。
自动旋转行为(Auto Rotation Behavior) 指定应用程序窗口如何根据设备的旋转传感器和方向设置调整其方向,当默认方向设置为自动旋转时。

: 仅当将“默认方向”设置为“自动旋转”时,此属性才可见。默认情况下,此属性设置为 User


  • 用户:应用程序窗口根据设备的方向设置调整其方向。如果用户锁定设备的自动旋转方向设置,则应用程序窗口不会遵循“自动旋转允许的方向”部分中设置的首选项。仅当用户关闭设备的自动旋转方向设置时,应用程序窗口才会根据设置的首选项旋转。
  • 传感器:无论设备的方向设置如何,应用程序窗口都会根据设备的旋转传感器调整其方向。但是,应用程序窗口仅根据“自动旋转的允许方向”部分中设置的首选项进行旋转。

自动旋转允许的方向

使用 自动旋转允许的方向(Allowed Orientations for Auto Rotation) 部分指定将默认方向设置为自动旋转时应用程序支持的方向。例如,这对于将应用程序锁定为横向,但允许用户在横向左和横向右之间进行切换非常有用。

注意:仅当您将“方向”部分中的“默认方向”设置为“自动旋转”时,此部分才可见。

财产 描述
肖像 允许纵向,使应用程序底部与屏幕底部对齐。
颠倒肖像 允许纵向,应用程序底部与屏幕顶部对齐。
景观右 允许横向,应用程序的右侧与屏幕顶部对齐。
左侧景观 允许横向,应用程序的左侧与屏幕顶部对齐。

其他分辨率和演示设置

财产 描述
使用 32 位显示缓冲区 指示显示缓冲区是否保存 32 位颜色值而不是 16 位颜色值。如果您看到条带,或者需要在后期处理效果中使用 alpha 值,请启用此设置。一些后期处理效果需要这样做,因为它们创建了渲染纹理(Render Textures)一种特殊类型的纹理,在运行时创建和更新。要使用它们,请先创建一个新的渲染纹理,并指定要渲染到其中的摄像机之一。然后,你可以在材质中使用渲染纹理,就像使用常规纹理一样。更多信息
请参阅术语表
与显示缓冲区相同的格式。
禁用深度和模板 禁用深度和模具缓冲区。
通过原生UI渲染 强制应用程序在本机 UI 之上呈现。要使此设置生效,请将摄像机的 清除标志(Clear Flags) 设置为使用alpha值小于1的纯色。

注意:当应用程序处于分屏模式时,不会呈现应用程序窗口后面的本机界面。

启动图像

使用虚拟现实初始图像设置选择自定义初始图像虚拟现实虚拟现实 (VR) 使用耳机和运动跟踪,让用户沉浸在逼真的图像和声音的人工 3D 世界中。更多信息
请参阅术语表
显示。有关常见初始屏幕设置的信息,请参阅初始屏幕

虚拟现实的启动画面设置
虚拟现实的启动画面设置

在常见的启动画面设置下,你可以设置特定于Android的静态启动图像

Android 的初始屏幕设置
Android 的初始屏幕设置
财产 描述
图像 指定应用程序用于 Android 初始屏幕的纹理。初始屏幕图像的标准大小为 320x480。
缩放 指定如何缩放初始图像以适应设备的屏幕。

  • 居中(仅缩小):以原始大小绘制图像,除非图像太大,在这种情况下,Unity 会缩小图像以适合。
  • 缩放以适合(信箱):缩放图像,使较长的尺寸完全适合屏幕尺寸。Unity 用黑色填充较短维度中侧面周围的空白区域。
  • 缩放到填充(裁剪):缩放图像,使较短的尺寸完全适合屏幕尺寸。Unity 会裁剪较长维度的图像。

其他设置

此部分允许您自定义一系列选项,这些选项分为以下组:

渲染

使用这些设置可以自定义 Unity 为 Android 平台渲染游戏的方式。

财产 描述
色彩空间 选择要用于渲染的色彩空间。有关更多信息,请参阅色彩空间

  • Gamma:Gamma 色彩空间通常用于计算旧硬件上的光照,对于帧缓冲区格式,每个通道限制为 8 位。尽管今天的显示器是数字的,但它们仍然可能接受伽马编码的信号作为输入。
  • 线性:线性色彩空间渲染可提供更精确的结果。当您选择在线性色彩空间中工作时,编辑器默认使用 sRGB 采样。如果你的纹理处于线性色彩空间中,你需要在线性色彩空间中工作,并停用每个纹理的sRGB采样。
自动图形 API 禁用此选项以手动拾取和重新排序图形 API。默认情况下,此选项处于启用状态,并且 Unity 会尝试使用 Vulkan。如果设备不支持 Vulkan,Unity 会回退到 GLES3.2、GLES3.1 或 GLES3.0。

重要提示:仅当您启用了 Auto Graphics API图形 API 包含 OpenGLES3 时,Unity 才会将 GLES3.1/GLES3.1+AEP/GLES3.2 要求添加到您的 Android 应用清单中。
图形 API 指定应用程序支持的图形 API。Unity 首先尝试使用列表顶部的图形 API,如果设备不支持,Unity 会回退到列表中的下一个图形 API。

  • 火神:将 Vulkan 添加为 API 以目标。
  • OpenGLES3:将 OpenGLES 3 作为 API 添加到目标。
注意:仅当自动图形 API 设置为 false 时,此属性才可见。
需要 ES3.1 指示是否要求最低 OpenGL ES 3 次要版本为 3.1。仅当您启用自动图形 API图形 API 包含 OpenGLES3 时,
此属性才可见。
需要 ES3.1+AEP 指示是否要求最低 OpenGL ES 3 次要版本为 3.1+AEP。仅当您启用自动图形 API图形 API 包含 OpenGLES3 时,
此属性才可见。
需要 ES3.2 指示是否要求最低 OpenGL ES 3 次要版本为 3.2。仅当您启用自动图形 API图形 API 包含 OpenGLES3 时,
此属性才可见。
色域 您可以添加或删除色以用于渲染。单击加号 (+) 图标可查看可用色域列表。色域定义了给定设备(例如显示器或屏幕)可用的可能颜色范围。sRGB 色域是默认(和必需)色域。
多线程渲染 启用此选项可将图形 API 调用从 Unity 的主线程移动到单独的工作线程。这有助于提高主线程上 CPU 使用率较高的应用程序的性能。
静态批处理 启用此选项以使用静态批处理Unity 用于在屏幕上绘制游戏对象的一种技术,用于将静态(非移动)游戏对象组合成大网格,并以更快的方式呈现它们。更多信息
请参阅术语表
.
动态批处理 动态批处理 (Dynamic Batching)一种自动 Unity 过程,它尝试将多个网格体渲染为单个网格体,以优化图形性能。该技术转换 CPU 上的所有游戏对象顶点,并将许多相似的顶点组合在一起。更多信息
请参阅术语表
(默认启用)。

注意:可编写脚本的渲染管线处于活动状态时,动态批处理不起作用,因此仅当 可编写脚本的渲染管线资产图形(Scriptable Render Pipeline Asset Graphics) 设置为空时,此设置才可见。
Sprite批处理阈值(Sprite Batching Threshold) 控制批处理时使用的最大顶点阈值。
GPU蒙皮 通过着色器计算网格蒙皮和混合 GPU 上的形状,以释放 CPU 资源并提高性能。

  • CPU:选择此选项可在 CPU 上执行网格蒙皮和混合形状计算。
  • GPU:选择此选项可在GPU上执行网格蒙皮和混合形状计算。
  • GPU(批处理):选择此选项以使用批处理和重新排序在GPU上执行网格蒙皮和混合形状计算。批处理可减少对 GPU 的调度调用次数,并可以提高性能。
图形作业(实验性) 启用此选项可指示 Unity 将图形任务(渲染循环)卸载到在其他 CPU 内核上运行的工作线程。这是为了减少花费在Camera.Render在主线程上,这通常是一个瓶颈。

注意:此功能是实验性的。它可能无法提高项目的性能,并且可能会引入新的崩溃。
图形作业模式 指定要在应用程序中使用的图形作业模式。有关 Unity 中的作业的信息,请参阅作业系统概述

  • 本地: 主线程为工作线程编写 Unity 图形命令。工作线程将命令写入渲染线程使用的任务执行器。
  • 遗产: 主线程为工作线程编写 Unity 图形命令。工作线程将命令直接写入渲染线程。呈现线程读取 Unity 图形命令并将其转换为本机图形命令。
  • 分裂: 主线程为工作线程编写 Unity 图形命令。呈现线程读取 Unity 图形命令并将其转换为本机图形命令。然后,渲染线程启动工作线程来编写本机图形命令。
注意:仅当启用了图形作业图形 API 设置为 Vulkan 时,此选项才可用。
纹理压缩格式 在 ASTC、ETC2 和 ETC(RGB 为 ETC1,RGBA 为 ETC2)、DXTC 和 DXT + RGTC(BC4、BC5)之间进行选择。有关如何选择正确格式的更多信息,请参阅纹理压缩格式概述。可以将多种纹理压缩格式添加到此列表中以支持纹理压缩目标,但不能同时在此列表中同时包含 DXT 和 DXT + RGTC(BC4、BC5)。如果启用纹理压缩定位,Unity 还会启用拆分应用程序二进制文件
请参阅纹理压缩设置,了解有关它如何与构建设置中的纹理压缩设置交互的更多详细信息。

注意:如果您将应用程序导出或构建为 APK,Unity 仅使用此列表中的第一个纹理压缩格式。
法线贴图编码 选择 XYZDXT5nm 样式以设置法线贴图编码。此设置会影响用于法线贴图的编码方案和压缩格式。DXT5nm 样式的法线贴图质量更高,但在着色器中解码的成本更高。
光照贴图编码 定义光照贴图的编码方案和压缩格式。
您可以选择低质量正常质量高质量
HDR立方体贴图编码 定义HDR立方体贴图的编码方案和压缩格式。
您可以选择低质量正常质量高质量。有关更多信息,请参阅光照贴图:技术信息
光照贴图流送 启用此选项可将Mipmap流送用于光照贴图。Unity 在生成所有光照贴图时将此设置应用于它们。

注意:要使用此设置,必须启用 纹理Mipmap流送质量(Texture Mipmap Streaming Quality) 设置。
流式处理优先级 设置Mipmap流送系统中所有光照贴图的优先级。Unity 在生成所有光照贴图时将此设置应用于它们。
正数具有更高的优先级。有效值范围为
-128127.
帧时序统计 启用此属性以使用 FrameTimingManager API 收集 CPU 和 GPU 帧时序数据。如果禁用此属性,动态分辨率(Dynamic Resolution)摄像机设置,允许你动态缩放单个渲染目标,以减少GPU上的工作负载。更多信息
请参阅术语表
相机设置无法使用这些数据来动态调整分辨率以减少 GPU 工作负载。
OpenGL:性能分析器GPU记录器 指示在使用 OpenGL 渲染时是否启用探查器记录器。此选项始终对其他渲染API启用,但由于帧时序统计和GPU性能分析器存在潜在兼容性问题,在OpenGL上是可选的。
允许HDR显示输出 在应用程序运行时启用 HDR 模式输出。这仅适用于支持此功能的显示器。如果显示器不支持 HDR 模式,则游戏将以标准模式运行。
使用 HDR 显示输出 检查主显示器是否支持 HDR,如果支持 HDR,则在应用程序启动时切换到 HDR 输出。

注意:仅当“允许 HDR 显示输出”处于活动状态时,此选项才可用。
虚拟纹理(实验性) 指示是否启用虚拟纹理。

注意:虚拟纹理与 Android 不兼容。
360度立体捕捉 指示 Unity 是否可以捕获立体 360 度图像和视频。

注意:360 度立体拍摄与 Android 不兼容。
加载/存储作调试模式 突出显示可能导致移动平台上渲染问题的未定义像素。这会影响 Unity 编辑器的 游戏(Game) 视图,如果你在 Build Profiles 窗口的 Platform Settings 部分选择 Development Build,则会影响你构建的应用程序。有关更多信息,请参阅 LoadStoreActionDebugModeSettings
仅编辑器 指示加载/存储作调试模式是否仅在 Unity 编辑器中运行。

注意:仅当 加载/存储作调试模式(Load/Store Action Debug Mode) 设置为 true 时,此属性才可见。

Vulkan 设置

财产 描述
SRGB 写入模式 启用此选项以允许Graphics.SetSRGBWrite()渲染器在运行时切换 sRGB 写入模式。也就是说,如果要暂时关闭线性到 sRGB 写入颜色转换,可以使用此属性来实现此目的。启用此功能会对基于移动图块的 GPU 的性能产生负面影响;因此,请勿为移动设备启用此功能。
交换链缓冲区数量 将此选项设置为 2 以进行双缓冲,或将此选项设置为 3 以进行三重缓冲以与 Vulkan 渲染器一起使用。此设置可能有助于解决某些平台上的延迟问题,但在大多数情况下,您不应将其从默认值 3 更改。双缓冲可能会对性能产生负面影响。请勿在 Android 上使用此设置。
尽可能晚地获取交换链映像 如果启用,Vulkan 会延迟获取后台缓冲区,直到将帧渲染为屏幕外图像之后。Vulkan 使用暂存图像来实现这一点。启用此设置会导致在显示后台缓冲区时出现额外的 blit。此设置与双缓冲相结合,可以提高性能。但是,它也可能导致性能问题,因为额外的 blit 会占用带宽。
回收命令缓冲区 指示在 Unity 执行 CommandBuffer 后是回收还是释放它们。
在渲染期间应用显示旋转 启用此选项以在显示器的本机方向执行所有渲染。这在许多设备上都有性能优势。有关更多信息,请参阅有关帧缓冲区方向的文档。
拒绝过滤器列表 指定条件以确定哪些 Android 设备在运行 Unity 应用程序时不应使用 Vulkan API。有关更多信息,请参阅有关配置 Vulkan API 使用情况的文档。有关用于定义拒绝标准的参数的信息,请参阅 Vulkan 设备过滤资产参考

重要提示拒绝过滤器列表属性已过时,缺省情况下在新项目中不再可用。仅当升级以前使用这些属性的现有项目时,此属性才在播放器设置中可用。建议使用 Vulkan 设备过滤资产,它取代了 拒绝过滤器(Deny Filter) 列表。此资产提供了一个选项,用于导入现有项目的拒绝过滤器列表中定义的值。有关详细信息,请参阅导入旧版允许和拒绝筛选器列表值
允许过滤器列表 指定条件以确定哪些 Android 设备在运行 Unity 应用程序时应始终使用 Vulkan 图形 API。有关更多信息,请参阅有关配置 Vulkan API 使用情况的文档。有关用于定义条件的参数的信息,请参阅 Vulkan 设备过滤资产参考

重要提示“允许过滤器列表”属性已过时,缺省情况下在新项目中不再可用。仅当升级以前使用这些属性的现有项目时,此属性才在播放器设置中可用。建议使用Vulkan设备过滤资产,它取代了 允许过滤器(Allow Filter) 列表。此资产提供了一个选项,用于导入现有项目的“允许过滤器”列表中定义的值。有关详细信息,请参阅导入旧版允许和拒绝筛选器列表值
Vulkan设备过滤资产 使用过滤器列表为 Android 设备指定条件,以定义以下内容:

  • 哪些设备应该或不应该使用 Vulkan 图形 API
  • 哪些设备应使用特定的图形作业模式。
有关如何创建Vulkan设备过滤资产并使用过滤器列表设置条件的更多信息,请参阅Vulkan API和图形作业模式配置。有关过滤器列表中使用的参数的信息,请参阅 Vulkan 设备过滤资产参考

笔记

  • 如果未选择任何资产,则使用 图形作业模式播放器(Graphics Jobs Mode Player) 设置设置的图形作业模式将应用于所有Android设备。
  • 如果未选择任何资产,或者在资产的允许和拒绝过滤器中未设置条件,则 Unity 会使用旧版允许和拒绝过滤器列表播放器设置中设置的条件。
  • 图形作业模式只能为使用 Vulkan API 的应用程序选择。

鉴定

Android 平台的标识设置
Android 平台的标识设置
财产 描述
覆盖默认包名称 指示是否重写应用程序的默认包名称。启用此属性还会启用以下属性。

  • 包名称:设置应用程序 ID,该 ID 在设备和 Google Play 商店中唯一标识您的应用程序。应用程序 ID 必须遵循约定com.YourCompanyName.YourProductName并且必须仅包含字母数字和下划线字符。每个段必须以字母字符开头。有关更多信息,请参阅设置应用程序 ID
    重要提示:Unity 会自动删除您键入的任何无效字符。
注意: 此设置会影响 macOS、iOS、Apple tvOS 和 Android。
版本 输入捆绑包的内部版本号,用于标识捆绑包的迭代(已发布或未发布)。该版本以包含用点分隔的数字的字符串的通用格式指定(例如,4.3.2)。(在 iOS 和 Android 之间共享。
捆绑版本代码 内部版本号。此数字仅用于确定一个版本是否比另一个版本更新,数字越高表示版本越新。这不是向用户显示的版本号;该编号由versionName属性。 该值必须设置为整数,例如“100”。您可以根据需要定义它,只要每个后续版本都有较大的数字即可。

例如,它可以是内部版本号。或者,您可以通过在下 16 位和上 16 位中分别对“x”和“y”进行编码,将“x.y”格式的版本号转换为整数。或者,您可以简单地在每次发布新版本时将数字增加 1。
如果启用了按目标架构拆分 APK,
将此数字保持在 100000 以下。每个 APK 必须有一个唯一的版本代码,因此 Unity 会在 ARMv7 的数字上添加 100000,ARM64 的数字增加 200000。
最低 API 级别 运行应用所需的最低 Android 版本(API 级别)。
目标 API 级别 要编译应用的目标 Android 版本(API 级别)。

配置

财产 描述
脚本后端 选择要使用的脚本后端。脚本后端决定了 Unity 如何在项目中编译和执行 C# 代码。

  • Mono:将 C# 代码编译为 .NET 公共中间语言 (CIL) ,并使用公共语言运行时执行该 CIL。有关更多信息,请参阅单声道Unity 中使用的脚本后端。更多信息
    请参阅术语表
    .
  • IL2CPP:将 C# 代码编译为 CIL,将 CIL 转换为 C++,然后将该 C++ 编译为本机机器代码,该机器代码直接在运行时执行。有关更多信息,请参阅IL2CPP Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代方案。更多信息
    请参阅术语表
    .
API 兼容性级别 选择可在项目中使用的 .NET API。此设置可能会影响与第三方库的兼容性。但是,它对特定于编辑器的代码(编辑器目录中的代码,或特定于编辑器的程序集定义中的代码)没有影响。

提示:如果第三方程序集遇到问题,可以尝试 API 兼容性级别部分中的建议。


  • .NET Framework:与 .NET Framework 4 兼容(包括 .NET Standard 2.0 配置文件中的所有内容以及其他 API)。使用访问 .NET Standard 2.0 中未包含的 API 的库时,选择此选项。生成更大的版本,并且所有平台都不一定支持任何其他可用的 API。有关详细信息,请参阅引用其他类库程序集
  • .Net Standard 2.1:生成较小的版本并具有完整的跨平台支持。
编辑器程序集兼容性级别 选择要在编辑器程序集中使用的 .NET API。

  • .NET Framework:与 .NET Framework 4 兼容(包括 .NET Standard 2.1 配置文件中的所有内容以及其他 API)。使用访问 .NET Standard 2.1 中未包含的 API 的库时,请选择此选项。生成更大的版本,并且所有平台都不一定支持任何其他可用的 API。有关详细信息,请参阅引用其他类库程序集
  • .NET Standard:与 .NET Standard 2.1 兼容。生成较小的构建并具有完整的跨平台支持。
IL2CPP 代码生成 定义 Unity 如何管理 IL2CPP 代码生成。

注意:要使用它,请将 Scripting Backend 设置为 IL2CPP
C++编译器配置 选择编译 IL2CPP 生成的代码时使用的 C++ 编译器配置。

  • 调试:调试配置会关闭所有优化,这使得代码的构建速度更快,但运行速度较慢。
  • 发布:发布配置启用优化,以便编译后的代码运行得更快,二进制大小减小,但编译需要更长的时间。
  • 主:主配置支持所有可能的优化,尽可能压缩每一点性能。例如,在使用 MSVC++ 编译器的平台上,此选项启用链接时代码生成。使用此配置编译代码可能比使用 Release 配置花费的时间要长得多。建议的最佳做法是,如果构建时间的增加是可以接受的,则使用 Master 配置构建游戏的发布版本。
IL2CPP 堆栈跟踪信息 选择要包含在堆栈跟踪中的信息。有关信息类型的更多详细信息,请参阅使用 IL2CPP 的托管堆栈跟踪

  • 方法名称:在堆栈跟踪中包含每个托管方法。
  • 方法名称、文件名和行号:在堆栈跟踪中包括每个托管方法以及文件和行号信息。

    注意:使用此选项可以增加构建程序的构建时间和最终大小。
使用增量 GC 使用增量垃圾回收器,将垃圾回收分散到多个帧上,以减少与垃圾回收相关的帧持续时间峰值。有关详细信息,请参阅自动内存管理
允许通过 HTTP 下载 指示是否允许通过 HTTP 下载内容。默认选项为“不允许”,因为推荐的协议是 HTTPS,这更安全。

  • 不允许:从不允许通过 HTTP 下载。
  • 开发版本中允许:仅允许在开发版本中通过 HTTP 下载。
  • 始终允许:允许在开发和发布版本中通过 HTTP 下载。
将其他音频源静音 指示您的 Unity 应用程序是否停止在后台运行的应用程序中的音频。否则,来自后台应用程序的音频将继续与 Unity 应用程序一起播放。
目标架构 指定要面向的体系结构。

  • ARMv7:启用对 ARMv7 架构的支持。
  • ARM64:启用对 ARM64 架构的支持。

    注: 仅当您将“脚本后端”设置为 IL2CPP 时,才会启用此属性。
  • x86–64 (Magic Leap 2):启用对 x86–64 架构的支持。

    注: 仅当您将“脚本后端”设置为 IL2CPP 时,才会启用此属性。
  • 为 Arm64 启用 Armv9 安全功能:为 ARM64 生成启用指针身份验证 (PAuth、PAC) 和分支目标标识 (BTI) 。

    注意:仅当您将 ARM64 设置为目标体系结构时,才会启用此属性。
按目标架构拆分 APK 启用此选项可为目标架构中选择的每个CPU架构创建单独的APK。这使得 Google Play 商店用户的下载大小更小。这主要是 Google Play 商店的功能,可能不适用于其他商店。有关更多详细信息,请参阅多个 APK 支持
安装位置 指定设备上的应用安装位置(有关详细信息,请参阅有关安装位置的 Android 开发者文档

  • 自动:让作系统决定。用户将能够来回移动应用程序。
  • 首选外部:如果可能,将应用程序安装到外部存储(SD 卡)。作系统不保证这一点;如果不可能,该应用程序将安装到内存中。
  • 强制内部:强制将应用程序安装到内部存储器。用户将无法将应用移动到外部存储。
存储位置 指定设备上的存储位置(有关详细信息,请参阅有关存储缓存位置的 Android 开发者文档)

  • 首选外部:使用外部存储(SD 卡)(如果有)。在权限方面,自 Android Build.VERSION_CODES以来,这应该始终是可能的。KITKAT 版本。否则,将使用内部存储。
  • 强制内部:强制使用内部存储。如果可以在应用程序运行时卸载外部存储,请使用此选项。
上网 选择是否始终添加网络 (INTERNET) 权限,即使您没有使用任何网络 API。默认情况下,对于开发版本设置为“需要”

  • 自动:仅当您使用网络 API 时才添加互联网访问权限。
  • 需要:始终添加 Internet 访问权限。
通过 HTTP/1.1 强制 UnityWebRequest 启用此选项可强制 UnityWebRequest 使用 HTTP/1.1 协议而不是 HTTP/2 协议与 Web 服务器通信。默认情况下,此选项处于禁用状态,并且 UnityWebRequest 使用 HTTP/2。
写入权限 选择是否启用对外部存储(例如 SD 卡)的写入访问权限,并为 Android 应用清单添加相应的权限。默认情况下,对于开发版本设置为 External(SDCard)。

  • 内部:仅授予对内部存储的写入权限。
  • 外部(SDCard):启用对外部存储的写入权限。
遮挡时的过滤触摸 启用此选项可丢弃在另一个可见窗口覆盖 Unity 应用程序时收到的触摸。这是为了防止窃听劫持。
持续性能模式 启用此选项可在较长时间内设置可预测且一致的设备性能级别,而无需热限制。启用此设置后,总体性能可能会降低。基于 Android Sustained Performance API
最大 Java 堆大小 将 Java 堆的最大大小设置为用于构建的用户(以兆字节为单位)。默认为 4096。
定位精度低 启用此选项可改为将低准确度值与 Android 位置信息 API 一起使用。
预测性后退手势支持 启用此选项可使用 Android 的 OnBackInvokedCallback 处理 Android 13 及更高版本上的回溯事件。
应用类别 指定要构建的应用程序类型。对于将 androidIsGame 设置为 false 的现有 Unity 项目,默认情况下禁用此属性。启用后,从下拉列表中选择与应用程序的主要功能最匹配的类别。有关可用类别的更多信息,请参阅 Android 文档

笔记
  • 如果下拉列表中当前未列出所需的类别,请选择“其他”以手动输入类别名称。输入的名称必须是 Android 定义的有效 appCategory。提供无效的名称会导致项目生成失败。
  • 对于新的 Unity 项目,默认情况下,此属性处于启用状态并设置为 Game。将应用归类为游戏可确保您的应用不受 Android 16 行为更改的影响。如需了解详情,请参阅有关大屏幕设备的 Android 16 行为更改的文档。
  • 如果你的项目使用自适应性能包游戏模式API,请确保将 应用类别(App Category) 选择为 游戏(Game)。
  • 如果启用该属性并且未选择类别,则项目生成将失败。
类别名称 输入与 Android 定义的 appCategory 选项之一匹配的有效应用类别名称。不支持自定义类别名称或 Android 未定义的类别名称。

注意:仅当您将“应用类别”设置为“其他”时,此属性才可见。
Android TV 兼容性 启用此选项可将应用程序标记为 Android TV 兼容。
Android 游戏手柄支持级别 选择应用程序为游戏手柄提供的支持级别。

注意:仅当 Android TV 兼容性设置为 true 时,此属性才可见。


  • 与方向键配合使用:该应用程序可通过方向键完全运行。不需要游戏手柄。
  • 支持游戏手柄:该应用程序可与游戏手柄配合使用,但不需要它。
  • 需要游戏手柄:该应用程序需要游戏手柄才能使用。
警告 App Bundle 大小 启用此选项可在 Android App Bundle 的大小超过特定阈值时收到警告。默认情况下,此选项处于选中状态,只有在选择“构建类型”作为“发布”并在构建设置中启用“构建应用包 (Google Play)”选项时,才能对其进行配置。

  • App Bundle 大小阈值:输入大小(以 MB 为单位)。当您的 App Bundle 超过此大小时,Unity 会显示警告,并建议根据 Google Play 最大大小限制对生成的发布 App Bundle 执行完整大小验证。
警告符号大小 启用此选项可在 Android App Bundle 中的符号 zip 包或嵌入符号的大小超过特定阈值时收到警告。默认情况下,此选项处于选中状态,只有在构建设置中将 调试符号(Debug Symbols) 设置为 公共/调试(Public/Debugging) 时,才能对其进行配置。

  • 符号大小阈值:输入大小(以 MB 为单位)。当您的符号包超过此大小时,Unity 会显示警告。
应用程序入口点 要为应用程序生成的应用程序入口点。有关详细信息,请参阅 Android 应用程序入口点

主动输入处理 选择如何处理来自用户的输入。

  • 输入管理器(旧):使用原始输入设置。
  • 输入系统包(新)(Input System Package)(输入系统包)(Input System Package(新)(Input System Package)(输入系统包)(Input
  • 两者:同时使用这两个系统。Android 不支持此选项。

API 兼容性级别

您可以为所有目标选择单一 API 兼容性级别。有时,第三方 .NET 库使用超出 .NET 兼容性级别的功能。要了解此类情况下发生了什么以及如何最好地解决它,请尝试遵循以下建议:

  1. 安装 ILSpy for Windows。
  2. 将遇到问题的 API 兼容性级别的 .NET 程序集拖到 ILSpy 中。您可以在以下位置找到这些Frameworks/Mono/lib/mono/YOURSUBSET/.
  3. 拖入第三方程序集。
  4. 右键单击第三方程序集,然后选择分析
  5. 在分析报告中,检查“取决于”部分。该报告突出显示了第三方程序集所依赖的任何内容,但在您选择的 .NET 兼容性级别中以红色显示。

着色器设置

财产 描述
着色器精度模型 选择着色器使用的默认精度。有关详细信息,请参阅在着色器中使用 16 位精度

  • 平台默认值:在移动平台上使用较低的精度,在其他平台上使用完全精度。
  • 统一:如果平台支持,请使用较低的精度。
严格的着色器变体匹配 启用此选项可在播放器版本中缺少着色器变体并在控制台中显示错误时使用错误着色器进行渲染。该错误指定用于着色器变体搜索的着色器、子着色器索引、传递和关键字
保持加载的着色器处于活动状态 使所有加载的着色器保持活动状态并防止卸载。

着色器变体加载设置(Shader Variant Loading Settings)

使用这些设置来控制内存量着色器在 GPU 上运行的程序。更多信息
请参阅术语表
在运行时使用。

财产 描述
默认块大小 (MB) 设置 Unity 存储在所有平台的构建应用程序中的压缩着色器变体数据块的最大大小。默认值为16. 有关更多信息,请参阅着色器加载
默认块计数 设置 Unity 在所有平台上保留在内存中的解压缩块数的默认限制。默认值为0,这意味着没有限制。
覆盖 启用覆盖此构建目标的 默认块大小(Default chunk size) 和 默认块计数(Default chunk count)。
块大小 (MB) 替代此生成目标上的默认块大小 (MB) 的值。
块计数 覆盖此构建目标上的 默认区块计数(Default chunk count) 的值。

脚本编译

Android 平台的脚本编译设置
Android 平台的脚本编译设置
财产 描述
脚本定义符号 设置自定义编译标志。

有关更多详细信息,请参阅平台相关编译
其他编译器参数 将条目添加到此列表,以将其他参数传递给 Roslyn 编译器。为每个附加参数使用一个新条目。
要创建新条目,请单击添加+)。要删除条目,请单击删除-)。
添加所有所需参数
后,单击“应用”以在将来的编译中包含其他参数。单击“恢复”将此列表重置为最近应用的状态。
禁止显示常见警告 指示是否显示 C# 警告 CS0169CS0649
允许“不安全”代码 支持在预定义程序集中编译“不安全”的 C# 代码(例如,Assembly-CSharp.dll).
对于装配定义文件 (
.asmdef),单击您的.asmdef文件,并在显示的“检查器”窗口中启用该选项。
使用确定性编译 指示是否使用 -deterministic C# 标志阻止编译。启用此设置后,编译的程序集在每次编译时都是逐字节相同的。

有关详细信息,请参阅控制代码生成的 C# 编译器选项

优化

财产 描述
预烘焙碰撞网格体(Prebake Collision Meshes) 在构建时将碰撞数据添加到网格体。
预加载资产 设置玩家在启动时加载的资产数组。
要添加新资产,请增加 Size 属性的值,然后在显示的新 元素(Element) 框中设置要加载的资产的引用。
剥离引擎代码 如果您希望 Unity Linker 工具删除项目不使用的 Unity Engine 功能的代码,请启用此选项。此设置仅适用于 IL2CPP 脚本后端。大多数应用不会使用所有可用的 DLL。此选项会删除应用未用于减小已生成播放器大小的 DLL。如果您的应用程序使用一个或多个类,这些类通常会在当前设置下被剥离,则当您尝试构建应用程序时,Unity 会显示一条调试消息。
管理剥离级别 选择 Unity 剥离未使用的托管 (C#) 代码的积极程度。当 Unity 构建您的应用程序时,Unity Linker 进程可以从您的项目使用的托管 DLL 中剥离未使用的代码。剥离代码可以使生成的可执行文件更小,但有时可以删除正在使用的代码。

有关这些选项和使用 IL2CPP 剥离字节码的详细信息,请参阅 ManagedStrippingLevel


  • 最小:使用此选项可剥离类库、UnityEngine、Windows 运行时程序集,并复制所有其他程序集。
  • :删除无法访问的托管代码以减少生成大小和 Mono/IL2CPP 生成时间。
  • 中:运行 UnityLinker 以将代码大小减小到超出 Low 所能达到的范围。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
  • :UnityLinker 将剥离尽可能多的代码。这将进一步减小代码大小,超出 Medium 所能实现的范围,但某些方法的托管代码调试可能不再有效。您可能需要支持自定义link.xml文件,并且某些反射代码路径的行为可能不同。
启用内部探查器(已弃用) 此功能已弃用,并将在未来版本的 Unity 中停用。请改用“探查器”窗口(菜单:窗口>分析>探查器)。

探查器收集应用程序性能数据并将报告打印到控制台。该报告包含每个 Unity 子系统在每一帧上执行所花费的毫秒数,平均为 30 帧。
顶点压缩(Vertex Compression) 设置每个通道的顶点压缩。这会影响项目中的所有网格体。
通常,顶点压缩用于减小内存中网格体数据的大小、减小文件大小并提高 GPU 性能。

有关如何配置顶点压缩和此设置的限制的更多信息,请参阅压缩网格体数据
优化网格数据 启用此选项可从构建中使用的网格体中剥离未使用的顶点属性。此选项可减少网格体中的数据量,这有助于减少构建大小、加载时间和运行时内存使用量。

警告:如果启用了此设置,请勿在运行时更改材质或着色器设置。

有关更多信息,请参阅 PlayerSettings.stripUnusedMeshComponents
纹理Mipmap剥离 为所有平台启用 mipmap 剥离。它在构建时从纹理中剥离未使用的 mipmap 级别。
Unity 通过将 mipmap 级别与当前平台的质量设置进行比较来确定未使用的 mipmap 级别。如果从当前平台的每个质量设置中排除了 mipmap 级别,则 Unity 会在生成时从生成中剥离这些 mipmap 级别。如果
QualitySettings.globalTextureMipmapLimit设置为已剥离的 mipmap 级别,则 Unity 会将该值设置为最接近的尚未剥离的 mipmap 级别。

堆栈跟踪

根据所需的日志记录类型,启用与每种日志类型(错误断言警告日志异常)相对应的选项,选择首选的堆栈跟踪方法。有关详细信息,请参阅堆栈跟踪日志记录

财产 描述
没有 从未记录任何日志。
仅脚本 仅在运行时记录脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。更多信息
请参阅术语表
.
一直记录。

有关详细信息,请参阅堆栈跟踪日志记录

遗产

启用 Clamp BlendShapes (Deprecated) 选项以限制 SkinnedMeshRenderers 中的混合形状权重范围。

发布设置

使用以下发布设置来配置 Unity 构建 Android 应用程序的方式。

Android 发布面板
Android 发布面板

注意:出于安全原因,Unity 不会保存您的密钥库或项目密钥密码。

使用 Keystore Manager 窗口创建、配置和加载密钥和密钥库。 您可以从 Keystore Manager 或 Android Publishing 主面板加载现有密钥库和密钥。如果您选择从 Keystore Manager 中加载这些字段,Unity 会自动填充 Project Keystore 和 Project Key 字段。 有关更多信息,请参阅有关密钥库管理器的文档。

项目密钥库

密钥库是保存应用程序安全签名密钥的容器。有关详细信息,请参阅 Android 开发者文档:Android 密钥库系统。

使用项目密钥库设置选择要用于打开项目的密钥库。加载密钥库时,Unity 会加载该密钥库中的所有密钥。 要在打开的项目中加载和使用现有密钥库,请执行以下作:

  1. 启用自定义密钥库
  2. 打开“选择”下拉列表,选择“浏览”,然后从文件系统中选择一个密钥库。
  3. 输入您的密钥库密码

如果您没有现有的密钥库,请停用自定义密钥库

Unity 使用调试密钥库对应用程序进行签名。 调试密钥库是一个有效的密钥库。它允许您对应用程序进行签名并在本地进行测试。但是,应用商店将拒绝以这种方式签名的应用程序。这是因为应用商店无法使用调试密钥库验证应用程序的有效性和所有权。

财产 描述
自定义密钥库 启用自定义密钥库以加载和使用现有密钥库。
选择 启用自定义密钥库后,使用此选项选择要使用的密钥库。选择下拉列表中分区下方的密钥库存储在预定义的专用位置。有关更多详细信息,请参阅选择密钥库位置
路径 您无需输入密钥库路径。Unity 根据您选择的密钥库提供此功能。
密码 输入密钥库密码以加载您选择的密钥库。

项目密钥

加载密钥库时,Unity 会加载该密钥库中的所有密钥。使用项目密钥设置从该密钥库中选择一个密钥,用作打开项目的活动密钥。

财产 描述
别名 选择要用于打开项目的密钥。
密码 输入您的密钥密码。

默认情况下,Unity 使用清单文件Gradle一种 Android 构建系统,可自动执行多个构建过程。这种自动化意味着许多常见的生成错误不太可能发生。更多信息
请参阅术语表
Unity 安装随附的模板和 Proguard 文件。使用Android发布设置的 构建(Build) 部分来更改这些设置。

如需使用自定义清单文件、Gradle 模板或 Proguard 文件,请执行以下作:

  1. 启用相应的复选框。Unity 在您的项目中创建一个默认文件,文件位置将显示在复选框下方。
  2. 打开新文件并进行更改。
  3. 保存对此文件的更改。Unity 在下次构建应用程序时会自动使用保存到此文件的更改。

“生成”部分中的设置仅适用于当前项目的生成过程。

财产 描述
自定义主清单 Android 的可定制版本LibraryManifest.xml文件。此文件包含有关 Android 应用程序的重要元数据。有关主/Unity 库清单职责的详细信息,请参阅 Unity 库清单
自定义启动器清单 Android 的可定制版本LauncherManifest.xml文件。此文件包含有关 Android 应用程序启动器的重要元数据。有关 Unity Launcher 清单职责的更多信息,请参阅 Unity Launcher 清单
自定义主 Gradle 模板 可定制版本的mainTemplate.gradle文件。此文件包含有关如何将 Android 应用程序构建为库的信息。如需了解详情,请参阅有关 Gradle 项目文件的文档。
自定义启动器 Gradle 模板 可定制版本的launcherTemplate.gradle文件。此文件包含有关如何构建 Android 应用程序的说明。如需了解详情,请参阅有关 Gradle 项目文件的文档。
自定义基础 Gradle 模板 可定制版本的baseProjectTemplate.gradle文件。此文件包含所有其他模板和 Gradle 项目之间共享的配置。如需了解详情,请参阅有关 Gradle 项目文件的文档。
自定义 Gradle 属性模板 可定制版本的gradle.properties文件。此文件包含 Gradle 构建环境的配置设置。这包括:
  • JVM(Java 虚拟机)内存配置。
  • 允许 Gradle 使用多个 JVM 进行构建的属性。
  • 用于选择工具进行缩小的属性。
  • 用于在构建 App Bundle 时不压缩本机库的属性。
自定义 Gradle 设置模板 可定制版本的settingsTemplate.gradle文件。此文件包含项目存储库的声明,用于解析应用程序所需的外部依赖项。
自定义 Proguard 文件 可定制版本的proguard.txt文件。此文件包含缩小过程的配置设置。如果缩小删除了一些应该保留的 Java 代码,请添加一个规则以将该代码保留在此文件中。有关更多信息,请参阅有关缩小的文档。

缩小

缩小是一个缩小、混淆和优化应用程序中代码的过程。它可以减小代码大小并使代码更难反汇编。但是,缩小可以剥离实际需要的代码,因此请确保正确配置此过程。Unity 使用 Proguard 进行缩小。使用 Minify 设置定义 Unity 应何时以及如何将缩小应用于您的构建。有关 Proguard 的信息,请参阅 Proguard 手册

在大多数情况下,最好仅将缩小应用于发布版本,而不调试版本。这是因为缩小需要时间,并且会使构建速度变慢。由于代码经过优化,它还可能使调试变得更加复杂。

注意:如果通过反射引用 Java 代码,则缩小过程无法推断该代码正在使用并剥离该代码。可以使用自定义 Proguard 文件来保留所需的代码。

缩小部分中的设置仅适用于当前项目的构建过程。

财产 描述
释放 指示 Unity 在发布版本中缩小应用程序的代码。
调试 指示 Unity 在调试版本中缩小应用程序的代码。

拆分应用程序二进制文件

启用 拆分应用程序二进制文件(Split Application Binary) 选项,将输出包拆分为主 (APK) 和扩展 (OBB) 包。如果您想发布大于 100 MB 的应用程序,Google Play 商店需要这样做。

报告 App Bundle 中的依赖项

如果您计划将应用构建为 Google Play 的 Android App Bundle (AAB),请启用此选项以包含有关 App Bundle 中的依赖项的信息。有关详细信息,请参阅报告应用程序依赖项部分

注意:只有在 Android 构建设置中启用 Build App Bundle (Google Play) 选项时,才能与此设置进行交互。

玩家设置Android

设置 Android SDK 目标 API
Android 密钥库