版本:Unity 6 (6000.0)
语言 : 英语
Unity 库清单
Android 入门

Unity 如何构建 Android 应用程序

Unity 使用 GradleAndroid 构建系统,可自动执行多个构建过程。此自动化意味着许多常见的构建错误不太可能发生。 更多信息
参见 术语表
构建 Android 应用程序,因此了解构建过程以及 Unity 如何与 Gradle 交互非常有用。Gradle 允许您使用 播放器设置设置可用于为 Unity 构建的最终游戏设置各种特定于播放器的选项。 更多信息
参见 术语表
和其他 Unity 窗口来配置最终构建的大多数方面,但是,为了获得更多控制权,您必须覆盖 清单清单文件有两种类型:项目清单包清单
参见 术语表
模板 文件,或导出您的项目并在 Android Studio 中对其进行编辑。

构建过程

构建 Android 应用程序

  1. Unity 为所有 AndroidProjectFilesModifier 接口调用 AndroidProjectFilesModifier.Setup。您可以使用此回调来设置修改自定义 Android Gradle 项目文件的先决条件。有关更多信息,请参阅 AndroidProjectFilesModifier.Setup
  2. Unity 收集项目资源、代码库、插件在 Unity 之外创建的一组代码,用于在 Unity 中创建功能。您可以使用两种类型的插件在 Unity 中使用:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。 更多信息
    参见 术语表
    、Gradle 模板和清单模板,并将它们从 Unity 项目中使用来创建一个有效的 Gradle 项目。
  3. Unity 基于 Unity 项目的播放器设置和构建设置在 Gradle 模板和清单文件中添加和更新值。
  4. 如果您选择导出项目而不是构建它,并使用 IL2CPPUnity 开发的脚本后端,您可以将其用作构建某些平台项目时的 Mono 替代方案。 更多信息
    参见 术语表
    脚本后端支持 Unity 中脚本的框架。Unity 根据目标平台支持三种不同的脚本后端:Mono、.NET 和 IL2CPP。但是,通用 Windows 平台仅支持两种:.NET 和 IL2CPP。 更多信息
    参见 术语表
    ,Unity 将从您的 C# 脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性并以您喜欢的任何方式响应用户输入。 更多信息
    参见 术语表
    生成的 C++ 源文件放置到 Gradle 项目中。否则,如果您选择构建项目,Unity 将 libil2cpp.so 库放置到 Gradle 项目中。
  5. Unity 为所有 AndroidProjectFilesModifier 接口调用 OnModifyAndroidProjectFiles。您可以使用此回调来修改 Gradle 项目文件的值。有关更多信息,请参阅 使用 Android 项目配置管理器修改 Gradle 项目文件
    注意:您只能在自定义模块中修改 Android Gradle 项目文件。
  6. Unity 为所有 IPostGenerateGradleAndroidProject 接口调用 OnPostGenerateGradleAndroidProject。您可以使用此回调在 Gradle 构建应用程序之前修改或移动文件。
  7. Unity 运行 Gradle 从 Gradle 项目构建应用程序。Gradle 将 Unity 库清单、Unity 启动器清单和插件清单合并到一个 Android 应用程序清单 文件中。

增量构建管道

Unity 在构建 Android 播放器时使用 增量构建管道。查看以下 Android 特定增量构建管道行为

如果您实现 IPostGenerateGradleAndroidProject 并修改或移动增量构建管道使用的任何 Android 文件或资产,则可能会导致构建项目时出现问题。如果您只想 修改 Gradle 项目文件,最佳做法是使用 Android 项目配置管理器 而不是 IPostGenerateGradleAndroidProject。如果您必须为您的用例使用 IPostGenerateGradleAndroidProject 并需要解决增量构建管道问题,请参阅 创建非增量构建
注意:您只能在自定义模块中使用 Android 项目配置管理器修改 Android Gradle 项目文件。

Unity 库清单
Android 入门