Експорт на Android¶
Дивись також
На цій сторінці описано, як експортувати проект Godot на Android. Якщо замість цього ви хочете зібрати двійкові файли шаблонів експорту з джерела, прочитайте Compiling for Android.
Експорт для Android вимагає менше вимог, ніж компіляція Godot для нього. Наступні кроки детально описують, що потрібно для налаштування Android SDK та движка.
Встановлення OpenJDK 11¶
Завантажте та встановіть OpenJDK 11.
Завантажте Android SDK¶
Завантажте та встановіть Android SDK.
Ви можете встановити його використовуючи `Android Studio версії 4.1, чи новішої<https://developer.android.com/studio/>`__.
Запустіть її один раз, щоб завершити встановлення SDK виконуючи `ці інструкції<https://developer.android.com/studio/intro/update#sdk-manager>`__.
Переконайтеся, що необхідні пакети також встановлені правильно.
Android SDK Platform-Tools версії 30.0.5, чи новіша
Android SDK Build-Tools версії 30.0.3
Android SDK Platform 31
Android SDK Command-line Tools (остання)
CMake версія 3.10.2.4988404
NDK version r23c (23.2.8568313)
Ви можете встановити його за допомогою `інструментів командного рядка<https://developer.android.com/studio/#command-tools>`__.
Після встановлення інструментів командного рядка запустіть команду sdkmanager <https://developer.android.com/studio/command-line/sdkmanager>`__, щоб завершити процес встановлення:
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¶
Для встановлення на пристрої та розповсюдження невипущених файлів 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
Це створить файл debug.keystore
у вашому поточному каталозі. Ви повинні перемістити його в місце, що легко запам'ятати, подібно %USERPROFILE%\.android\
, тому що вм знадобиться це місцезнаходження на пізніших етапах. Для додаткової інформації по keytool
дивіться `ці запитання та відповіді<https://godotengine.org/qa/21349/jdk-android-file-missing>`__.
Налаштуйте це в Godot¶
Увійдіть на екран параметрів редактора. Цей екран містить налаштування редактора для облікового запису користувача на комп’ютері (це не залежить від проєкту).

Прокрутіть униз до розділу, де розташовані параметри Android:

На цьому екрані потрібно встановити 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:

Release: (Випуск:) Введіть шлях до щойно створеного файлу сховища ключів.
Release User: Замінити псевдонімом ключа.
Release Password: Пароль ключа. Завбачте, що пароль сховища ключів і пароль ключа в даний час мають бути однаковими.
Тепер ваш файл export_presets.cfg містить конфіденційну інформацію. Якщо ви використовуєте систему контролю версій, вам слід видалити її із загальнодоступних сховищ і додати у свій файл .gitignore
, або аналогічний.
Не забудьте зняти галочку Export With Debug (Експортувати з налагодженням) під час експортування.

Оптимізація розміру 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 для додаткової інформації.
Виправлення неполадок з рендерингом¶
Щоб підвищити продуктивність поза коробкою на мобільних пристроях, Godot автоматично використовує налаштування з низьким рівнем доступу за замовчуванням як на Android, так і на iOS.
Це може призвести до проблем рендеринга, які не виникають при запуску проекту на настільній платформі. Докладніше про це можна дізнатися в Mobile rendering limitations.