Unity3d:Gradle for Android

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

Gradle for Android

Gradle 是一个构建系统,可自动执行许多构建过程并防止许多常见的构建错误。Unity 将 Gradle 用于所有 Android 版本。您可以在 Unity 中构建输出包(.apk、.aab),也可以从 Unity 导出 Gradle 项目,然后使用 Android Studio 等外部工具构建它。

有关以下内容的更多信息:

  • Gradle:请参阅 Gradle 用户手册和 Android Gradle 插件文档。
  • 将 Unity 项目导出为 Gradle 项目:请参阅导出 Android 项目。
  • 构建输出包 (.apk):请参阅有关构建适用于 Android 的应用程序的 Unity 文档和有关配置构建的 Android 开发人员文档。
  • 构建输出包 (.aab):请参阅 Unity 文档 Play 资源交付和 Android 开发者文档 Android 应用捆绑包。

版本兼容性

下表显示了 Gradle 版本和 Unity 版本之间的兼容性。

统一版本格拉德尔版本
2022.1 2021.2 2021.1 2021.1F16 1.2020

3.2020F3
6.1.1
2021.1 至 2021.1.15f1 2020.1、2020.2、2020.3 至
2020.3.14f1 (含)
5.6.4
2019.45.1.1

如果您想使用自定义的 Gradle 或 Android Gradle 插件版本,请务必了解 Gradle 和 Android Gradle 插件之间的版本兼容性。有关这方面的信息,请参阅更新 Gradle。

格拉德尔项目结构

如果将 Unity 项目导出为 Gradle 项目,Unity 将创建一个包含两个模块的 Gradle 项目:

  • UnityLibrary 模块:包含 Unity 运行时和项目数据。此模块是一个库,您可以将其集成到任何其他 Gradle 项目中。您可以使用它将 Unity 嵌入到现有的 Android 应用程序中。
  • 启动器模块:包含应用程序的名称及其所有图标。这是一个启动 Unity 的简单 Android 应用程序模块。您可以将其替换为自己的应用程序。
文件描述
build.gradle影响 Gradle 项目中的所有模块的基本 Gradle 文件。它指定了要使用的Android Gradle插件版本以及java插件的位置。这些位置是该项目内部的在线存储库和 Java 插件的组合。要影响此文件的内容,请提供自定义基本 Gradle 模板
gradle.properties一个标准的 Gradle 项目文件,用于配置如何构建应用程序。Unity 还会在流资产目录中添加资源的名称,并指定这些资源应位于最终应用程序中,而 Gradle 不应压缩它们。

要影响此文件的内容,请提供自定义 Gradle 属性模板

有关此文件可以包含的属性的信息,请参阅 Gradle 属性文件
发射包含启动器模块及其相关所有内容的目录。
build.gradle一个标准的 Gradle 项目 build.gradle 文件,描述如何构建启动器模块,并包含要包含在构建中的依赖项列表。在 Unity 中,启动器模块依赖于 unityLibrary 模块,这意味着在构建启动器模块时,unityLibrary 会构建并包含在最终结果中。

要影响此文件的内容,请提供自定义启动器Gradle模板
来源一个标准的 Android Gradle 项目目录,其中包含启动器模块的源代码和资源。Unity 将源代码和资源放在子目录中。main
主要一个标准的 Android Gradle 项目目录,其中包含启动器模块的源代码和资源。Unity 仅支持主源集。有关源集的详细信息,请参阅创建源集
安卓清单.xmlUnity 合并到最终 Android App Manifest 中的标准 Android Gradle 项目文件。它包含特定于启动器模块的设置。

重要提示:如果多个清单文件为同一设置指定了不同的值,则清单合并过程将失败,您必须手动修复。您可以为清单合并指定规则,以自动决定如何解决合并冲突。有关如何执行此操作的信息,请参阅管理清单文件

有关如何影响此文件内容的信息,请参阅替代 Android 应用清单
jniLibs一个标准的 Android Gradle 项目目录,其中包含启动器模块使用的本机代码库。
一个标准的 Android Gradle 项目目录,其中包含要包含在最终应用程序中的资源。这些资源是应用程序图标、应用程序在运行时访问的文本以及应用程序样式说明。

要指定此目录中的资源,请在 Android 播放器设置中设置应用程序图标和项目名称。
本地属性一个标准的 Android Gradle 项目文件,用于配置构建系统的环境。Unity 在此处指定了 SDK 和 NDK 的路径,以便默认情况下,导出的 Gradle 项目使用与 Unity 编辑器相同的 SDK 和 NDK。

有关此文件可以包含的属性的信息,请参阅 Gradle 属性文件
settings.gradle一个标准的 Android Gradle 项目文件,用于指定构成此 Android Gradle 项目的所有模块。在 Unity 导出的项目中,这通常只指定启动器和 unityLibrary 模块。但是,如果 Unity 项目使用 Play 资源交付](播放资源交付.html),则每个资源包都是一个单独的模块,因此此文件也会列出它们。

要影响此文件的内容,请将目录中的文件复制到 Unity 项目中。然后,您可以将自定义修改追加到此文件。
settingsTemplate.gradlePlaybackEngines/AndroidPlayer/Tools/GradleTemplates/Assets/Plugins/Android
团结库包含 unityLibrary 模块及其相关所有内容的目录。
build.gradle一个标准的 Gradle 项目 build.gradle 文件,描述如何构建 unityLibrary 模块,并包含要包含在构建中的依赖项列表。在 Unity 中,unityLibrary 模块依赖于 Unity 项目中的所有插件

要影响此文件的内容,请提供自定义的主 Gradle 模板
一个常见的 Android Gradle 项目目录,用于存储 unityLibrary 模块的 Android Archive (.aar) 和 Java Archive (.jar) 插件。

对于导出的 Unity 项目,它包含 Unity 项目中的所有 .jar 和 .aar 插件。

注意:此目录不包含 Android 库项目插件。相反,Unity 会将它们作为单独的模块复制到 Gradle 项目中。
unity-classes.jar
团结类.jar一个特定于 Unity 的 Java 插件,其中包含 Unity 引擎使用的 Java 代码。
亲卫团结.txt一个特定于 Unity 的文件,其中包含 Unity java 代码的 ProGuard 配置(Unity 类中的代码.jar插件)。在播放器设置中启用缩小(或通过手动修改 gradle 构建文件启用缩小)时,配置有效。
来源一个标准的 Android Gradle 项目目录,包含 unityLibrary 模块的源代码和资源。Unity 将源代码和资源放在子目录中。main
主要一个标准的 Android Gradle 项目目录,包含 unityLibrary 模块的源代码和资源。Unity 仅支持主源集。有关源集的详细信息,请参阅创建源集
安卓清单.xmlUnity 合并到最终 Android App Manifest 中的标准 Android Gradle 项目文件。它包含特定于 unityLibrary 模块的设置。

若要影响此文件的内容,请提供自定义自定义主清单
资产包含项目资产的标准 Android Gradle 目录。Unity 将 Unity 项目的资源放在子目录中。bin
。.bin一个标准的 Android Gradle 项目目录,Unity 将 Unity 项目的所有资源添加到该目录。
.java一个标准的 Android Gradle 项目目录,其中包含 unityLibrary 模块的未编译 Java 源文件。Unity 仅使用此目录来存储 UnityPlayerActivity 源文件。有关如何扩展 UnityPlayerActivity 的信息,请参阅扩展 UnityPlayerActivity Java 代码
jniLibs一个标准的 Android Gradle 项目目录,其中包含 unityLibrary 模块使用的本机代码库。Unity 将 、 和 Unity 引擎库放在此目录中。Unity 还会在此目录中放置任何 [Native (C++) 插件(AndroidNativePlugins)。libil2cpplibmainlibunity
一个标准的 Android Gradle 项目目录,其中包含要包含在最终应用程序中的资源。对于导出的 Unity 项目,unityLibrary 模块的目录仅包含 unityLibrary 模块使用的样式描述。res
proguard-user.txt这是一个特定于 Unity 项目的文件,其中包含项目的 Java 代码和第三方 Java 插件的 ProGuard 配置。就像 Gradle 在启用缩小时使用它一样。

要创建此文件,请在 Android 播放器设置中启用自定义专业保护文件
ProGuard-unity.txt

3D建模学习工作室整理翻译,转载请标明出处!

上一篇:Unity3d:安卓要求和兼容性 (mvrlink.com)

下一篇:Unity3d:安卓应用清单 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号