Intereting Posts

Приложение неожиданно остановилось: как отлаживать?

Обратите внимание, что в отличие от многих других вопросов, имеющих название темы, «приложение неожиданно остановилось», я не прошу устранить неполадки в конкретной проблеме.

Скорее, я прошу очертить лучшую стратегию для новичков Android / Eclipse / Java, чтобы решить эту грозную задачу переваривать огромное количество информации, чтобы разработать (и отладить!) Простое приложение для Android.

В моем случае я взял приложение скелета образца из SDK, немного изменил его и что я получил, когда попытаюсь запустить его?

Приложение (process.com.example.android.skeletonapp) неожиданно остановилось. Пожалуйста, попробуйте еще раз.

Хорошо, поэтому я знаю, что мне нужно искать LogCat. Он полон временных строк, смотрящих на меня … Что мне теперь делать? Что мне нужно искать?

Есть ли способ выполнить одноэтапную программу, чтобы найти инструкцию, которая приводит к сбою приложения? (Я думал, что Java-программы никогда не сбой, но, видимо, я ошибся)

Как разместить точку останова?

Можете ли вы порекомендовать учебник для отладки Android в Интернете, кроме этого ?

Solutions Collecting From Web of "Приложение неожиданно остановилось: как отлаживать?"

Я тоже начинающий Eclipse / Android, но, надеюсь, мой простой процесс отладки может помочь …

Вы установили точки останова в Eclipse, щелкнув правой кнопкой мыши рядом с строкой, которую хотите разбить, и выбрав «Toggle Breakpoint». Оттуда вы захотите выбрать «Debug», а не стандартный «Run», который позволит вам пройти и так далее. Используйте фильтры, предоставляемые LogCat (ссылка в вашем учебнике), чтобы вы могли ориентировать сообщения, которые хотите, а не пробираться через весь вывод. Это (надеюсь) поможет вам понять ваши ошибки.

Что касается других хороших обучающих программ, я искал вокруг себя несколько, но пока не нашел никаких драгоценных камней.

Отфильтруйте свой журнал только с ошибкой и найдите FATAL EXCEPTION

Если вы используете дисплей Logcat внутри перспективы «отладки» в Eclipse, строки кодируются цветом. Довольно легко найти, что привело к сбою вашего приложения, потому что оно обычно красное.

Виртуальная машина Java (или Dalvik) никогда не должна терпеть крах, но если ваша программа выдает исключение и не поймает ее, VM завершит вашу программу, что является «сбоем», который вы видите.

Проверьте, есть ли у вашего приложения необходимые разрешения. Я также получал ту же ошибку, и я проверил журнал отладки logcat, который показал это:

04-15 13:38:25.387: E/AndroidRuntime(694): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:555-555-5555 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{44068640 694:rahulserver.test/10055} (pid=694, uid=10055) requires android.permission.CALL_PHONE 

Затем я дал необходимое разрешение в моем андроид-манифесте, который работал на меня.

  1. На главном экране нажмите клавишу меню.
  2. Элемент списка
  3. Нажмите «Настройки».
  4. Коснитесь приложений.
  5. Нажмите «Управление приложениями».
  6. Нажмите «Все».
  7. Выберите приложение, имеющее проблемы.
  8. Нажмите «Очистить данные» и «Очистить кеш», если они доступны. Это сбрасывает приложение, как если бы оно было новым, и может удалять личные данные, хранящиеся в приложении.