LINUX.ORG.RU
решено ФорумMobile

Приложение не запускается. Как выяснить причину?

 


0

1

Устанавливаю программу из apk файла. Запускаю. Рисует окошко и падает с ошибкой «Unfortunately, программа has stopped.»

Хотелось бы выяснить, почему оно «stopped», и как с этим бороться.

Что нужно делать в таких случаях?

★★

В основном никак. Разве что разработчику «отзыв отправить». Хотя в большинстве случаев там отладочной информации чуть меньше, чем нисколько.

yacuken ★★★★
()

Открой терминал (можно на самом устройстве, или по SSH, или через ADB) и напиши logcat. Возможно по логам будет понятно в чем проблема.

А вообще выше уже сказали — пиши разработчику.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Открой терминал (можно на самом устройстве, или по SSH, или через ADB) и напиши logcat.

Там пусто. Печаль.

fffgh ★★
() автор топика
Ответ на: комментарий от fffgh

Там пусто. Печаль.

Странно, adb logcat должен показывать причины падения.

С другой стороны, может apk скомпилирован под другую архитектуру? Arm7, а у тебя Arm5, x86 или наоборот?

habamax ★★★
()
Ответ на: комментарий от fornlr

да и logcat штука опциональная, не хочу туда ничего выводить - и увсё

Тебе туда выводить ничего не надо. Тебе там посмотреть надо, какие системные и не очень сообщения валятся в процессе запуска приложения.

Как уже заметили, крэши туда попадают независимо от желания разработчика писать или не писать в лог.

habamax ★★★
()
Ответ на: комментарий от Black_Roland

если андроид выше 4.2, то нельзя на самом устройстве. Только через адб. Во всяком случае если рута нет.

vvviperrr ★★★★★
()
Последнее исправление: vvviperrr (всего исправлений: 1)
Ответ на: комментарий от yacuken

Хотя в большинстве случаев там отладочной информации чуть меньше, чем нисколько.

Там более чем внятный стектрейс. Я с его помощью баги активно лечил.

no-dashi ★★★★★
()
Ответ на: комментарий от habamax

Странно, adb logcat должен показывать причины падения.

Запускаю терминал. Пишу там 'adb logcat'. Выводит пару строк, дескать «запускаюсь». Иду в «главное меню», запускаю приложение, оно падает. Возвращаюсь к терминалу — ничего нового там не появилось.

С другой стороны, может apk скомпилирован под другую архитектуру?

Может. Но неужто андроид этого при установке не проверяет?

х86 точно нет, а вот вские арм5-арм7 — кто их разберёт. Как узнать, для какой архитектуры предназначен apk файл?

fffgh ★★
() автор топика

Android 4.2.1

fffgh ★★
() автор топика
Ответ на: комментарий от no-dashi

APK далвикнутый, там байт-код. Исключение - приложения с native-фрагментами

Про то и говорю. Хотя про Qt/Qml правильнее наверно нативное приложение с байткод фрагментами. :)

habamax ★★★
()
Ответ на: комментарий от fffgh

Что именно надо сделать, чтобы увидеть этот лог с крешами?

Включить дебаг режим на устройстве (7 раз нажать где-то в настройках — гугл в помощь)

ну и adb logcat

habamax ★★★
()
Ответ на: комментарий от fffgh

Может. Но неужто андроид этого при установке не проверяет?

Если ставишь из Google Play, то проверяет и просто не дает загрузить приложение.

А что происходит при установке из «левых» apk — хз

Как узнать, для какой архитектуры предназначен apk файл?

Точно не знаю, но вот xbmc например, в имени файла пишет xbmc-13.2-Gotham-armeabi-v7a.apk

habamax ★★★
()
Ответ на: комментарий от fffgh

Так? http://apsoid.ru/faq-android/6007

Отчего-то нет у меня в телефоне этих «настроек для разработчиков».

Суть «7 раз ткнуть где-то в меню» как раз и относилась к тому, чтобы эти настройки для разработчиков появились.

Нагугли уже «как открыть настройки для разработчиков Android»

habamax ★★★
()
Ответ на: комментарий от fffgh

Отчего-то нет у меня в телефоне этих «настроек для разработчиков».

По твоей ссылке в комментариях:

короч заходишь «Об устройсте» 10 раз нажимаешь на версию прошивки

habamax ★★★
()
Ответ на: комментарий от habamax

Суть «7 раз ткнуть где-то в меню» как раз и относилась к тому, чтобы эти настройки для разработчиков появились.

Ну, теперь я, наконец, увидел этот лог.

Действительно, видны ошибки. Даже более-менее понятно, что ему надо.

fffgh ★★
() автор топика
Ответ на: комментарий от habamax

Хотя про Qt/Qml правильнее наверно нативное приложение

Ну и ССЗБ. Потому как первый планшет который я увидел при последнем посещении магазина, был на интеловской архитектуре.

no-dashi ★★★★★
()
Ответ на: комментарий от fornlr

да и logcat штука опциональная, не хочу туда ничего выводить - и увсё

Хочешь не хочешь, но андроед туда сам выводит и коллстек, и исключение.

andreyu ★★★★★
()
Ответ на: комментарий от no-dashi

Исключение - приложения с native-фрагментами.

Коллстек и прочая инфа там все равно будет.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.