This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Під час розробки застосунку варто звикнути якомога частіше тестувати гру на цільових платформах. Це допоможе виявляти проблеми з продуктивністю на ранніх етапах розробки, коли їх набагато легше виправити. Також рекомендується тестувати гру на всіх цільових платформах, щоб знаходити відмінності, наприклад у роботі шейдерів. Під час розробки для мобільних пристроїв можна використовувати застосунок для мобільної розробки, щоб надсилати вміст у застосунок замість повного циклу пакування, видалення та встановлення.
Ви можете створити пакет застосунку для всіх платформ, які підтримує Defold, безпосередньо в редакторі Defold, без зовнішніх інструментів. Також можна виконувати пакування з командного рядка за допомогою наших засобів командного рядка. Для пакування застосунку потрібне мережеве з’єднання, якщо ваш проєкт містить одне або кілька нативних розширень.
Щоб створити пакет застосунку, виберіть пункт Bundle у меню Project:

Вибір будь-якого з пунктів меню відкриває діалогове вікно Bundle для відповідної платформи.
Під час пакування гри можна створити звіт про збирання. Він допомагає оцінити розмір усіх ресурсів, що входять до пакета гри. Просто встановіть прапорець Generate build report під час пакування гри.

Докладніше про звіти про збирання читайте в посібнику з профілювання.
Створення пакета застосунку для Android (файлу .apk) описано в посібнику з Android.
Створення пакета застосунку для iOS (файлу .ipa) описано в посібнику з iOS.
Створення пакета застосунку для macOS (файлу .app) описано в посібнику з macOS.
Створення пакета застосунку для Linux не потребує спеціальної підготовки чи додаткових налаштувань платформи у файлі налаштувань проєкту game.project.
Створення пакета застосунку для Windows (файлу .exe) описано в посібнику з Windows.
Створення пакета застосунку для HTML5, а також додаткові налаштування описано в посібнику з HTML5.
Можна створити спеціальну версію пакета застосунку HTML5 для Facebook Instant Games. Цей процес описано в посібнику з Facebook Instant Games.
Редактор використовує наш засіб командного рядка Bob для пакування застосунку.
Під час повсякденної розробки застосунку ви, найімовірніше, виконуєте збирання та пакування в редакторі Defold. В інших випадках може знадобитися автоматичне створення пакетів застосунку, наприклад пакетне збирання для всіх цільових платформ під час випуску нової версії або створення нічних збірок найновішої версії гри, можливо, у середовищі CI. Збирання та пакування застосунку можна виконувати поза звичним робочим процесом редактора за допомогою засобу командного рядка Bob.
Логічна структура пакета має такий вигляд:

Пакет створюється в папці. Залежно від платформи цю папку також може бути заархівовано у форматі zip у файл .apk або .ipa.
Вміст папки залежить від платформи.
Окрім виконуваних файлів, під час пакування також збираються потрібні для платформи ресурси (наприклад, файли ресурсів .xml для Android).
За допомогою налаштування bundle_resources можна вказати ресурси, які слід помістити в пакет без змін. Це можна налаштувати окремо для кожної платформи.
Ресурси гри розташовані у файлі game.arcd, і кожен із них окремо стискається за допомогою LZ4.
За допомогою налаштування custom_resources можна вказати ресурси, які слід помістити (зі стисненням) у game.arcd.
Доступ до цих ресурсів можна отримати за допомогою функції sys.load_resource().
Під час створення пакета застосунку можна вибрати налагоджувальний пакет або пакет випуску. Відмінностей між цими пакетами небагато, але їх важливо пам’ятати:
print() або виведення нативних розширеньis_debug у sys.get_engine_info() дорівнює falsehash під час виклику tostring(). На практиці це означає, що tostring() для значення типу url або hash поверне його числове подання, а не початковий рядок ('hash: [/camera_001]' у порівнянні з 'hash: [11844936738040519888 (unknown)]')