包含此页的版本:
不含此页的版本:
导出 Unity 项目时,Unity 会创建一个Gradle一种 Android 构建系统,可自动执行多个构建过程。这种自动化意味着许多常见的生成错误不太可能发生。更多信息
请参阅术语表项目,其中包含以下主要模块:
有关 Gradle 项目结构的概述,请参阅下图。
<exported_project_root>/
├── gradle/
├── launcher/
│ └── src/
│ │ └── main/
│ │ ├── res/
│ │ ├── AndroidManifest.xml
│ ├── build.gradle
│ ├── setupSymbols.gradle
├── shared/
│ └── keepUnitySymbols.gradle
├── unityLibrary/
│ ├── libs/
│ │ └── unity-classes.jar
│ └── src/
│ └── main/
│ ├── assets/
│ │ └── bin
│ ├── cpp/
│ ├── java/
│ ├── jniLibs/
│ ├── res/
│ ├── resources/
│ └── AndroidManifest.xml
├── build.gradle
├── proguard-unity.txt
├── gradle.properties
├── local.properties
└── settings.gradle
有关 Gradle 项目中每个文件/目录的说明,请参阅下表。
| 文件/目录 | 描述 |
|---|---|
gradle/ |
包含 Gradle 包装文件的目录。有关更多信息,请参阅 Gradle 包装器文件 (Android)。 |
launcher/ |
包含启动器模块和关联文件的目录。 |
launcher/src |
一个标准的 Android Gradle 项目目录,其中包含启动器模块的源代码和资源。Unity 将源代码和资源放在main子目录。 |
launcher/src/main |
一个标准的 Android Gradle 项目目录,其中包含启动器模块的源代码和资源。Unity 仅支持主源代码集。有关源集的更多信息,请参阅创建源集(Android)。 |
launcher/src/main/res |
一个标准的 Android Gradle 项目目录,其中包含要包含在最终应用中的资源。这些资源是应用程序图标、应用程序在运行时访问的文本以及应用程序样式说明。 注意:要指定此目录中的资源,请在 Android 播放器设置中设置应用程序图标和项目名称。 |
launcher/src/main/AndroidManifest.xml |
Unity 合并到最终 Android 应用清单中的标准 Android Gradle 项目文件。它包含特定于启动器模块的设置。 重要提示: 如果多个清单文件为同一设置指定了不同的值,则清单合并过程将失败,您必须手动修复它。您可以指定清单合并的规则,以自动决定如何解决合并冲突。有关如何执行此作的信息,请参阅管理清单文件(Android)。 如需了解如何自定义此文件的内容,请参阅修改 Gradle 项目文件。 |
launcher/build.gradle |
标准 Gradle 项目build.gradle描述如何构建launcher模块,并包含要包含在构建中的依赖项列表。在 Unity 中,launcher模块依赖于unityLibrary模块,这意味着unityLibrary构建并包含在构建启动器模块时的最终结果中。注意:要自定义此文件的内容,请提供自定义 Launcher Gradle 模板。 |
launcher/setupSymbols.gradle |
特定于 Unity 的文件,其中包含用于将调试符号文件嵌入到 App Bundle 中并使用旧版创建符号文件的生成脚本.so外延。 |
shared |
包含适用于项目中多个模块的通用配置信息的目录。 |
shared/keepUnitySymbols.gradle |
特定于 Unity 的文件,其中包含一个脚本,用于将调试元数据存储在运行时二进制文件中,以解析堆栈跟踪。 |
unityLibrary |
包含unityLibrary模块和相关文件。 |
unityLibrary/libs |
一个通用的 Android Gradle 项目目录,.jar用于存储 unityLibrary模块。 对于导出的 Unity 项目,这包含 unity-classes.jar以及 Unity 项目中的所有 .jar 和 .aar 插件。注意:此目录不包含 Android 库插件。相反,Unity 会将这些插件作为单独的模块复制到 Gradle 项目中。 |
unityLibrary/libs/unity-classes.jar |
特定于 Unity 的 Java 插件,其中包含 Unity 引擎使用的 Java 代码。 |
unityLibrary/src |
标准 Android Gradle 项目目录,其中包含unityLibrary模块的源代码和资源。Unity 将源代码和资源放在main子目录。 |
unityLibrary/src/main |
标准 Android Gradle 项目目录,其中包含unityLibrary模块的源代码和资源。Unity 仅支持主源集。有关源集的更多信息,请参阅创建源集(Android)。 |
unityLibrary/src/main/assets |
包含项目资产的标准 Android Gradle 目录。Unity 将 Unity 项目的资源放在bin子目录。 |
unityLibrary/src/main/assets/bin |
Unity 将所有 Unity 项目资源添加到的标准 Android Gradle 项目目录。 |
unityLibrary/src/main/cpp |
包含本机 C 和 C++ 代码的目录。 |
unityLibrary/src/main/java |
一个标准的 Android Gradle 项目目录,其中包含unityLibrary模块。Unity 仅使用此目录来存储UnityPlayerActivity源文件。有关如何扩展的信息UnityPlayerActivity,请参阅扩展默认 Unity 活动。 |
unityLibrary/src/main/jniLibs |
一个标准的 Android Gradle 项目目录,其中包含原生代码库,其中unityLibrary模块使用。Unity 将libil2cpp,libmain和libunityUnity 引擎库。Unity 还将适用于 Android 的任何原生插件都放在此目录中。 |
unityLibrary/src/main/jniStaticLibs |
标准 Android 项目目录,其中包含baselib.a库中unityLibrary模块用于创建libil2cpp.so. |
unityLibrary/src/main/res |
一个标准的 Android Gradle 项目目录,其中包含要包含在最终应用中的资源。对于导出的 Unity 项目,将res目录中的unityLibrary模块仅包含unityLibrary模块使用。 |
unityLibrary/src/main/AndroidManifest.xml |
Unity 合并到最终 Android 应用清单中的标准 Android Gradle 项目文件。它包含特定于unityLibrary模块。注意:要自定义此文件的内容,请提供自定义自定义主清单。 |
unityLibrary/symbols |
如果您选择通过 Debug Symbols 构建设置为应用程序生成符号文件,则 Unity 添加的目录。此目录包含包含调试元数据的文件和 Unity 库的符号表部分。您可以在 Android Studio 中设置目录路径,以便在调试期间解析函数名称。 |
build.gradle |
标准 Gradle 项目build.gradle描述如何构建unityLibrary模块,并包含要包含在构建中的依赖项列表。在 Unity 中,unityLibrary模块依赖于所有插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息请参阅术语表在 Unity 项目中。 注意:如需自定义此文件的内容,请提供自定义主 Gradle 模板。 |
proguard-unity.txt |
一个特定于 Unity 的文件,其中包含 Unity Java 代码的 ProGuard 配置(代码unity-classes.jar插件)。在 Android 中启用缩小时,配置有效玩家设置设置,用于为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息请参阅术语表或手动修改 Gradle 构建文件。 |
build.gradle |
影响 Gradle 项目中所有模块的基本 Gradle 文件。它指定要在此 Gradle 项目中使用的插件版本。其中一个插件是 Android Gradle 插件。 注意:如需自定义此文件的内容,请添加自定义 Base Gradle 模板。 |
proguard-user.txt |
这是一个特定于 Unity 项目的文件,其中包含项目 Java 代码和第三方 Java 插件的 ProGuard 配置。似ProGuard-unity.txt,Gradle 会在您启用缩小时使用此文件。注意:要创建此文件,请在 Android 播放器设置中启用自定义 Proguard 文件。 |
gradle.properties |
用于配置如何构建应用的标准 Gradle 项目文件。有关此文件中的 Unity 特定属性的信息,请参阅 gradle.properties 文件中的属性。如需了解此文件可以包含的 Gradle 属性,请参阅 Gradle 属性文件 (Android)。 注意:如需自定义此文件的内容,请添加自定义 Gradle 属性模板。 |
local.properties |
用于配置构建系统环境的标准 Android Gradle 项目文件。Unity 在此处指定了 SDK 的路径,因此默认情况下,导出的 Gradle 项目使用与 Unity 编辑器使用的相同 SDK。以前,NDK 路径也在此文件中指定了以前的 Gradle 版本,但现在 Unity 在build.gradlelauncher 和 unityLibrary 模块的文件。如需了解此文件可以包含的属性,请参阅 Gradle 属性文件 (Android)。 |
settings.gradle |
一个标准 Android Gradle 项目文件,用于指定构成此 Android Gradle 项目的所有模块。在 Unity 导出的项目中,这通常只指定启动器和 unityLibrary 模块。但是,如果 Unity 项目使用 Play Asset Delivery,则每个资源包都是一个单独的模块,因此此文件也会列出它们。该文件还指定了包含 Gradle 项目插件的位置。这些位置是该项目内部的在线存储库和 java 插件的组合。 如需自定义此文件的内容,请提供自定义 Gradle 设置模板。 |