Manuals
Manuals




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

Створення пакета застосунку для Android (файлу .apk) описано в посібнику з Android.

iOS

Створення пакета застосунку для iOS (файлу .ipa) описано в посібнику з iOS.

macOS

Створення пакета застосунку для macOS (файлу .app) описано в посібнику з macOS.

Linux

Створення пакета застосунку для Linux не потребує спеціальної підготовки чи додаткових налаштувань платформи у файлі налаштувань проєкту game.project.

Windows

Створення пакета застосунку для Windows (файлу .exe) описано в посібнику з Windows.

HTML5

Створення пакета застосунку для HTML5, а також додаткові налаштування описано в посібнику з HTML5.

Facebook Instant Games

Можна створити спеціальну версію пакета застосунку 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().

Збірки випуску та налагоджувальні збірки

Під час створення пакета застосунку можна вибрати налагоджувальний пакет або пакет випуску. Відмінностей між цими пакетами небагато, але їх важливо пам’ятати:

  • Збірки випуску за замовчуванням не містять профайлера. Установіть для параметра Profiler значення Always у маніфесті застосунку, щоб увімкнути підтримку профайлера як у налагоджувальних збірках, так і в збірках випуску.
  • Збірки випуску не містять засобу запису екрана
  • Збірки випуску не показують виведення викликів print() або виведення нативних розширень
  • У збірках випуску значення is_debug у sys.get_engine_info() дорівнює false
  • Збірки випуску не виконують зворотного пошуку значень hash під час виклику tostring(). На практиці це означає, що tostring() для значення типу url або hash поверне його числове подання, а не початковий рядок ('hash: [/camera_001]' у порівнянні з 'hash: [11844936738040519888 (unknown)]')
  • Збірки випуску не можна вибрати в редакторі як ціль для гарячого перезавантаження та подібних можливостей