#android #kotlin #google-play #illegalstateexception
#Android #kotlin #google-play #исключение illegalstateexception
Вопрос:
Недавно я обновил свое приложение, добавив пару функций. Кроме того, я воссоздал проект, поскольку у меня были проблемы с поддержкой приложений для устройств Android ниже Lollipop. После обновления и загрузки в Google Play я обновляю приложение через Google Play на своем отдельном реальном устройстве (не тестовом устройстве), и оно просто продолжает сбоить (при открытии оно сразу закрывается) без каких-либо ошибок на устройстве. Консоль Google Play сообщает в разделе «Сбои» IllegalStateException
на
package.d.a (Unknown Source:73)
. Однакоd.a
название пакета мне совершенно неизвестно, потому что у меня его нет во всем моем проекте.package.MainActivity.onResume (Unknown Source:8)
. При этом8th
у меня есть импорт, который никогда не вызовет исключения.
Я предполагаю, что не только я, но и некоторые другие пользователи, которые уже обновили приложение, также сталкиваются с проблемой сохранения. Тем не менее, я только что сгенерировал подписанное apk
мое приложение и установил его на свое реальное устройство (не тестовое устройство), но для этого шага мне нужно было удалить приложение, загруженное из Google Play, перед установкой вручную. Этот подход сработал, и приложение больше не вылетает и работает должным образом без проблем.
Я думаю, что у пользователей, которые загружают приложение впервые, эта проблема не возникает. Как я могу выяснить причину проблемы?
Вот мое приложение. Если приложение работает у тех, кто скачал его после прочтения этого поста, пожалуйста, пришлите мне краткий отзыв, используя встроенное Send Feedback
в приложение средство, просто чтобы обеспечить функциональность приложения.
Ответ №1:
Если вы используете proguard, вам необходимо добавить файл сопоставления на свою консоль
Если вы используете ProGuard для оптимизации и обфускации ваших APK-файлов, вы можете загрузить файл сопоставления ProGuard для каждой версии вашего приложения на Play Console, чтобы деобфускировать следы стека сбоев и помочь вам лучше анализировать сбои вашего приложения.
Важно: для деобфускации поддерживаются только файлы сопоставления ProGuard.
Комментарии:
1. Привет, Лео, спасибо за твой ответ, это помогло мне приблизиться к проблеме.
Ответ №2:
Используете ли вы какой-либо вид тестирования в своем приложении? Вы можете попробовать протестировать его в тестовой лаборатории Firebase, особенно в тестах Robo, которые пытаются сканировать и использовать все взаимодействия с приложением.
Они могут помочь в обнаружении любых сбоев или проблем на ранней стадии, прежде чем выпускать приложение на рынок.
Вы также можете использовать Crashlytics от Firebase для обнаружения сбоев и получения более подробной информации о сбоях.
Надеюсь, это поможет.
Комментарии:
1. Привет, братан, я уже выполнил тест Firebase, и тест успешно пройден. Тем не менее, я попытался следовать ответу Лео Пелозо выше, и я опубликую результаты как можно скорее.
2. Ваш тест Robo пройден? Отлично. Рассмотрите возможность использования Crashlytics в будущих выпусках после того, как вы определили и устранили проблему. Удачи.
3. Итак, подсказка Leo’s помогает выяснить проблему. Я загрузил файл сопоставления моего проекта, и это помогло решить проблему. У меня три проблемы (две в моем MainActivity и одна в классе базы данных),
4. но ни одно из них не указывает на реальную строку кода. Например, консоль Google Play сообщает об ошибке IllegalStateException в моем классе базы данных в строке 85, однако это неверно, поскольку мой класс заканчивается на 83-й строке.
5. Привет, братан, да, я пробовал, но он не показывает никаких отчетов или сбоев. Однако я уже упоминал, что приложение выходит из строя на моем отдельном не тестовом устройстве (реальном устройстве), и я мог бы решить проблему, очистив наличные приложения в настройках устройства. Теперь это работает.
Ответ №3:
Я нашел решение. В моем случае мне просто нужно было очистить кэш приложения в настройках устройства. Это помогло снова запустить приложение. Однако могут быть другие решения или даже проблемы с такого рода сбоем приложения.