Статьи

Отладка Android-приложений

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


Эта серия руководств по Android предназначена для того, чтобы помочь вам развить навыки и уверенность, необходимые для создания высококачественных приложений для Android. Это руководство предназначено для разработчика Java, только начинающего изучать разработку приложений для Android, который несколько знаком с Eclipse и который установил Android SDK и плагин Android Developer для Eclipse. Кроме того, вы должны знать, как создать простое приложение для Android (достаточно Hello World), чтобы пройти этот урок. Если вы не готовы, посмотрите предыдущие уроки этой серии .


В этом учебном пособии по Android-приложениям из этой серии вы узнали, как создать конфигурацию запуска в Eclipse. Конфигурации отладки создаются почти таким же образом, но используются для настройки параметров запуска и отладки приложений.

Чтобы создать конфигурацию отладки для вашего приложения в Eclipse, выберите Run, Debug Configurations ….

Дважды щелкните приложение Android (или щелкните правой кнопкой мыши и выберите «Создать»). На первой вкладке нажмите кнопку «Обзор …», выберите проект Android, который хотите отладить, и нажмите «ОК».

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

На вкладке «Цель» установите переключатель «Всегда предлагать выбрать устройство».

Теперь нажмите кнопку «Отладка». Вы должны получить диалоговое окно Android Device Chooser. В этом диалоговом окне отображаются все подключенные в данный момент устройства Android и запущенные экземпляры эмулятора в верхнем разделе, а также предлагается возможность запуска нового экземпляра эмулятора через совместимую конфигурацию AVD на лету.

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


Как только ваше приложение будет запущено в эмуляторе или на устройстве, вы можете начать его отладку. Большинство базовых функций отладки Eclipse и плагина ADT объединены в перспективе Debug для простоты использования.

Перспектива Debug часто открывается автоматически, когда вы начинаете отлаживать приложение Android, но если по какой-то причине это не так, вы всегда можете переключиться на нее, щелкнув перспективу Debug в верхнем правом углу Eclipse, или перейдя в Окно, Открытая перспектива, Отладка .

Перспектива Debug имеет несколько областей информации. Конечно, вы можете перемещать их, если вам не нравится, как они настроены.

У вас есть панель в верхнем левом углу под названием Debug, которая показывает ваше приложение, потоки. Здесь вы найдете панель инструментов отладки, которая позволяет вам присоединить и отсоединить отладчик и пройтись по коду.

В правом углу у вас есть панель, которая позволяет вам проверять переменные и управлять точками останова. Точки останова — это места в вашем коде, которые вы отмечаете там, где вы хотите, чтобы ваш отладчик приостанавливал выполнение, чтобы вы могли методично шаг за шагом проходить код и выяснять, что происходит.

У вас есть панель в середине перспективы Debug, которая отображает код, выполняемый в данный момент.

В нижней части перспективы «Отладка» у вас есть две диагностические панели: панель LogCat, которая отображает выходные данные журнала от эмулятора или устройства, а также панель консоли, которая отображает вывод консоли более высокого уровня из DDMS.


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

Во-первых, нам нужно настроить, так как в нашем коде нет ничего плохого, и отладчик не остановился автоматически при возникновении проблемы. Переключитесь в перспективу Java, нажав кнопку Java в верхнем правом углу Eclipse. Дважды щелкните файл класса активности, связанный с вашим приложением, чтобы открыть его, затем переключитесь обратно в перспективу Debug, и вы увидите, что файл отображается в средней панели перспективы Debug. Хорошо, теперь мы готовы пройтись по нашему коду.

Во-первых, давайте установим точку останова в коде. Есть множество способов сделать это. Мне нравится находить строку, на которой я хочу установить точку останова, а затем щелкнуть правой кнопкой мыши на вертикальной синей полосе слева от строки кода и выбрать Toggle Breakpoint из меню или просто щелкнуть саму полосу, чтобы создать точку останова, переключите его, а затем удалите. Вы также можете нажать на строку, на которой вы хотите установить точку останова, и нажать Control-Shift-B. Маленькое увеличительное стекло появится рядом со строкой кода, когда будет установлена ​​точка останова. Хорошее место для установки первой точки останова — метод onCreate () вашего Activity.

Как только вы установили свою точку останова, перезапустите приложение в режиме отладки, используя конфигурацию Debug. Вы можете сделать это из Eclipse, используя маленький значок ошибки на панели инструментов. Нажмите стрелку вниз рядом с ним, выберите конфигурацию отладки, и она запустится. Отладчик подключится, ваше приложение запустится, а затем остановится на вашей точке останова. Вы увидите маленькую стрелку рядом со строкой кода, которая в данный момент собирается выполнить.

Теперь вы можете пройтись по своему коду, используя основные функции отладки. Эти функции доступны на панели инструментов панели «Отладка», или вы можете использовать горячие клавиши, связанные с этими функциями.

Наиболее распространенные функции отладки в Eclipse, которые вам понадобятся для пошагового выполнения кода:

Step Into: используйте эту функцию, чтобы углубиться в код, перейдя в код метода. Используйте это, если считаете, что метод, который вы выполняете в данный момент, нуждается в отладке. Если этот метод хорошо протестирован и вы знаете, что он даст правильный результат, то вам, вероятно, не нужно переходить к нему, а вместо этого переходить к следующей строке кода на том же «уровне», что и предыдущий. Нажмите F5, чтобы войти в код.

Шаг за шагом: используйте эту функцию для перехода к следующей строке кода на том же уровне, что и предыдущий. Нажмите F6, чтобы перейти к коду.

Возврат шага: используйте эту функцию, если вы находитесь в процессе входа в метод и находитесь за пределами области метода, которую вы хотели проверить. Текущий метод завершится, и вы вернетесь к следующей строке выполнения после того, как этот метод вернется, и вы сможете продолжить отладку. Нажмите F7 для пошагового возврата.

Возобновить: завершено с этим небольшим сеансом отладки и хотите, чтобы приложение снова запустилось (пока не будет достигнута следующая точка останова)? Затем используйте функцию возобновления. Нажмите F8, чтобы возобновить работу без шага.

Завершить: Закончили с этим небольшим сеансом отладки и хотите, чтобы приложение вообще перестало работать? Затем используйте функцию завершения. Нажмите Control-F2, чтобы прекратить выполнение.


Ведение журнала или распечатка диагностической информации из вашего кода может быть полезным способом диагностики проблем, особенно состояний гонки или проблем, связанных с синхронизацией, которые возникают не сразу, когда вы тщательно выполняете код. В этом случае ваш код запускается как обычно, но вы печатаете любую информацию, которая вам нравится, когда она выполняется. Вы можете просмотреть эту диагностическую информацию из панели LogCat перспективы Debug. Вы также можете получить доступ к выводу Logcat различными способами, например, с помощью инструмента DDMS, перспективы DDMS в Eclipse или инструмента командной строки adb.

Добавление вывода журнала LogCat в ваше приложение очень просто, но для этого необходимо изменить код приложения и перекомпилировать его. Кроме того, ведение журналов в некоторой степени замедлит работу вашего приложения, поэтому вы всегда должны удалять журналирование из приложения, прежде чем публиковать его в открытом доступе. Узнайте больше о регистрации в Android в Android Essentials: Регистрация приложений .


В этом руководстве вы узнали основы отладки приложений Android с помощью Eclipse и плагина ADT. Вы узнали, как перемещаться по Eclipse в режиме отладки, используя перспективу Debug, и как шагать по своему коду и просматривать результаты журналирования Logcat. Вы узнали об отладке как на эмуляторах, так и на устройствах. Теперь у вас есть знания основных навыков, необходимых для начала разработки реальных приложений для Android. Вы на пути к разработке Android. Какие приложения вы с нетерпением ждете? Какой пример приложения был вашим любимым? Дайте нам знать об этом в комментариях!

Разработчики мобильных приложений Лорен Дарси и Шейн Кондер являются соавторами нескольких книг по разработке Android: углубленная книга по программированию под названием « Разработка беспроводных приложений для Android» (в третьем выпуске в виде двухтомника), « Самс научи себя разработке приложений для Android за 24 часа» , и Изучение программирования приложений для Android для Kindle Fire: практическое руководство по созданию вашего первого приложения для Android . Когда они не пишут, они тратят свое время на разработку мобильного программного обеспечения в своей компании и оказание консультационных услуг. С ними можно связаться по электронной почте [email protected] , через их блог на androidbook.blogspot.com и в Twitter @androidwireless .

Купить разработку беспроводных приложений для Android, 3-е издание, том 1 Купить Sam's Teach Yourself для Android разработки приложений в течение 24 часов, 2-е издание Код Мамламбо в Код-Каньоне