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

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

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

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

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

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

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

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

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

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

A Gradle-based Android project will be created under res://android/build. Editing these files is not needed unless you want to create your own add-ons, or you really need to modify the project.

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

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

Установка JDK

Android SDK не поставляется с Java, поэтому его необходимо установить вручную. Вам необходимо установить Java SDK (не только среду выполнения или JRE). Требуется OpenJDK 8, более новые версии работать не будут.

On Windows, make sure that you enable "Set JAVA_HOME variable" in the Custom Setup view of the installer. You have to restart Godot after this, otherwise Godot can't find the JAVA_HOME variable.

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

Перейдите на страницу загрузки Android Studio download page. Чтобы сэкономить место на диске, вам не нужна полная среда IDE, поэтому не загружайте ее.

Примечание

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

Look on that page for the Command line tools only section. Currently, they are listed under Download Options. Scroll down a bit until you see them and download the ZIP file for your platform.

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

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

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

Create an empty folder named cmdline-tools inside of the android-sdk folder. Then unzip the Android SDK ZIP file into the android-sdk/cmdline-tools folder.

Примечание

If you're on Windows, you must not extract the ZIP archive with the default Windows extractor (e.g. Windows Explorer). You have to use another tool like 7zip, WinRAR or the Powershell Expand-Archive command. If you extract the archive with the default Windows extractor, the files are not extracted correctly and you will run into errors later on!

The cmdline-tools folder should now contain the unzipped folder called tools. Finally, rename the tools folder to latest.

Your final directory structure should look like this :

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

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

Accepting the licenses

Чтобы использовать инструменты 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 и нажимайте Enter на каждой из них, пока это не будет сделано.

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

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

Если вы получаете сообщение об ошибке Warning: Could not create settings (Предупреждение: не удалось создать настройки), попробуйте ./sdkmanager --sdk_root=../../ --licenses или ./sdkmanager --sdk_root=../../ platform-tools. Они должны выполняться внутри папки /tools/bin/, поскольку путь для --sdk_root является относительным.

Generating the keystore

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

cd ..\..\..

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

And you need to input the following line (This should work out of the box. However, if you haven't set the JAVA_HOME variable on Windows, there are further instructions below):

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

On Windows, if you did not install the JAVA_HOME variable, the full path to Java should be provided. You need to add & at the beginning of the line if you use PowerShell; it's not needed for the regular cmd.exe console.

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

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

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

Setting up Godot

Перейдите в Настройки редактора и настройте несколько полей в Export > 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

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

Generating the keystore

Перейдите в папку, в которую вы установили 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

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

Setting up Godot

Перейдите в Настройки редактора и настройте несколько полей в Export > 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

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