Экспорт для Android

См.также

This page describes how to export a Godot project to Android. If you're looking to compile export template binaries from source instead, read Compiling for Android.

Экспорт для Android имеет меньше требований, чем компиляция Godot для Android. В следующих шагах подробно описано, что необходимо для настройки Android SDK и движка.

Install OpenJDK 11

Download and install OpenJDK 11.

Загрузите Android SDK

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

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;30.0.3" "platforms;android-31" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;21.4.7075529"

Примечание

Если вы используете Linux, не используйте Android SDK, предоставляемый репозиториями вашего дистрибутива, поскольку он часто будет устаревшим.

Создайте debug.keystore

Android требуется файл хранилища ключей отладки для установки на устройства и распространения не выпускаемых APK. Если вы использовали SDK раньше и создавали проекты, возможно,*ant* или*eclipse* сгенерировали его для вас (в Linux и macOS вы можете найти его в каталоге``~/.android``, на Windows в C:\Users\<user>\.android\).

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

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

Это создаст файл debug.keystore в вашем текущем каталоге. Вы должны переместить его в запоминающееся место, такое как %USERPROFILE%\.android\, потому что вам понадобится его местоположение на более позднем этапе. Для получения дополнительной информации об использовании keytool см. эту статью вопросов и ответов.

Настройка в Godot

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

../../_images/editorsettings.png

Прокрутите вниз в раздел, где расположены настройки Android:

../../_images/androidsdk.png

На этом экране необходимо указать путь к 2 файлам:

  • Android Sdk Path должен быть расположением, куда был установлен Android SDK. - Например %LOCALAPPDATA%\Android\Sdk\ на Windows либо /Users/$USER/Library/Android/sdk/ на macOS.

  • Файл отладки .keystore - его можно найти в папке, где вы поместили файл debug.keystore, который вы создали выше.

Как только это настроено, все готово к экспорту на Android!

Примечание

Если вы получаете ошибку "Could not install to device.", убебитесь что вы не имеете установленную программу с таким же названием пакета Android (но подписанную другим ключём).

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

Предоставление иконок для лаунчера

Значки программы запуска используются приложениями запуска Android для представления вашего приложения пользователям. Godot требует только значки с высоким разрешением (для экранов с плотностью xxxhdpi) и автоматически генерирует варианты с более низким разрешением.

Существует два вида иконок необходимых в Godot:

  • Main Icon: (основной значок) - "классический" значок. Он будет использоваться исключительно на всех версиях Android до Android 8 (Oreo). Размер должен быть не менее 192×192 пикселей.

  • Adaptive Icons: (адаптивные значки - начиная с Android 8 (включительно), были введены Adaptive Icons. Приложения должны включать отдельные значки фона и переднего плана, чтобы иметь естественный вид. Приложение запуска пользователя будет управлять анимацией и маскировкой значка. Размер должен быть не менее 432 × 432 пикселей.

См.также

При разработке адаптивных значков важно придерживаться некоторых правил. Google Design предоставил отличную статью, которая помогает понять эти правила и некоторые возможности адаптивных значков.

Осторожно

Наиболее важным правилом адаптивного дизайна значка является отсутствие критических элементов значка внутри безопасной зоны: по центру круга диаметром 66dp (264 пикселя на xxxhdpi), чтобы избежать обрезки при запуске.

Если вы не предоставите некоторые из запрошенных значков, Godot заменит их, используя цепь отката, перебирая следующую в очереди, когда текущая не удаётся:

  • Главная иконка:**(**Main Icon:) Предоставленная главная иконка -> Иконка проекта -> Стандартная иконка Godot.

  • Adaptive Icon Foreground: (адаптивный значок переднего плана) - Provided foreground icon -> Provided main icon -> Project icon -> Default Godot foreground icon.

  • Adaptive Icon Background: (Адаптивный значок фона) - Provided background icon -> Default Godot background icon.

Настоятельно рекомендуется предоставить все требуемые иконки с указанными разрешениями. Таким образом, ваше приложение будет отлично выглядеть на всех устройствах и версиях Android.

Экспортирование в Google Play Store

Для загрузки APK-файла в Google Play Store необходимо подписаться, используя не отладочный файл хранилища ключей; такой файл можно сгенерировать так:

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

Это хранилище ключей и ключ используются для проверки вашей личности разработчика, запоминания пароля и хранения его в надежном месте! Используйте руководства Google для разработчиков Android, чтобы узнать больше о подписывании APK.

Теперь заполните следующие формы в ваших предустановках экспорта Android:

../../_images/editor-export-presets-android.png
  • **Release: ** Введите путь к только что созданному файлу хранилища ключей.

  • Release User: Замените псевдонимом ключа.

  • Release Password: Пароль ключа. Обратите внимание, что в настоящее время пароль хранилища ключей и пароль ключа должны совпадать.

Ваш файл export_presets.cfg теперь содержит конфиденциальную информацию. Если вы используете систему контроля версий, вам следует удалить её из общедоступных репозиториев и добавить в свой файл .gitignore или аналогичный.

Не забудьте снять флажок Export With Debug при экспорте.

../../_images/export-with-debug-button.png

Оптимизация размера APK

По умолчанию APK будет содержать собственные библиотеки для архитектур ARMv7 и ARMv8. Это значительно увеличивает его размер. Чтобы создать APK меньшего размера, снимите флажок Armeabi-v 7a или Arm 64 -v 8a в предустановке экспорта Android вашего проекта. Это создаст APK, который содержит только библиотеку для одной архитектуры. Обратите внимание, что приложения, ориентированные на ARMv7, также могут работать на устройствах ARMv8, но обратное неверно.

С августа 2019 года Google Play требует, чтобы все приложения были доступны в 64-битной форме. Это означает, что вы не можете загрузить APK, содержащий только библиотеку ARMv7. Чтобы решить эту проблему, вы можете загрузить несколько APK в Google Play, используя его поддержку Multiple APK. Каждый APK должен быть ориентирован на одну архитектуру; создания APK для ARMv7 и ARMv8 обычно достаточно для охвата большинства устройств, используемых сегодня.

Вы можете дополнительно оптимизировать размер, скомпилировав шаблон экспорта Android только с необходимыми функциями. Смотрите Optimizing a build for size для получения дополнительной информации.

Troubleshooting rendering issues

To improve out-of-the-box performance on mobile devices, Godot automatically uses low-end-friendly settings by default on both Android and iOS.

This can cause rendering issues that do not occur when running the project on a desktop platform. See Mobile rendering limitations for more information.