Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Експорт на Android

Дивись також

На цій сторінці описано, як експортувати проект Godot на Android. Якщо замість цього ви хочете зібрати двійкові файли шаблонів експорту з джерела, прочитайте Compiling for Android.

Експорт для Android вимагає менше вимог, ніж компіляція Godot для нього. Наступні кроки детально описують, що потрібно для налаштування Android SDK та движка.

Увага

Projects written in C# can be exported to Android as of Godot 4.2, but support is experimental and some limitations apply.

Install OpenJDK 17

Download and install OpenJDK 17.

Завантажте Android SDK

Завантажте та встановіть Android SDK.

sdkmanager --sdk_root=<android_sdk_path> "platform-tools" "build-tools;33.0.2" "platforms;android-33" "cmdline-tools;latest" "cmake;3.10.2.4988404" "ndk;23.2.8568313"

Примітка

Якщо ви використовуєте Linux, не використовуйте Android SDK, наданий сховищами вашого дистрибутива, оскільки він часто застарілий.

Створіть debug.keystore

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

Якщо ви не можете його знайти, або вам потрібно його створити, для цього можна використовувати команду "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

This will create a debug.keystore file in your current directory. You should move it to a memorable location such as %USERPROFILE%\.android\, because you will need its location in a later step. For more information on keytool usage, see this Q&A article.

Примітка

It is important that the password is the same for the keystore and the key. This is a known Android studio issue that also affects Godot projects.

Налаштуйте це в 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 має два типи піктограм:

  • Головна піктограма: "Класична" піктограма. Вона буде використовуватися на всіх версіях Android до Android 8 (Oreo). Має бути принаймні 192 × 192 пікселів.

  • Адаптивні піктограми: Починаючи з Android 8 (включно), були введені адаптивні піктограми. Додатки повинні мати окремі піктограми фону та переднього плану, щоб мати природний вигляд. Програма запуску користувача буде керувати анімацією та маскуванням значка. Має бути принаймні 432 × 432 пікселів.

Дивись також

Важливо дотримуватися деяких правил при розробці адаптивних піктограм. Google Design подає чудову статтю, яка допомагає зрозуміти ці правила та деякі можливості адаптивних піктограм.

Застереження

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

Якщо ви не підготуєте деякі із запитуваних піктограм, Godot замінить їх за допомогою резервного ланцюжка, вставляючи наступний у черзі, коли поточний не вдається:

  • Головна піктограма: Надана головна піктограма -> Піктограма проєкту -> Основна піктограма Godot за замовчуванням.

  • Адаптивна піктограма переднього плану: Надана піктограма переднього плану -> Головна піктограма, що надається -> Піктограма проєкту -> Піктограма переднього плану Godot за замовчуванням.

  • Адаптивний фон піктограми: Надана піктограма фону -> Піктограма фону Godot за замовчуванням.

Настійно рекомендуємо надавати всі запитувані піктограми із зазначеною роздільною здатністю. Таким чином, ваш додаток буде чудово виглядати на всіх пристроях та версіях 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 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, використовуючи `підтримку кількох APK<https://developer.android.com/google/play/publishing/multiple-apks>`__. Кожен файл APK повинен бути націлений на одну архітектуру; створення файлу APK для ARMv7 та ARMv8 зазвичай достатньо для охоплення більшості пристроїв, що використовуються сьогодні.

Також ви можете оптимізувати розмір, склавши зразок експорту для Android лише з потрібними вам функціями. Дивіться Optimizing a build for size для додаткової інформації.

Змінні середовища

You can use the following environment variables to set export options outside of the editor. During the export process, these override the values that you set in the export menu.

Android export environment variables

Export option

Environment variable

Encryption / Encryption Key

GODOT_SCRIPT_ENCRYPTION_KEY

Options / Keystore / Debug

GODOT_ANDROID_KEYSTORE_DEBUG_PATH

Options / Keystore / Debug User

GODOT_ANDROID_KEYSTORE_DEBUG_USER

Options / Keystore / Debug Password

GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD

Options / Keystore / Release

GODOT_ANDROID_KEYSTORE_RELEASE_PATH

Options / Keystore / Release User

GODOT_ANDROID_KEYSTORE_RELEASE_USER

Options / Keystore / Release Password

GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD