Структура проекта Gradle
При экспорте проекта Unity Unity создает проект Gradle со следующими основными модулями:
- UnityLibrary: Содержит данные проекта и времени выполнения Unity. Этот модуль представляет собой библиотеку, которую можно интегрировать в любой другой проект Gradle. Используйте его для встраивания Unity в существующие приложения Android.
- Пусковая установка module: Содержит имя приложения и все его значки. Это простой модуль приложения Android, который запускает Unity, который вы можете заменить своим собственным приложением, если это необходимо.
См. следующую диаграмму для получения общего представления о структуре проекта 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 |
Стандартный каталог проекта Gradle Android, содержащий исходный код и ресурсы модуля запуска. Unity помещает исходный код и ресурсы в подкаталог main. |
launcher/src/main |
Стандартный каталог проекта Gradle Android, содержащий исходный код и ресурсы модуля запуска. Unity поддерживает только основной набор исходных кодов. Дополнительные сведения о наборах исходных кодов см. в разделе Создание наборов исходных кодов (Android). |
launcher/src/main/res |
Стандартный каталог проекта Gradle Android, содержащий ресурсы для включения в окончательное приложение. Эти ресурсы представляют собой значки приложения, текст, к которому приложение имеет доступ во время выполнения, и описания стилей приложения. Примечание: Чтобы указать ресурсы в этом каталоге, установите значки приложения и имя проекта в Android Настройки проигрывателя. |
launcher/src/main/AndroidManifest.xml |
Стандартный файл проекта Gradle Android, который Unity объединяет в окончательный манифест приложения Android. Он содержит параметры, специфические для модуля запуска. Важно: Если в нескольких файлах манифеста указаны разные значения для одного и того же параметра, процесс объединения манифеста завершается сбоем, и его необходимо исправить вручную. Вы можете указать правила для объединения манифеста, чтобы автоматически решить, как разрешить конфликты слияния. Информацию о том, как это сделать, см. в Управление файлами манифеста (Android). Информацию о том, как настроить содержимое этого файла, см. в Изменение файлов проекта Gradle. |
launcher/build.gradle |
Стандартный проект Gradle build.gradle файл, который описывает, как построить launcher модуля и включает список зависимостей, которые должны быть включены в сборку. Unity, launcher модуль зависит от unityLibrary модуль, который означает unityLibrary построен и включен в окончательный результат при построении модуля запуска. Примечание: Чтобы настроить содержимое этого файла, укажите пользовательский Шаблон Gradle запуска. |
launcher/setupSymbols.gradle |
Файл для Unity, содержащий скрипт сборки для встраивания файлов символов отладки в App Bundle и для создания файлов символов с устаревшим расширением .so. |
shared |
Каталог, содержащий общие сведения о конфигурации, применимые к нескольким модулям в проекте. |
shared/keepUnitySymbols.gradle |
Специфический файл Unity, который включает скрипт для хранения метаданных отладки в двоичных файлах времени выполнения для разрешения трассировки стеков. |
unityLibrary |
Каталог, содержащий модуль unityLibrary и связанные с ним файлы. |
unityLibrary/libs |
Общий Android Каталог проекта Gradle, в котором хранится Android Архив (.aar) и Архив Java (.jar) плагины для unityLibrary модуль. Для экспортируемых Unity проектов, это содержит unity-classes.jar и все .jar и .aar плагины в Unity проекта. Примечание: Этот каталог не содержит Android Плагины библиотекВместо этого, Unity копирует их в проект Gradle в качестве отдельных модулей. |
unityLibrary/libs/unity-classes.jar |
Специфический плагин Java для Unity, содержащий код Java, используемый движком Unity. |
unityLibrary/src |
Стандартный каталог проекта Gradle Android, содержащий исходный код и ресурсы модуля unityLibrary. Unity размещает исходный код и ресурсы в подкаталоге main. |
unityLibrary/src/main |
Стандартный каталог проекта Gradle Android, содержащий исходный код и ресурсы модуля unityLibrary. Unity поддерживает только основной набор исходных кодов. Дополнительные сведения о наборах исходных кодов см. в разделе Создание наборов исходных кодов (Android). |
unityLibrary/src/main/assets |
Стандартный каталог Gradle Android, содержащий ассеты проекта. Unity помещает ресурсы проекта Unity в подкаталог bin. |
unityLibrary/src/main/assets/bin |
Стандартный каталог проекта Gradle Android, в который Unity добавляет все ресурсы проекта Unity. |
unityLibrary/src/main/cpp |
Каталог, содержащий код на нативном языке C и C++. |
unityLibrary/src/main/java |
Стандартный каталог проекта Gradle Android, содержащий некомпилированные файлы исходных текстов Java для модуля unityLibrary. Unity использует этот каталог только для хранения файла исходного текста UnityPlayerActivity. Информацию о том, как расширить UnityPlayerActivity, см. в Расширение действия по умолчанию Unity. |
unityLibrary/src/main/jniLibs |
Стандартный каталог проекта Gradle Android, содержащий библиотеки основного кода, используемые модулем unityLibrary. Unity помещает в этот каталог библиотеки движка libil2cpp, libmainи libunity Unity. Unity также помещает в этот каталог любые плагины для Android. |
unityLibrary/src/main/jniStaticLibs |
Стандартный каталог проекта Android, содержащий библиотеку baselib.a, которую модуль unityLibrary использует для создания libil2cpp.so. |
unityLibrary/src/main/res |
Стандартный каталог проекта Gradle Android, содержащий ресурсы для включения в окончательное приложение. Для экспортированных проектов Unity каталог res для модуля unityLibrary содержит только описания стилей, используемые модулем unityLibrary. |
unityLibrary/src/main/AndroidManifest.xml |
Стандарт Android Файл проекта Gradle, Unity сливается в окончательное Android Манифест приложения. Он содержит настройки, специфические для unityLibrary модуль. Примечание: Чтобы настроить содержимое этого файла, укажите пользовательский Настраиваемый главный манифест. |
unityLibrary/symbols |
Каталог, который Unity добавляет, если вы выбираете генерировать файлы символов для вашего приложения с помощью параметра сборки Debug Symbols. Этот каталог включает файлы, содержащие метаданные отладки и раздел таблицы символов для библиотек Unity. Вы можете установить путь к каталогу в Android Studio для разрешения имен функций во время отладки. |
build.gradle |
Стандартный проект Gradle build.gradle файл, который описывает, как построить unityLibrary модуля и включает список зависимостей, которые должны быть включены в сборку. Unity, unityLibrary модуль зависит от всех плагины в 2000 году Unity проекта. Примечание: Чтобы настроить содержимое этого файла, укажите пользовательский Главный шаблон Gradle. |
proguard-unity.txt |
A Unity-конкретный файл, который содержит ProGuard конфигурации для Unity Java-код (код в unity-classes.jar Конфигурации действуют, когда вы включаете минификация в Android Настройки проигрывателя или вручную изменить файлы сборки Gradle. |
build.gradle |
Базовый файл Gradle, который влияет на все модули проекта Gradle. В нем указаны версии плагинов, которые будут использоваться в этом проекте Gradle. Один из этих плагинов — это плагин Gradle Android. Примечание: Чтобы настроить содержимое этого файла, добавьте пользовательский шаблон Gradle Базовая. |
proguard-user.txt |
Это файл конкретного проекта Unity, который содержит ProGuard конфигурации для java-кода проекта и сторонних java-плагинов. Подобно ProGuard-unity.txt, Gradle использует этот файл, когда вы включаете минификацию. Примечание: Чтобы создать этот файл, включите Custom Proguard File в Android Player Settings. |
gradle.properties |
Стандартный файл проекта Gradle, в котором настроены способы создания приложения. Unity определенных свойств в этом файле, см. Недвижимость в gradle.properties файл. Сведения о свойствах Gradle, которые может содержать этот файл, см. Файлы свойств Gradle (Android). Примечание: Чтобы настроить содержимое этого файла, добавьте пользовательский Шаблон свойств Gradle. |
local.properties |
Стандарт Android Файл проекта Gradle, который настраивает среду системы сборки. Unity указывает путь к SDK здесь, так что по умолчанию экспортируемый проект Gradle использует тот же SDK что Unity Editor использовались. Ранее NDK путь также был указан в этом файле в предыдущих версиях Gradle, но теперь Unity указывает его в build.gradle файлы пусковая установка и unityLibrary модулей. Для получения информации о свойствах, которые может содержать этот файл, см. Файлы свойств Gradle (Android). |
settings.gradle |
Стандарт Android Файл проекта Gradle, который указывает все модули, которые составляют это Android В проектах, которые Unity экспорта, это обычно указывает только на пусковая установка и unityLibrary Однако, если Unity использование проекта Доставка активов, каждый asset pack является отдельным модулем, поэтому в этом файле они также перечислены. В файле также указаны расположения, которые содержат плагины проекта Gradle. Расположения представляют собой комбинацию онлайн-репозиториев и плагинов Java внутри этого проекта. Чтобы настроить содержимое этого файла, укажите пользовательское Шаблон параметров Gradle. |