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

Шаблоны Gradle настраивают способ создания приложения Android с помощью Gradle Система сборки Android, которая автоматизирует несколько процессов сборки. Эта автоматизация означает, что вероятность возникновения многих распространенных ошибок сборки снижается. Подробнее
См. в Словарь
. Каждый шаблон Gradle представляет собой один проект Gradle. Проекты Gradle могут включать в себя другие проекты Gradle и зависеть от них.

Файлы шаблонов Gradle

Шаблон Gradle состоит из следующих файлов:

Файл Местоположение Содержит
baseProjectTemplate.gradle In the exported project, root/build.gradle folder Информация о конфигурации, влияющая на все модули в окончательном проекте Gradle. Он указывает, какую версию плагина Android Gradle использовать, и расположение java-плагинов. Места представляют собой комбинацию онлайн-репозиториев и java-плагинов внутри этого проекта.
launcherTemplate.gradle_ In the exported project, root/launcher/build.gradle folder Инструкции по сборке приложения для Android. Это включает в себя объединение, подписание и необходимость разделения apkформата пакета Android, выдаваемого Unity. APK автоматически развертывается на вашем устройстве, когда вы выбираете «Файл» > «Сборка и запуск». Подробнее
См. в Словарь
. Это зависит от проекта unityLibrary и выводит либо файл .apk, либо пакет приложений.
mainTemplate.gradle In the exported project, root/unityLibrary/build.gradle folder Инструкции по сборке Unity как библиотеки. Это выводит файл .aar. Вы можете переопределить шаблон Unity с помощью пользовательского шаблона в редакторе Unity. Дополнительные сведения см. в разделе Предоставление пользовательского шаблона сборки Gradle на этой странице.
libTemplate.gradle Varies Если Проект библиотеки Android подключаемый модульНабор кода, созданного вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. в Словарь
не включает build.gradle, Unity использует файл libTemplate.gradle в качестве шаблона для его создания. После того как Unity создаст файл build.gradle или, если он уже существует в каталоге подключаемого модуля, Unity скопирует подключаемый модуль в проект Gradle.

Использование пользовательского шаблона Gradle

Есть два файла .gradle, которые управляют процессом сборки Gradle для модуля unityLibrary:

  • build.gradle: указывает инструкции по сборке.
  • settings.gradle: содержит имена модулей, которые система сборки Gradle должна включать при сборке компонентов project.project в соответствии с инструкциями в файл build.gradle используется в процессе сборки.

сборка.gradle

Файл build.gradle содержит переменные шаблона, которые определяют инструкции по сборке.

По умолчанию Unity использует файл mainTemplate.gradle из каталога установки Unity для создания файла build.gradle для модуль unityLibrary. Чтобы создать собственный файл mainTemplate.gradle:

  1. Откройте окно настроек проекта (меню: Правка > Настройки проекта).
  2. Выберите вкладку Проигрыватель, затем откройте Настройки проигрывателя Android:
  3. В разделе Настройки публикации включите Пользовательский основной шаблон Gradle. Это создает файл шаблона Gradle с именем mainTemplate.gradle и отображает путь к файлу. Теперь Unity использует этот файл mainTemplate.gradle для создания файла build.gradle. Список переменных шаблона и описание того, что каждая из них делает, см. в разделе переменные шаблона.

Переменные шаблона

Файл mainTemplate.gradle может содержать следующие переменные:

Переменная Описание
DEPS Список зависимостейв контексте диспетчера пакетов зависимость — это конкретная версия пакета (выраженная в виде имя_пакета@версия_пакета), которые требуются проекту или другому пакету для работы. Проекты и пакеты используют атрибут dependencies в своих манифестах для определения набора требуемых пакетов. Для проектов это считается прямой зависимостью; для пакетов это косвенные или транзитивные зависимости. Подробнее
См. в Словарь
. Это список библиотек, которые использует проект..
APIVERSION Версия API для сборки. Unity устанавливает и TARGETSDKVERSION одно и то же значение (целевой уровень API в настройках проигрывателя Android).
MINSDKVERSION Минимальная версия API, поддерживающая приложение.
BUILDTOOLS Инструменты сборки SDK для использования.
TARGETSDKVERSION Целевая версия API. Unity устанавливает для параметров и APIVERSION одно и то же значение (Целевой уровень API в Настройках проигрывателя Android).
APPLICATIONID Идентификатор приложения Android. Например, com.mycompany.myapp.
MINIFY_DEBUG Указывает, следует ли минимизировать отладочные сборки.
PROGUARD_DEBUG Указывает, следует ли использовать ProGuard для минимизации в отладочных сборках.
MINIFY_RELEASE Указывает, нужно ли минимизировать сборки выпуска.
PROGUARD_RELEASE Указывает, следует ли использовать ProGuard для минификации в готовых сборках..
USER_PROGUARD Указывает пользовательский файл ProGuard, который будет использоваться для минимизации.
SIGN Заполните раздел signingConfigs, если эта сборка подписана..
SIGNCONFIG Указывает, подписана ли сборка. Если для этого свойства задано значение signingConfig.release, сборка подписывается.
DIR_GRADLEPROJECT Каталог, в котором Unity создает проект Gradle.
DIR_UNITYPROJECT Каталог вашего проекта Unity.

settings.gradle

Файл settings.gradle содержит компоненты проекта, используемые в процессе сборки.

По умолчанию Unity использует файл settingsTemplate.gradle из каталога установки Unity для создания файла settings.gradle для ваша сборка. Чтобы создать собственный файл settingsTemplate.gradle, создайте файл settingsTemplate.gradle в вашего проекта. Папка Assets/Plugins/Android/. Это переопределяет шаблон по умолчанию.

Еслисоздаете собственный файл settings.gradle, имейте в виду следующее:

  • Unity создает компоненты launcher и unityLibrary по умолчанию, и вы должны включить их в свой файл settingsTemplate.gradle. Для этого добавьте include ':launcher', ':unityLibrary' в качестве записи в свой settingsTemplate.gradle. ли>
  • Если вы используете подключаемые модули библиотеки Android, Unity включает их в окончательный файл settings.gradle, заменяя **INCLUDES** запись. Это означает, что вы должны добавить **INCLUDES** в качестве записи в свой settingsTemplate.gradle.

Изменение экспортированного проекта Gradle с помощью C#

Чтобы изменить проект Gradle после его сборки Unity, создайте класс, наследуемый от IPostGenerateGradleAndroidProject, и переопределите класс OnPostGenerateGradleAndroidProject. Эта функция получает путь к модулю unityLibrary в качестве параметра, и вы можете использовать его для доступа к манифесту и ресурсам приложения с помощью сценариев C#.

Предупреждение: Unity теперь использует инкрементный конвейер сборки, что означает, что Unity повторно использует один и тот же проект Gradle для последовательных сборок. Это означает, что любые изменения, которые вы делаете с помощью этого API, накапливаются, поскольку Unity больше не создает новый проект Gradle для каждой сборки. Например, если вы используете этот API для добавления дополнительного файла в проект Gradle, первая сборка работает должным образом, но во время второй сборки файл уже существует. Второй пример — если вы используете этот API для добавления разрешения на определенный файл. Каждая последующая сборка добавляет еще одну запись для разрешения. Крайне важно убедиться, что изменения, которые вы хотите внести, еще не присутствуют в сборке.

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