Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Вирішення проблем із збоями на Android
Коли ваша гра виходить з ладу на Android, ви часто бачите обфусковані трасування стеку в Play Console або інших інструментах звітності про збої, таких як Firebase Crashlytics. Щоб зробити ці трасування стеку читабельними для людини (символізованими), вам потрібні нативні символи налагодження, які відповідають експортованій збірці вашої гри.
Тепер Godot надає завантажувані власні символи налагодження для кожного офіційного шаблону експорту.
Отримання власних символів налагодження для офіційних шаблонів
Вбудовані файли символів налагодження надаються для кожного стабільного випуску Godot і їх можна завантажити зі сторінки випуску GitHub <https://github.com/godotengine/godot/releases/>.
Наприклад, щоб отримати власні символи налагодження для версії 4.5.1.stable:
Перейдіть на сторінку стабільного випуску 4.5.1.stable <https://github.com/godotengine/godot/releases/>`_
Завантажте артефакт випуску
Godot_native_debug_symbols.4.5.1.stable.template_release.android.zip
Отримання власних символів налагодження для користувацьких збірок
Ваш експортований шаблон та його власні символи налагодження мають походити з однієї ж збірки, тому ви можете використовувати офіційні символи, лише якщо використовуєте офіційні шаблони експорту. Якщо ви створюєте користувацькі шаблони експорту, вам потрібно самостійно згенерувати відповідні файли символів.
Для цього додайте debug_symbols=yes separate_debug_symbols=yes до вашої команди збірки scons. Це створить файл з назвою android-template-release-native-symbols.zip, що містить нативні символи налагодження для вашої власної збірки.
Наприклад,
scons platform=android target=template_release debug_symbols=yes separate_debug_symbols=yes generate_android_binaries=yes
Якщо ви створюєте систему для кількох архітектур, вам слід включити separate_debug_symbols=yes лише в останню команду збірки, подібно до того, як використовується generate_android_binaries=yes.
scons platform=android arch=arm32 target=template_release debug_symbols=yes
scons platform=android arch=arm64 target=template_release debug_symbols=yes
scons platform=android arch=x86_32 target=template_release debug_symbols=yes
scons platform=android arch=x86_64 target=template_release debug_symbols=yes separate_debug_symbols=yes generate_android_binaries=yes
Завантаження символів у Google Play Console
Виконайте такі дії, щоб завантажити власні символи налагодження:
Відкрийте Play Console.
Виберіть будь-який додаток.
У лівому меню перейдіть до розділу
Тестування та випуск > Найновіші випуски та пакети.
Тепер виберіть відповідний пакет і відкрийте його.
Виберіть вкладку
Завантаженнята прокрутіть униз до розділуРесурси.
Поруч із пунктом
Власні символи налагодженнянатисніть значок стрілки завантаження.
Виберіть та завантажте відповідний файл власних символів налагодження для цієї версії збірки.
Або ж ви можете завантажити символи під час створення нового релізу:
На сторінці «Створення випуску» знайдіть свій новий пакет випусків.
Натисніть меню з трьома крапками поруч.
Виберіть у меню пункт
Завантажити власні символи налагодження (.zip).
Виберіть та завантажте відповідний файл власних символів налагодження для цієї версії збірки.
Ручне символізування журналів аварійного завершення роботи
Ви також можете символізувати журнали аварійного завершення роботи вручну за допомогою інструмента ndk-stack, що входить до складу Android NDK.
Примітка
Якщо у вас вже встановлено Android SDK, ви можете знайти інструмент ndk-stack у папці ndk у вашому SDK. В іншому випадку ви можете завантажити NDK безпосередньо зі сторінки завантажень NDK <https://developer.android.com/ndk/downloads>`_.
Розпакуйте zip-архів із нативними символами налагодження, який ви завантажили раніше (або згенерували за допомогою вашої власної збірки).
Збережіть журнал аварійного завершення роботи у текстовому файлі (наприклад,
crash.txt).
Важливо
ndk-stack шукає початковий рядок зірочок під час аналізу журналу аварійного завершення. Переконайтеся, що ваш crash.txt починається з наступного рядка:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Запустіть ndk-stack зі шляхом до каталогу символів, який відповідає архітектурі процесора, що призвела до збою (наприклад,
arm64-v8a):
ndk-stack -sym path/to/native_debug_symbols/arm64-v8a/ -dump crash.txt
Вивід відобразить символізовану трасування, що показує імена файлів та номери рядків у вихідному коді Godot (або вашій власній збірці).