Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Gradle – это система сборки, которая автоматизирует ряд процессов сборки и предотвращает многие распространенные ошибки сборки. Unity использует Gradle для всех сборок Android. Вы можете создать выходной пакет (.apk, .aab) в Unity или экспортировать проект Gradle из Unity, а затем собрать его с помощью внешнего инструмента, такого как Android Studio.

Для получения дополнительной информации о:

Совместимость версий

В следующей таблице показана совместимость версии Gradle и версии Unity.

Версия Unity Версия Gradle
2022.1
2021.2
2021.1 starting from 2021.1.16f1
2020.3 starting from 2020.3.15f1
6.1.1
2021.1 up to and including 2021.1.15f1
2020.1, 2020.2, 2020.3 up to and including 2020.3.14f1
5.6.4
2019.4 5.1.1

Если вы хотите использовать пользовательскую версию плагина Gradle или Android Gradle, важно знать совместимость версий между Gradle и плагином Android Gradle. Для получения информации об этом см. Обновление Gradle.

Структура проекта Gradle

Если вы экспортируете свой проект Unity как проект Gradle, Unity создает проект Gradle с двумя модулями:

  • Модуль UnityLibrary: содержит среду выполнения Unity и данные проекта. Этот модуль представляет собой библиотеку, которую вы можете интегрировать в любой другой проект Gradle. Вы можете использовать его для встраивания Unity в существующие приложения для Android.
  • Модуль запуска: содержит название приложения и все его значки. Это простой модуль приложения для Android, который запускает Unity. Вы можете заменить его собственным приложением.
Файл Описание
build.gradle Базовый файл Gradle, который влияет на все модули в проекте Gradle. Он указывает, какую версию плагина Android Gradle использовать, и расположение java-плагинов. Места представляют собой комбинацию онлайн-репозиториев и java-плагинов внутри этого проекта. Чтобы повлиять на содержимое этого файла, предоставьте собственный базовый шаблон Gradle.
gradle.properties Стандартный файл проекта Gradle, который настраивает сборку приложения. Unity также добавляет имена ресурсов в каталог Streaming Assets и указывает, что эти ресурсы должны быть в конечном приложении, а Gradle не должен их сжимать.

Чтобы повлиять на содержимое этого файла, предоставьте собственный шаблон свойств Gradle.

Информацию о свойствах, которые может содержать этот файл, см. в разделе файлы свойств Gradle. .

launcher Каталог, содержащий модуль запуска и все, что с ним связано.
  build.gradle Стандартный файл build.gradle проекта Gradle, который описывает, как собрать модуль запуска, и включает список зависимостей, которые нужно включить в сборку. В Unity модуль запуска зависит от модуля unityLibrary, что означает, что unityLibrary создается и включается в окончательный результат при создании модуля запуска.

Чтобы повлиять на содержимое этого файла, предоставьте собственный шаблон Launcher Gradle.

  src Стандартный каталог проекта Android Gradle, содержащий исходный код и ресурсы модуля запуска. Unity помещает исходный код и ресурсы в подкаталог main.
    main Стандартный каталог проекта Android Gradle, содержащий исходный код и ресурсы модуля запуска. Unity поддерживает только основной набор исходников. Дополнительные сведения о наборах исходного кода см. в разделе Создание наборов исходного кода.
      AndroidManifest.xml Стандартный файл проекта Android Gradle, который Unity объединяет в окончательный манифест приложения Android. Он содержит настройки, специфичные для модуля запуска.

Важно. Если в нескольких файлах манифеста указаны разные значения для одного и того же параметра, процесс объединения манифестов завершится ошибкой, и вам придется исправить это вручную. Вы можете указать правила для слияния манифеста, чтобы автоматически решать, как разрешать конфликты слияния. Информацию о том, как это сделать, см. в разделе Управление файлами манифеста.

Информацию о том, как повлиять на содержимое этого файла, см. в разделе Переопределение манифеста приложения Android.

      jniLibs Стандартный каталог проекта Android Gradle, содержащий собственные библиотеки кода, используемые модулем запуска.
      res Стандартный каталог проекта Android Gradle, содержащий ресурсы для включения в окончательное приложение. Ресурсы — это значки приложений, текст, к которому приложение обращается во время выполнения, и описания стиля приложения.

Чтобы указать ресурсы в этом каталоге, задайте значки приложений и имя проекта в настройках проигрывателя Android.

local.properties Стандартный файл проекта Android Gradle, который настраивает среду системы сборки. Unity указывает здесь путь к SDK и NDK, чтобы по умолчанию экспортированный проект Gradle использовал те же SDK и NDK, что и редактор Unity.

Информацию о свойствах, которые может содержать этот файл, см. в разделе файлы свойств Gradle. .

settings.gradle Стандартный файл проекта Android Gradle, в котором указаны все модули, составляющие этот проект Android Gradle. В проектах, экспортируемых Unity, обычно указываются только модули launcher и unityLibrary. Однако, если проект Unity использует доставку игровых ресурсов](play-asset-delivery), каждый пакет ресурсов представляет собой отдельный модуль, поэтому в этом файле они также перечислены.

Чтобы повлиять на содержимое этого файла, скопируйте файл settingsTemplate.gradle в папку PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/каталог в Assets/Plugins/Android в вашем проекте Unity. Затем вы можете добавить свои пользовательские изменения в этот файл.

unityLibrary Каталог, содержащий модуль unityLibrary и все, что с ним связано.
  build.gradle Стандартный файл build.gradle проекта Gradle, который описывает, как собрать модуль unityLibrary, и включает список зависимостей, которые нужно включить в сборку. В Unity модуль unityLibrary зависит от всех плагиновнабора код, созданный вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. Словарь
в проекте Unity.

Чтобы повлиять на содержимое этого файла, предоставьте собственный основной шаблон Gradle.

  libs Общий каталог проекта Android Gradle, в котором хранятся подключаемые модули Android Archive (.aar) и Java Archive (.jar) для Модуль UnityLibrary.

Для экспортированных проектов Unity он содержит unity-classes.jar, а также все подключаемые модули .jar и .aar в проекте Unity.

Примечание. Этот каталог не содержит подключаемых модулей проектов библиотеки Android. Вместо этого Unity копирует их в проект Gradle как отдельные модули.

    unity-classes.jar Плагин Java для Unity, содержащий код Java, который использует движок Unity..
  proguard-unity.txt Файл Unity, содержащий конфигурации ProGuard для кода Java Unity (код в подключаемом модуле unity-classes.jar). Конфигурации действуют, когда минимизация включена в настройках проигрывателянастройках, которые позволяют вам устанавливать различные параметры для конкретного игрока для окончательной игры, созданной Unity. . Подробнее
См. в Словарь
(или если он включен путем ручного изменения файлов сборки gradle) .
  src Стандартный каталог проекта Android Gradle, содержащий исходный код и ресурсы модуля unityLibrary. Unity помещает исходный код и ресурсы в подкаталог main.
    main Стандартный каталог проекта Android Gradle, содержащий исходный код и ресурсы модуля unityLibrary. Unity поддерживает только основной набор исходников. Дополнительные сведения о наборах исходного кода см. в разделе Создание наборов исходного кода..
      AndroidManifest.xml Стандартный файл проекта Android Gradle, который Unity объединяет в окончательный манифест приложения Android. Он содержит настройки, специфичные для модуля unityLibrary.

Чтобы повлиять на содержимое этого файла, предоставьте настраиваемый настраиваемый главный манифест.

      assets Стандартный каталог Android Gradle, содержащий ресурсы проекта. Unity помещает ресурсы проекта Unity в подкаталог bin.
        bin Стандартный каталог проекта Android Gradle, в который Unity добавляет все ресурсы проекта Unity.
      java Стандартный каталог проекта Android Gradle, содержащий нескомпилированные исходные файлы Java для модуля unityLibrary. Unity использует этот каталог только для хранения исходного файла UnityPlayerActivity. Информацию о том, как расширить UnityPlayerActivity, см. в разделе Расширение кода Java UnityPlayerActivity.
      jniLibs Стандартный каталог проекта Android Gradle, содержащий собственные библиотеки кода, используемые модулем unityLibrary. Unity помещает библиотеки движка Unity libil2cpp, libmain и libunity в этот каталог. Unity также размещает в этом каталоге любые подключаемые модули [Native (C++) (AndroidNativePlugins).
      res Стандартный каталог проекта Android Gradle, содержащий ресурсы для включения в окончательное приложение. Для экспортированных проектов Unity каталог res для модуля unityLibrary содержит только описания стилей, которые использует модуль unityLibrary..
proguard-user.txt Это специальный файл проекта Unity, который содержит конфигурации ProGuard для кода Java проекта и подключаемых модулей Java сторонних разработчиков. Точно так же, как ProGuard-unity.txt, Gradle использует его, если вы включаете минимизацию.

Чтобы создать этот файл, включите Пользовательский файл Proguard в Настройках проигрывателя Android.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3