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

Как Unity создает приложения для Android

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

Процесс сборки

Чтобы создавать приложения для Android:

  1. Unity собирает ресурсы проекта, библиотеки кода, плагиныНабор кода, созданный вне Unity, который создает функциональность в Unity . В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
    См. Словарь
    , шаблоны Gradle и шаблоны манифеста из вашего проекта Unity. и использует их для создания действительного проекта Gradle.
  2. Unity добавляет и обновляет значения в шаблонах Gradle и файлах манифеста на основе настроек проигрывателя и настроек сборки проекта Unity.
  3. Если вы решили экспортировать проект, а не собирать его, и использовать IL2CPPразработанный Unity сервер сценариев который вы можете использовать в качестве альтернативы Mono при создании проектов для некоторых платформ. Подробнее
    См. в Словарь
    система сценариевСреда, обеспечивающая работу сценариев в Unity. Unity поддерживает три различных бэкэнда для сценариев в зависимости от целевой платформы: Mono, .NET и IL2CPP. Однако универсальная платформа Windows поддерживает только два: .NET и IL2CPP. Подробнее
    См. в Словарь
    , Unity размещает исходные файлы C++, созданные из ваши скрипты C#Часть кода, позволяющая создавать собственные компоненты, запускать игровые события, изменять свойства компонентов с течением времени и реагировать для пользовательского ввода любым удобным для вас способом. Подробнее
    См. в Словарь
    проекта Gradle. В противном случае, если вы выбрали сборку проекта, Unity помещает библиотеку libil2cpp.so в проект Gradle.
  4. Unity вызывает OnPostGenerateGradleAndroidProject для всех интерфейсов IPostGenerateGradleAndroidProject . Вы можете использовать этот обратный вызов для изменения или перемещения файлов до того, как Gradle создаст приложение.
  5. Unity запускает Gradle для сборки приложения из проекта Gradle. Gradle объединяет манифест библиотеки Unity, манифест средства запуска Unity и манифесты подключаемых модулей в один файл манифеста приложения Android.

Конвейер инкрементной сборки

Unity использует конвейер добавочной сборки при сборке проигрывателя для Android. См. следующие особенности конвейера добавочной сборки для Android:

  • Unity постепенно создает/генерирует:
  • Unity постепенно копирует:
    • Двоичные файлы проигрывателя
    • Ресурсы Gradle
  • Последним шагом в процессе сборки является запуск Gradle. С этого момента процесс сборки не использует инкрементный конвейер сборки, и Gradle должен отслеживать зависимостив контексте Менеджер пакетов, зависимость – это конкретная версия пакета (выраженная в форме имя_пакета@версия_пакета), которая требуется проекту или другому пакету для работы. Проекты и пакеты используют атрибут dependencies в своих манифестах для определения набора требуемых пакетов. Для проектов это считается прямой зависимостью; для пакетов это косвенные или транзитивные зависимости. Подробнее
    См. в Словарь
    .

Если вы реализуете обратные вызовы, которые изменяют или перемещают любой файл или ресурс Android, используемый конвейером инкрементной сборки, см. раздел Создание неинкрементных сборок.

Руководство Unity 2021.3