Android studio отладка по шагам

Общая информация об отладке в Android Studio

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

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

Обычно для запуска приложения вы используете значок с зелёным треугольником Run (Shift+F10) на панели инструментов. Для отладки следует нажимать соседнюю кнопку Debug (Shift+F9) с изображением жучка .

Остальные действия будут идентичными — вам надо выбрать устройство, на котором будет происходить отладка.

Android Studio откроет окно Debug. Можно открыть его вручную через кнопку 5: Debug в нижней части среды разработки. Окно показывает потоки и переменные в вкладке Debugger, статус устройства в вкладке Console и системные логи в вкладке Logcat.

Если приложение уже запущено, то необязательно его перезапускать для работы в отладочном режиме. Вы можете нажать на кнопку Attach debugger to Android proccess , которая идёт сразу после кнопку с жучком.

В вкладке Logcat вы видите системные сообщения, включая сообщения от вашей программы, если вы использовали их своём коде. Для записи логов используется класс Log. Подробнее о нём в отдельной статье.

Логи можно просматривать также через панель Android DDMS (Dalvik Debug Monitor Server) — запускается через кнопку 5: Android в нижней части студии. В Android DDMS вы можете просматривать логи только нужного процесса, если нажмёте на кнопку Only Show Logcat from Selected Process .

Точки останова (Breakpoints)

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

Откройте свой исходник, определите строку кода, в которой хотите поставить точку останова и щёлкните по ней. Строка окрасится в жёлтый цвет. Щёлкните в левой части редактора кода в серой области. В этом месте появится красный кружок (повторный щелчок уберёт его), а строка примет розовый цвет. Точку останова можно ставить не только для исполняемого оператора, но и на комментарии.

Запустите приложение в отладочном режиме. Когда выполнение программы дойдёт до установленной точки останова, то студия прекратит дальнейшее выполнение приложения, кружок станет ещё более красным и строка будет выделена. И затем вы можете попытаться выявить причину ошибки.

Для просмотра всех точек останова и их настроек щёлкните на кнопке View Breakpoints в левой части панели Debug . Появится отдельное диалоговое окно.

После того, как вы установили точки останова, щёлкните кнопку Rerun для повторного запуска программы. Когда выполнение кода дойдёт до установленной точки останова, студия выполнит паузу и подсветить строку кода. Панель Debug позволит проверить переменную и выполнить код шаг за шагом.

Для проверки переменных раскройте список в панели Variables. Если панель не видна, то щёлкните кнопку Restore Variables

Для вычисления выражения в текущей точки щёлкните кнопку Evaluate Expression

Для перехода на следующую строку кода без выполнения щёлкните кнопку Step Over .

Читайте также:  Не скачивается скайп для андроид

Для перехода на первую строку кода внутри метода щёлкните кнопку Step Into .

Для перехода на следующую строку за пределами текущего метода щёлкните кнопку Step Out .

Чтобы продолжить работу приложения в нормальном режиме, нажмите кнопку Resume Program .

Отслеживание потребления памяти

Студия позволяет также отслеживать потребления памяти объектами и показывает, какие классы и потоки используют объекты.

Запустите студия в отладочном режиме, щёлкните 6: Android, чтобы открыть панель Android DDMS. Выберите вкладку Devices | logcat, выберите ваше устройство из выпадающего списка, выберите вашу программу по имени пакета из списка запущенных программ.

Щёлкните кнопку Start Allocation Tracking . Начинайте пользоваться программой.

Повторно нажмите на предыдущую кнопку Stop Allocation Tracking. Студия покажет объекты, выделенные системой для работы.

Android Device Monitor

Для анализа потребления памяти, сетевого трафика, поведения приложения при входящих звонках можно использовать графический инструмент Android Device Monitor. Щёлкните кнопку Monitor на панели инструментов. Android Device Monitor откроется в новом окне. Опытные программисты увидят знакомое окно, когда работали с Eclipse.

Скриншоты и видео

Вы можете делать скриншоты и видео работающего приложения.

Запустите приложение и откройте панель 6: Android. Щёлкните кнопку Screen Capture в левой части панели.

По такому же принципу можно сделать видеозапись через кнопку

Источник

Android studio отладка по шагам

Отладку программы для Android можно производить несколькими способами — с помощью эмулятора, через подключение USB и через сетевое подключение TCP/IP (например по Wi-Fi).

[Отладка с помощью эмулятора]

В среду Android Studio уже встроен эмулятор устройств Android, на котором можно отлаживать свои программы. Достоинство такого метода в том, что нет необходимости покупать специально для отладки смартфон или другое устройство с установленной системой Android, и можно точно подобрать конфигурацию эмулируемого устройства. Недостаток состоит в том, что эмулятор работает очень медленно, и он очень требователен к хосту, на котором идет отладка — и к памяти, и к процессорным ресурсам.

[Отладка через USB]

Описание процесса запуска отладки под Windows XP в Android Studio, по шагам:

1. Сначала нужно разрешить режим отладки USB. Войдите в Настройки -> Параметры разработчика -> Поставьте галочку «Отладка USB». Высветится предупреждение, подтвердите положительно — «Да».

2. Нужно на компьютере установить драйвер Android ADB Driver. Это можно сделать, если скачать и запустить программу UsbDriverTool-sfx.exe [4,5]. После запуска укажите папку, куда нужно распаковать утилиту, например c:\temp, утилита распакуется в папку c:\temp\UsbDriverTool\. В папке c:\temp\UsbDriverTool\AndroidUsb\ будет находиться драйвер Android ADB Driver, который нам нужен.

3. Подключите Ваш смартфон с Android через USB к компьютеру. Внимание, это важно: на смартфоне должен определиться режим «Подключен как камера (PTP)», ни в коем случае не как USB Mass Storage устройство/флешка и не Мультимедиа-устройство MTP. Компьютер обнаружит новое устройство, запустится мастер установки драйвера. Подсуньте ему папку c:\temp\UsbDriverTool\AndroidUsb.

Установить драйвер можно также с помощью утилиты UsbDriverTool.exe, которая находится в архиве [5]. Запустите эту программу при подключенном через USB Android-устройстве. На стартовом экране будет отображено устройство SAMSUNG_Android:

Выберите строку с устройством Android и нажмите кнопку Change driver type. Появится следующий экран, где будет предложено выбрать тип драйвера.

Выберите Android ADB Driver и нажмите Install. Через несколько секунд драйвер установится и будет готов к работе.

Читайте также:  Совместимы часы apple android

4. Запустите Android Studio. Откройте Ваш проект программы (или создайте новый). Зайдите в меню Run -> Edit Configurations. слева в дереве настроек выберите Android Application -> MyApplication (Ваше созданное приложение) -> справа выберите в Target Device радиокнопку «USB Device», нажмите OK.

5. Запустите приложение на отладку.

Если в консоли отладки видите сообщение «Waiting for device. USB device not found», и в Android Debug Monitor Вы получаете сообщения типа «Unable to debug device: samsung-gt_n7000-0019a2fe5212ce» или «Missing forwarded port for 0019a2fe5212ce» — переподключите устройство к USB и попробуйте заново запустить отладку.

[Отладка через Wi-Fi]

ADB можно запустить по каналу связи TCP/IP, для чего можно использовать подключение Wi-Fi. Отладка через Wi-Fi является необычайно удобной. Не нужны провода, и отладка программы запускается очень быстро, так же как и при отладке через USB. Означает, что при отладке можно подключить устройство через коннектор USB к зарядке или куда-то еще. Это особенно удобно, когда отлаживаемых устройств Android у Вас больше, чем портов USB, и когда Вы хотели бы тестировать Ваши последние сборки через сеть, с помощью других людей. Подробнее про adb можно прочитать в [7]. Здесь приведено пошаговое руководство, как запустить такую отладку (подразумевается, что у Вас на компьютере уже установлены Android SDK, ADB, и Вы можете осуществлять отладку программ через USB).

1. Подключите устройство Android к Вашему компьютеру через USB в режиме разрешенной отладки через USB (как этот режим включается — см. раздел «Отладка через USB»). Перейдите в папку, где находится утилита adb.exe (на операционных системах Windows это обычно папка c:\Program Files\Android\android-studio\sdk\platform-tools), запустите интерпретатор команд cmd и введите команду:

В ответ должно быть выведено сообщение:

Если у Вас была запущена среда Android Studio, и Вы следили за консолью Devices и логом сообщений logcat, то в этот момент увидите, что подключенное устройство Android исчезло из списка, в logcat перестали появляться новые сообщения. Сейчас Вы разрешили отладку через TCP/IP соединение с использованием порта 5555 (Вы также можете использовать любой другой свободный порт), осталось подключить ADB к устройству Android.

2. Теперь нужно узнать, какой IP-адрес у устройства Android. Этот адрес он получил, когда подключился к сети Wi-Fi. Адрес можно узнать, если зайти в Настройки -> Об устройстве -> Состояние (Settings -> About -> Status).

Итак, у нашего устройства IP-адрес 192.168.0.53. Теперь введите следующую команду:

В ответ получите сообщение:

3. Если Ваш компьютер находится в той же подсети (192.168.0/24), то теперь в среде Android Studio консоль Devices покажет подключенное устройство Android, и Вы свободно можете производить отладку точно так же, как раньше это делали через USB. Состояние моста ADB можно проверить командой:

В ответ должен быть выведен список подключенных устройств:

В Вашей среде разработки теперь доступен лог Logcat, и можно запустить на отладку Ваше разрабатываемое приложение. Будут работать следующие функции (как и при отладке через USB):

• Вывод Logcat.
• Развертывание отлаживаемого приложения на устройстве (копирование его из среды разработки в устройство).
• Отладка приложения.
• Создание скриншотов через ADB.

Читайте также:  Как почистить системную память андроида

[Отладка на виртуальном устройстве AVD]

AVD переводится как Android Virtual Device. Программа AVD Manager позволяет создавать такие виртуальные устройства, которые Вы можете использовать при отладке своих программ. Отладка на AVD имеет свои преимущества, потому что позволяет создать множество устройств Android с разными характеристиками (разное разрешение экрана, разные версии операционной системы Android, разный объем памяти и т. п.). Однако отладка на AVD работает чрезвычайно медленно, и очень требовательна к ресурсам хостового компьютера, который запускает AVD (как по памяти, так и по процессорному времени). Ускорить отладку на AVD можно, если запускать виртуальное устройство из снапшотов (это настраивается при создании виртуального устройства), или если применить специальные приемы работы с эмулятором [6], но в любом случае отладка на реальном устройстве предпочтительнее отладки на AVD.

В среде Android Studio виртуальные устройства создаются запуском программы AVD Manager через меню Tools -> Android -> AVD Manager. В Eclipse виртуальные устройства создаются и настраиваются через меню Window -> Android Virtual Device Manager. Также AVD Manager можно запустить из командной строки, если выполнить команду android.bat avd. Скрипт android.bat находится в директории sdk\tools, папка установленного SDK (пакет SDK входит в состав ADT на основе Eclipse и также входит в установку Android Studio).

[LogCat]

Система Android предоставляет мощное средство вывода отладочных сообщений LogCat. LogGat позволяет в режиме реального времени, не останавливая программу, выводить текстовые сообщения в консоль, что дает возможность разобраться — что именно сейчас происходит в программе.

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

LogCat поддерживает разные уровни вывода сообщений:

Благодаря наличию уровней сообщений их можно грубо отфильтровать по уровню. Например, вот так это делается в консоли LogCat в среде Eclipse:

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

Чтобы вывести что-то в лог, сначала определитесь, насколько критичным должно быть выводимое сообщение (должно ли оно быть в категории отладочной информации (d, Debug), или это должно быть просто информационное сообщение (i, Info), или это должно быть предупреждение (w, Warning) или это должно быть сообщение об ошибке (e, Error)? После этого используйте для вывода подходящий метод:

Первый параметр myApp предоставляет текстовую метку, которая позволяет дополнительно отфильтровать сообщения в логе. Это может оказаться полезным, когда сообщений слишком много, и найти нужное сообщение будет проще, если заранее знать её метку. В консоли LogCat Eclipse такой фильтр можно создать кнопкой с зеленым плюсиком «Add new logcat filter».

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

и в файл Android.mk добавьте строку

После этого для вывода в LogCat можете использовать функции __android_log_vprintf и __android_log_printf. Однако эти функции напрямую вызывать достаточно неудобно, поэтому есть смысл создать для них специальный класс Log:

Источник

Оцените статью