Пользовательские сборки для Android

Godot предоставляет возможность использовать собственные шаблоны сборки Android. Вместо использования уже готового шаблона, поставляемого с Godot, в папку вашего проекта устанавливается настоящий Java-проект Android. Затем Godot построит его и будет использовать в качестве шаблона экспорта каждый раз, когда вы экспортируете проект.

Есть несколько причин, по которым вы можете захотеть это сделать:

  • Измените проект до его создания.
  • Добавьте внешние SDK, которые собираются вместе с вашим проектом.

Настройка пользовательской сборки - более или менее простой процесс, но может потребоваться время, чтобы привыкнуть к тому, как работает Android SDK.

Для этого будут даны как можно более подробные инструкции.

Настройка пользовательской среды сборки

Перейдите в меню Project и установите шаблон Custom Build:

../../../_images/custom_build_install_template.png

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

Проект Android на основе Gradle будет создан в каталоге `` res: // android / build ''. Редактировать эти файлы не нужно, если вы не хотите: ref: создавать свои собственные надстройки <doc_android_plugin>, или вам действительно нужно изменить проект.

Установите Android SDK (версия для командной строки)

Это шаги для установки Android SDK с помощью командной строки. Преимущество такого подхода - простота и небольшой размер загрузки / установки. Хотя это может быть сложнее. Подход Android Studio проще, но он требует загрузки и установки Android Studio (для чего может потребоваться более 1 ГБ памяти).

Установите JDK

Android SDK не поставляется с Java, поэтому его необходимо установить вручную. Вам необходимо установить Java SDK (** не ** только среду выполнения или JRE). ʻOpenJDK 8 <https://adoptopenjdk.net/index.html> `__ требуется, более новые версии работать не будут.

В Windows убедитесь, что вы включили параметр «Установить переменную JAVA_HOME`` в представлении * Custom Setup * программы установки. После этого вам необходимо перезапустить Godot, иначе Godot не сможет найти переменную JAVA_HOME.

Загрузите инструменты командной строки

Перейдите на страницу загрузки ʻAndroid Studio <https://developer.android.com/studio/#command-tools> `_. Чтобы сэкономить место на диске, вам не нужна полная IDE, поэтому не загружайте ее.

Примечание

Если вам действительно нужна Android Studio, прочтите инструкции, как сделать то же самое с Android Studio.

Найдите на этой странице раздел * Только инструменты командной строки *. В настоящее время они перечислены в разделе * Параметры загрузки *. Прокрутите немного вниз, пока не увидите их, и загрузите ZIP-файл для своей платформы.

Это может показаться немного запутанным, но обязательно внимательно следуйте этим инструкциям:

Создайте новую папку в любом месте с именем «android-sdk» (это ** должен ** быть пустой каталог). В Windows обычно достаточно следующего пути:

C:\users\<yourusername>\android-sdk

Создайте пустую папку с именем cmdline-tools внутри папки android-sdk. Затем распакуйте ZIP-файл Android SDK в папку «android-sdk / cmdline-tools».

Примечание

Если вы используете Windows, вы не должны извлекать ZIP-архив с помощью экстрактора Windows по умолчанию (например, Windows Explorer). Вы должны использовать другой инструмент, например 7zip, WinRAR или команду Powershell «Expand-Archive». Если вы извлекаете архив с помощью экстрактора Windows по умолчанию, файлы извлекаются неправильно, и вы столкнетесь с ошибками позже!

Папка cmdline-tools теперь должна содержать распакованную папку под названием tools. Наконец, переименуйте папку «tools» в «latest».

Ваша окончательная структура каталогов должна выглядеть так:

android-sdk/
android-sdk/cmdline-tools/
android-sdk/cmdline-tools/latest
android-sdk/cmdline-tools/latest/allTheOtherFiles

Нам нужно настроить структуру каталогов таким образом, чтобы sdkmanager (внутри папки bin) работал.

Принятие лицензий

Чтобы использовать инструменты Android SDK, Google требует, чтобы вы приняли его лицензии.

Для этого sdkmanager должен быть запущен из командной строки со специальным аргументом. Перейдите в каталог tools / bin внутри папки SDK (инструкции предназначены для пользователей Windows, поскольку пользователи Linux и macOS должны понимать, как работает навигация по командной строке):

../../../_images/custom_build_bin_folder.png

Затем откройте окно командной строки:

../../../_images/custom_build_open_shell.png

Там запустите sdkmanager --licenses:

../../../_images/custom_build_sdkmanager.png

Вам будет предложено принять несколько лицензий, просто напишите «y» и нажимайте: kbd: ʻEnter` на каждой из них, пока это не будет сделано.

После этого установите инструменты платформы (это необходимо для установки ʻadb`):

../../../_images/custom_build_platform_tools.png

Если вы получаете сообщение об ошибке `` Предупреждение: не удалось создать настройки '', попробуйте `` ./sdkmanager --sdk_root = .. / .. / --licenses '' или `` ./sdkmanager --sdk_root = .. /../ платформенные инструменты ''. Они должны выполняться внутри папки / tools / bin /, поскольку путь для --sdk_root является относительным.

Создание хранилища ключей

После установки * инструментов платформы * последним шагом будет создание хранилища ключей отладки (это необходимо для сборки). Поднимитесь на две папки вверх, написав:

cd ..\..\..

(или откройте новую оболочку в папке «android-sdk»).

И вам нужно ввести следующую строку (это должно работать из коробки. Однако, если вы не установили переменную JAVA_HOME в Windows, дальнейшие инструкции приведены ниже):

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

В Windows, если вы не установили переменную JAVA_HOME, необходимо указать полный путь к Java. Если вы используете PowerShell, вам нужно добавить & в начале строки; для обычной консоли cmd.exe он не нужен.

Чтобы было понятнее, вот запись строки, которая работает в PowerShell (добавив `` & '' и полный путь Java перед `` keytool.exe ''). Опять же, имейте в виду, что вам необходимо установить Java:

../../../_images/custom_build_command_line.png

(щелкните правой кнопкой мыши и откройте изображение в новой вкладке, если оно кажется слишком маленьким)

Настройка Годо

Перейдите в ** Настройки редактора ** и настройте несколько полей в ** Экспорт> Android **. Убедитесь, что они выглядят следующим образом:

../../../_images/custom_build_editor_settings.png

(щелкните правой кнопкой мыши и откройте изображение в новой вкладке, если оно кажется слишком маленьким)

Как можно видеть, большинство путей находятся либо внутри папки «android-sdk», которую вы изначально создали, либо внутри установки Java. Для пользователей Linux и macOS jarsigner часто находится в / usr / bin.

С этим у вас должно быть всё готово.

Установите Android SDK (Android Studio)

Если вы только что завершили установку SDK с помощью инструментов командной строки, можете полностью пропустить этот раздел. Путь к Android Studio проще, но он занимает больше места на диске. Это также полезно, если вы планируете разрабатывать Godot для Android (изменять исходный код Java) или если вы планируете разрабатывать дополнения.

Скачайте и установите Android Studio

Загрузите последнюю версию Android Studio. При установке обратите внимание на то, где создается каталог android-sdk.

../../../_images/custom_build_install_android_studio1.png

Примечание

Это забавно: путь, который он предлагает по умолчанию, содержит пробелы (и жалуется на это). Это нужно изменить.

В любом случае лучше выбрать другой путь внутри ваших пользовательских папок. Обычно, рекомендуемый вариант:

C:\Users\<yourusername>\Documents\android-sdk

Замените yourusername своим фактическим именем пользователя. Если всё будет правильно, выберите из списка выше на том же экране:

  • Android SDK
  • Платформа Android SDK

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

Создание хранилища ключей

Перейдите в папку, в которую вы установили android-sdk на предыдущем шаге, используйте проводник и откройте там инструмент командной строки:

../../../_images/custom_build_open_shell.png

Фактическая командная строка для ввода следующая. В Linux и macOS он должен работать из коробки, но в Windows требуются дополнительные сведения (продолжайте читать позже).

keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999

В Windows должен быть указан полный путь к Java (и в начале строки необходимо добавить символ &, если вы используете PowerShell, это не требуется для обычной консоли cmd.exe). Не волнуйтесь, по крайней мере, при использовании Android Studio в Windows, Java идёт в комплекте.

Чтобы было понятнее, вот скриншот строки, которая работает в PowerShell (добавив & и полный путь Java к keytool.exe; удалите &', если вы используете cmd.exe). Он использует путь к версии Java, которая поставляется с Android Studio:

../../../_images/custom_build_command_line2.png

(щелкните правой кнопкой мыши и откройте изображение в новой вкладке, если оно кажется слишком маленьким)

Настройка Годо

Перейдите в ** Настройки редактора ** и настройте несколько полей в ** Экспорт> Android **. Убедитесь, что они выглядят следующим образом:

../../../_images/custom_build_editor_settings2.png

(щелкните правой кнопкой мыши и откройте изображение в новой вкладке, если оно кажется слишком маленьким)

Как можно видеть, большинство путей находятся либо внутри папки «android-sdk», которую вы изначально создали, либо внутри установки Java. Для пользователей Linux и macOS jarsigner часто находится в / usr / bin.

С этим у вас должно быть всё готово.

Включение пользовательской сборки и экспорт

При настройке проекта Android в диалоговом окне Project> Export необходимо включить Custom Build (Пользовательская сборка):

../../../_images/custom_build_enable.png

С этого момента попытка экспорта проекта или развёртывания в один клик вызовет систему сборки Gradle для создания новых шаблонов (это окно будет появляться каждый раз):

../../../_images/custom_build_gradle.png

Созданные шаблоны будут впоследствии использоваться автоматически, поэтому дальнейшая настройка не потребуется.