reckfellENGINE

Падения Android: логи и символы

Сначала разделите Java/Kotlin exception, managed exception C# и нативный crash. Для них нужны разные стеки. Сообщение «приложение закрывается» без лога не позво

На этой странице

Сначала разделите Java/Kotlin exception, managed exception C# и нативный crash. Для них нужны разные стеки. Сообщение «приложение закрывается» без лога не позволяет выбрать причину.

Собрать данные

  1. Запишите package identifier, version code, ABI, устройство, ОС и точную сборку APK/AAB. Сохраните сам артефакт.
  2. Подключите устройство и запишите adb logcat во время одного воспроизведения. Сохраните начало exception и всю цепочку Caused by либо блок native crash/tombstone, а не последние несколько строк.
  3. Для Java/Kotlin release с obfuscation нужен mapping-файл именно этого выпуска.
  4. Для нативного стека нужны символы тех же SO и ABI. В исходной сборке архив native symbols создаётся при совместном debug_symbols и separate_debug_symbols. Наличие такого кода не означает, что подходящий архив уже опубликован или установлен.
  5. Для C# сохраните managed stack и сопоставленные ему артефакты .NET. Нативные символы не восстановят имена managed-методов автоматически.

Что исправлять

ClassNotFoundException — упаковка Java или shrinker; UnsatisfiedLinkError — ABI, отсутствующая SO или её зависимость. Нативный сигнал требует символизации и стека первого сбоя; ANR требует потоковых стеков и времени блокировки, а не только crash-лога.

После исправления повторите тот же сценарий в том же варианте release/debug. Не используйте символы «похожей» сборки: они могут дать правдоподобный неверный стек. Устройство, символизация и падение здесь не выполнялись.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.