Приложения для отладки android. Отладка Android приложения на смартфоне

Отладка по USB позволяет использовать службу отладки приложений и устройств на ОС Android: проверить как работает приложение и система, какие возникали сбои.

Включить отладку по USB

Во всех Android устройствах отладка по USB находится в Меню > Настройки, но варианты расположения могут отличаться, например:

Меню > Настройки > Разработка > Отладка по USB (вкл) Меню > Настройки > Приложения > Разработка > Отладка по USB (вкл) Меню > Настройки > Еще > Параметры Разработчика > Отладка по USB Меню > Настройки > Общие > О смартфоне/О планшете > Номер сборки (нажмите по нему 7 - 10 раз), после чего вернитесь в Настройки > Для Разработчиков > Отладка по USB (вкл)

После включения отладки по USB

Разблокируйте свой смартфон или планшет. Не используйте порт USB 3.0, только USB 2.0 при подключении к компьютеру.

Когда устройство подключилось к компьютеру впервые, появится запрос на доверие компьютеру: поставьте галочку и нажмите кнопку OK. Отладка по USB включена.

Установка приложения для отладки по USB

Для отладки используется программа ADB (Android Debug Bridge - отладочный мост Android). ADB является составной частью Android SDK, который нужно .

Скачиваем zip архив с Android SDK, в нем находится папка adt-bundle-windows-x86_64-20140702, которая и содержит сам SDK. Распаковываем ее на компьютер. Например, мы разместили папку в корне диска С, т.е. путь к SDK будет такой: C:\adt-bundle-windows-x86_64-20140702\

Убеждаемся, что компьютер подключен к интернету и запускаем находящуюся в папке adt-bundle-windows-x86_64-20140702, программу SDK Manager.

Если SDK Manager не запускается, установите Java SE .

После запуска программы SDK Manager появится окно установки. Нам нужно скачать и установить

✓ Android SDK Platform-tools ✓ Android SDK Tools ✓ Google Usb Driver package

Отмечаем эти три пункта в списке и снимаем отметку со всех остальных. Нажимаем «Install» и ждем пока программа скачает компоненты.

Драйверы USB для 32 и 64 разрядной Windows будут скачаны в папку C:\adt-bundle-windows-x86_64-20140702\extras\google\usb_driver (установите их позже, если не найдете официальных драйверов для вашего планшета или смартфона).

Подключаем наше устройство к компьютеру - компьютер обнаружит новое оборудование. Устанавливаем драйверы с сайта производителя или из папки, куда они были скачаны ранее (установка производится через Диспетчер задач > *Неизвестное устройство* > правая кнопка мыши > Update Driver Software.. > искать драйвер на ПК > скачанные драйверы).

После установки драйверов, в диспетчере устройств появится новое устройство «ADB Interface».

Если устройство не определилось в диспетчере как ADB Interface, проверьте драйверы планшета или смартфона, выключите и включите режим отладки по USB, переподключите устройство к ПК.

Запуск программы ADB

Работать с программой ADB лучше всего через командную строку Windows. Для вызова командной строки нажимаем «Пуск», и в поле ввода «Найти программы и файлы» набираем cmd, нажимаем «Enter».

Чтобы посмотреть, какие устройства подключены к компьютеру, набираем команду:

C:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe devices

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

Отладка i2 Control V2.2 по USB

Введите (1):

C:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe logcat

В командной строке начнется отображение лога вашего смартфона или планшета.

Остановите лог, нажав Ctrl+C

Введите (2):

C:\adt-bundle-windows-x86_64-20140702\sdk\platform-tools\adb.exe logcat >log.txt

Теперь лог, заново запущенный с помощью (1), будет сохраняться в текстовый файл, расположенный в C:\Users\*Username*\log.txt

Запустите приложение i2 Control V2.2 на вашем планшете или смартфоне, запустите лог (1), выполните действие, лог которого хотите сохранить, остановите логирование, нажав Ctrl+C.

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

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

Где включить «отладку по USB»

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

  1. Открыть системные настройки.
  2. Пролистать разделы до конца, где открыть пункт «о телефоне». В смартфонах с оболочкой MIUI, такой пункт в начале настроек.
  3. Опустится вниз, до номера сборки.
  4. Семь раз без перерыва, нажмите на номер сборки. За 3-4 нажатия до разблокировки, на экране будет отображаться соответствующая надпись: Через заданное количество вы откроете раздел для разработчиков.
  5. По окончанию всплывет надпись: «Поздравляем вы стали разработчиком». Подразумевается, что вы открыли скрытую настройку.

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

Важно! Если «отладка» больше не требуется, деактивируйте опцию, в целях безопасности. Описанный алгоритм действий, актуален для всех устройств, вплоть до версии Android 4.0.4. При первом подключении к компьютеру, на экране смартфона/планшета, необходимо поставить флажок, соглашаясь с тем, что вы доверяете данному компьютеру.

Для чего используется «отладка по USB»

Опция используется при подключении устройства к компьютеру. Обычно для отладки приложений, просмотра логов и т.д. Включение отладки необходимо для работы ADB, а ещё при получении root прав, создания резервной копии данных, быстрого копирования/перемещения файлов.

Вывод

В статье описано, что такое режим отладки по USB для Android-устройств. Так же имеется детальная инструкция по активации соответствующей опции. Включайте отладку только при необходимости, а по завершению работы, в целях безопасности отключайте опцию.

А для чего используете отладку по USB именно вы? Напишите нам об этом в комментариях.

Статья была Вам полезной?
Поставьте оценку - поддержите проект!

Песочница

призывник 18 сентября 2011 в 15:55

Обзор средств запуска и отладки приложений на Android

  • Чулан *

Разрабатывая свое первое приложение под Android, я столкнулся с проблемой запуска приложения для проверки и отладки. Эта статья должна помочь начинающему пользователю выбрать средство эмуляции.

Android Virtual Device (AVD)
Установка:
Это средство эмуляции встроено в Android SDK.

Настройка:
(на примере использования в Eclipse)
Window > Android SDK and AVD Manager > New
Вписываем имя виртуального устройства, платформу, размер карты памяти, тип дисплея…
Жмем Create AVD.

Запуск:
Первый запуск эмулятор длиться очень долго, особенно на слабых устройствах. Например, я так и не смог дождаться первого запуска на своем нетбуке, а, запуская первый раз на компьютере, был уверен, что эмулятор ушел в вечный цикл.
Последующие запуски эмулятора будут чуть шутрее.
Время между нажатием кнопки «Run» и появлением главного активити тестового приложения на эмуляторе проходит в среднем 11 секунд. Замеры проводил на достаточно производительном компьютере.

Преимущества и недостатки:
+ возможность протестировать приложение на разных версиях ОС Android, на устройствах с разными типами дисплея…
+ различные настройки, необходимые для тестирования, например, смена ориентации экрана
+ эмуляция SD-карты
- большой промежуток времени между нажатием кнопки «Run» и запуском приложения на эмуляторе
- эмулятор работает очень медленно, например, то, что телефон обрабатывал 1-2 секунды, эмулятор делал за 8-10 секунд

VirtualBox+Android x86
Установка и настройка:
  1. Скачиваем и устанавливаем VirtualBox .
  2. Скачиваем образ .
  3. «Создаём виртуальную машину Linux 2.6/Other Linux, 512 Mb RAM, Bridged Network, HD 2 Gb, Disable Mouse Integration. Подключаем ISO файл и загружаемся одной из опций LiveCD (есть вариант HDPI и MDPI)» или следуем этой инструкции .
  4. Нажимаем Alt-F1 для выхода в консоль и набираем netcfg и запоминаем IP адрес эмулятора. Для возврата к GUI, нажимаем Alt-F7.
  5. adb connect

Запуск:
Время между нажатием кнопки «Run» и появлением главного активити тестового приложения на эмуляторе не засекал, но, по субъективным ощущениям, это происходит почти мгновенно.

Преимущества и недостатки:
+ маленький промежуток времени между нажатием кнопки «Run» и запуском приложения на эмуляторе
+ местами шустрая работа
- достаточно длительная и иногда проблематичная установка
- эмулятор работает местами медленно, имеются проблемы с изображением (особенно на MDPI)
- проблемы с эмуляцией SD-карты, сменой ориентацию экрана ,…
- только два (три) доступные версии ОС Android и только два доступных типа дисплея

Телефон с ОС Android, подключенный через USB
Установка и настройка:
  1. Включаем на телефоне режим отладки. (Насторйки > Приложения > Разработка > Отладка по USB).
  2. Скачиваем драйвер для вашего телефона.
  3. Подключаем телефон к ПК.
  4. Устанавливаем драйвера. В Диспетчере устройств должен появиться раздел ADB Interface.
  5. adb devices. Если ваш телефон не отображается в списке, то переустанавливаем драйвер ADB.

Запуск:
Между нажатием кнопки «Run» и появлением главного активити тестового приложения на телефоне проходит порядка 5 секунд.

Преимущества и недостатки:
+ возможность увидеть приложение так, как его будет видеть пользователь (очень важным момент, особенно при создании интерфейса и дизайна приложения)
+ мультитач (если есть в телефоне)
+ смена ориентации экрана, акселерометр (если есть в телефоне)
- только одна версия ОС и один тип дисплея
- на физическом рабочем столе появиться еще один объект

Выводы:
Я пробовал работать с каждым из этих средств эмуляции и остановился на таком варианте:
1. написание и тестирование приложения, используя телефон;
2. тестирование приложения на многочисленных Android Virtual Device с различными комбинациями версии ОС и типа дисплея.
Надеюсь, что читающий сделал выбор эмулятора или почерпнул для себя что-то новое.
Удачи в тестировании!

На любом смартфоне или планшетном компьютере, работающем на платформе Андроид, не зависимо от его производителя и предустановленной версии ОС, присутствует возможность включения специальной функции, которая имеет название «Режим отладки». Однако процесс активации этого функционала различается. Дело в том, что все зависит от версии установленной системы.

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

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

Как нетрудно догадаться, он необходим для проведения отладки приложений и самого устройств. Говоря более простым языком, предназначается для проверки работоспособности программ, и поэтому очень популярен, в первую очередь, среди разработчиков программного обеспечения. Однако для простых смертных он тоже представляет ценность, поскольку позволяет взаимодействовать с Android через ПК и использовать программы (в первую очередь ADB), которые могут удаленно проводить различные манипуляции с устройством.

Процедура активации на разных версиях

Версия Андроид 2.0 — 3.0

Если у вас старое Андроид-устройство, на борту которого установлена система версии 2.0 и 3.0, то для активации отладки необходимо сделать несколько простых шагов:

Версия Андроид 4.0, 5.0 и 6.0

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

Как включить режим отладки USB на Андроид последних версий? Чтобы осуществить это, нужно проделать следующие шаги:

Что делать, когда устройство не определяется при включенной отладке?

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

  • Первым делом, нужно проверить установлена ли на компьютере последняя версия драйверов для определения устройства через USB. Попробуйте обновить драйвера, скачав их последнюю версию с сайта производителя устройства.
  • Проверьте, не заблокировано ли устройство. При подключении к компьютеру блокировку рекомендуется снять.
  • Проверьте порты, к которым подключается шнур. Так, для более корректной работы лучше использовать порты ЮСБ 2.0, с ними будет более хорошая совместимость.

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

В ситуации, если использовать режим отладки по USB Android нет возможности, можно попробовать выполнить подключение через Wi-Fi.

Важно! Перед тем как приступать, убедитесь, что на устройстве получены права ROOT. Данная инструкция актуальна только для операционной системы Windows 7, которая на данное время самая распространенная на ПК.

  1. Сначала необходимо узнать ip-адрес, а также порт своего устройства. Для этой цели можно воспользоваться программой . Она доступна в магазине приложений Google Play.
  2. Скачайте программу и запустите ее.
  3. Внизу должна появиться информация о текущем ip-адресе.
  4. На своем ПК перейдите в раздел «Пуск» — «Все программы» — «Стандартные» . В списке приложений найдите и выберите «Командная строка».
  5. В открывшейся консоли введите следующую команду: adb connect 192.168.0.1:8555 . На этом все. Подключение Андроид завершено. Теперь все манипуляции с ADB можно выполнять через беспроводную технологию Wi-Fi.

Отключение отладки

Для деактивации отладки воспользуйтесь следующей инструкцией:

Заключение

Благодаря нашему материалу вы теперь знаете, как включить отладку по USB на Android, а также для чего и в каких случаях обычному владельцу смартфона или планшета может понадобиться данная функция.

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

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

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

Требования к тестовой среде:

  • Операционная система: Windows / Mac OS X / Linux
  • Java (рекомендуется версия 1.7)
  • IDE (Eclipse, IntelliJ IDEA, Android Studio)
  • Android SDK (https://developer.android.com/sdk/index.html?hl=i)
  • APKTool (https://code.google.com/p/android-apktool/)/APK Studio (http://apkstudio.codeplex.com)
  • Устройство / эмулятор на базе Android

В статье будет использоваться следующая конфигурация: Windows 8, Android Studio и IntelliJ IDEA. Устройство: Nexus 4 с Android версии 4.4.4. Рекомендую все утилиты добавить в переменную окружения PATH, чтобы облегчить и ускорить доступ к этим инструментам.

Android application package (APK), используемый в статье, можно скачать отсюда: com.netspi.egruber.test.apk .

Настройка устройства

Инструкция ниже поможет вам подготовить устройство для экспериментов.

Активация раздела Developer Options

Для начала на Android-устройстве должна быть разрешена отладка через USB (опция USB debugging), что позволит «общаться» с девайсом при помощи инструментов из набора Android SDK. Однако перед этим необходимо активировать раздел Developer options. На устройстве зайдите в раздел Settings > About Phone и кликните несколько раз на пункт Build Number, после чего должно появиться сообщение о том, что раздел Developer options активирован.

Рисунок 1: Для того чтобы активировать раздел Developer options, необходимо несколько раз кликнуть на Build number

Разрешение отладки через USB

Чтобы разрешить отладку через USB-порт, зайдите в раздел Settings > Developer options и отметьте флажок напротив USB debugging.

Рисунок 2: Включение опции USB debugging

Подключение устройства и запуск ADB

После подключение устройства к компьютеру через USB-порт, должно появиться сообщение «USB debugging connected on the device». Также следует проверить, можно ли подключиться к устройству при помощи приложения Android Debug Bridge (ADB), входящего в состав Android SDK (пакет Android SDK Platform-tools). В командной строке введите следующую команду:

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

Рисунок 3: Список подключенных устройств

Если устройство не отобразилось в списке, то наиболее вероятная причина в некорректно установленных драйверах (в Windows). В зависимости от устройства драйвер можно найти либо в Android SDK, либо на сайте производителя.

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

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

Первый способ - запустить Android Device Monitor , входящий в состав Android SDK (в папке tools). В Windows файл называется monitor.bat. При открытии Android Device Monitor устройство отобразится в разделе Devices.

Рисунок 4: Приложение Android Device Monitor

Если какое-либо приложение на устройстве можно отлаживать, это приложение также отобразится в списке. Я создал тестовую программу, но список пуст, поскольку программу отлаживать нельзя.

Второй способ проверить приложение на возможность отладки – исследовать файл AndroidManifest.xml из пакета приложения (APK, Android application package). APK представляет собой zip-архив, содержащий всю информацию, необходимую для запуска приложения на Android-устройстве.

Всякий раз, когда приложения загружается из Google Play Store, также загружается и пакет приложения. Все загруженные APK-файлы обычно хранятся на устройстве в папке /data/app. Если у вас нет прав суперпользователя, вы не сможете получить список файлов из директории /data/app. Хотя, если вы знаете имя APK-файла, можете скопировать его при помощи утилиты adb . Чтобы узнать имя APK-файла, введите следующую команду:

Появится командная строка устройства. Затем введите следующую команду:

pm list packages -f

Отобразится список всех пакетов на устройстве.

Рисунок 5: Перечень пакетов на устройстве

Глядя на список, находим тестовое приложение.

Рисунок 6: Пакет созданного тестового приложения (выделено белым)

Теперь необходимо скопировать файл пакета. Открываем шелл и вводим следующую команду:

adb pull /data/app/[.apk file]

Рисунок 7: Копируем APK-файл с устройства в систему

Теперь нужно открыть файл пакета и исследовать содержимое AndroidManifest.xml. К сожалению, мы не можем просто так распаковать архив, поскольку APK-файл закодирован в бинарном формате. Для раскодировки чаще всего используется утилита apktool , хотя я использую APK Studio , поскольку у этого приложения дружелюбный графический интерфейс. Далее в статье будет рассказываться об APK Studio.

В APK Studio кликните на маленькую зеленую иконку, задайте имя проекту и укажите путь к APK файлу. Затем укажите пусть для сохранения проекта.

Рисунок 8: Создание нового проекта в APK Studio

После открытия APK выберите файл AndroidManifest.xml и посмотрите параметры тега application. Если флаг android:debuggable отсутствует (или присутствует, но установлено значение false), значит, приложение отлаживать нельзя.

Рисунок 9: Содержимое файла AndroidManifest.xml

Модификация файла AndroidManifest.xml

При помощи утилиты apktool или APK Studio мы можем модифицировать файлы и упаковывать содержимое обратно в пакет. Сейчас мы изменим файл AndroidManifest.xml так, чтобы приложение можно было отлаживать. Добавляем внутрь тега application строчку android:debuggable="true".

Рисунок 10: Изменяем содержимое тега application

После добавления флага кликаем на иконку «молоток» и заново собираем пакет. Пересобранный пакет будет находиться в директории build/apk.

Рисунок 11: Повторная сборка пакета завершилась успешно

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

Теперь нужно установить пересобранный пакет. Вначале удаляем старое приложение при помощи следующей команды:

adb pm uninstall

Затем устанавливаем новый пакет:

adb install [.apk file]

Также можно удалить и установить пакет одной командой:

adb install -r [.apk file]

Рисунок 12: Установка пересобранного пакета

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

Рисунок 13: Теперь пересобранное приложение можно отлаживать

Настройка среды разработки (IDE)

Теперь к пересобранному приложению можно подцепить отладчик, но вначале нужно создать проект в среде разработки (в статье используется IntelliJ IDEA). Создаем новый проект. В поле Application name указываем произвольное имя. В поле Package name указываем имя, в точности совпадающее с иерархией папок пересобранного пакета.

Рисунок 14: Создание нового проекта в IntelliJ IDEA

Обычно имя APK-файла совпадает со структурой папок, хотя, если вы не уверены, в APK Studio проверьте иерархию директорий до папки, где находятся файлы приложений. В моем случае имя и структура папок полностью совпадают (com.netspi.egruber.test).

Рисунок 15: Иерархия директорий тестового приложения

Снимите флажок «Create Hello World Activity» и завершите создание проекта (все остальные параметры остаются по умолчанию). Новый проект должен выглядеть примерно так:

Рисунок 16: Иерархия папок и файлов нового проекта

После создания проекта нужно добавить исходный код из APK-файла для того, чтобы отладчик «знал» имена символов, методов, переменных и т. д. Хорошая новость в том, что Android-приложения можно декомпилировать практически без потери качества (исходный код будет совпадать с оригиналом). После декомпиляции исходный текст импортируется в среду разработки (IDE).

Получение исходных текстов из пакета приложения

Для начала необходимо преобразовать APK в jar-файл. Затем мы при помощи java-декомпилятора получим исходный текст приложения. Преобразование в jar будем делать при помощи утилиты dex2jar . У dex2jar есть файл d2j-dex2jar.bat, используемый для конвертирования APK в jar. Синтаксис команды довольно прост:

d2j-dex2jar.bat [.apk file]

Рисунок 17: Преобразование APK в jar

Затем открываем или перетаскиваем полученный файл в JD-GUI (это java-декомпилятор).

Рисунок 18: Структура jar-файла

Jar-файл должен отобразиться в виде иерархической структуры, внутри которой находятся java-файлы с читабельным исходным кодом. Заходим в File > Save All Sources, чтобы упаковать все исходные тексты в zip-архив.

Рисунок 19: Сохранение исходных текстов декомпилированного файла

После сохранения исходных текстов распаковываем архив в отдельную директорию.

Рисунок 20: Распакованный архив

Теперь нужно импортировать обе директории в созданный ранее проект в IDE. В IntelliJ заходим в папку src и копируем туда содержимое распакованного архива (две директории).

Рисунок 21: Обе папки скопированы в директорию src

Возвращаясь в Intellij, видим обновленный проект.

Рисунок 22: В проекте появились исходные тексты

Если мы кликнем на какой-нибудь элемент из списка, то увидим исходный текст. Как видно на скриншоте ниже (исходный текст класса LoginActivity), исходный код обфусцирован при помощи ProGuard.

Рисунок 23: Обфусцированный исходный текст класса LoginActivity

Подключение отладчика

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

Рисунок 24: Поставлена точка останова на обфусцированный метод

Как только появилась точка останова, подключаем отладчик к процессу на устройстве, кликнув на иконку с экраном в правом верхнем углу (на вашей IDE иконка может отличаться).

Рисунок 25: Подключаем отладчик к процессу

Рисунок 26: Перечень процессов для подключения отладчика

После выбора процесса отладчик подсоединится к устройству.

Рисунок 27: Отладчик подключен к процессу, запущенному на устройстве

В текстовое поле я буду вводить число 42 (если помните, на соответствующем методе стоит точка останова).

Рисунок 28: В текстовое поле вводим число 42

После нажатия на кнопку «Enter Code» выполнение приложения прервется на точке останова, поскольку отладчик «осведомлен», какой метод вызывается на устройстве. Скомпилированное Android-приложение содержит отладочную информацию (например, имена переменных), доступную любому отладчику, совместимому с Java Debug Wire Protocol (JDWP). Если в приложении разрешена отладка, отладчик, совместимый с JDWP (в эту категорию попадает большинство отладчиков идущих в составе сред разработки для Java), сможет подсоединиться к виртуальной машине Android-приложения, а затем считывать и выполнять отладочные команды.

Рисунок 29: Сработала точка останова

На скриншоте ниже видно число, которое ранее мы ввели в текстовом поле.

Рисунок 30: Перечень переменных текущего экземпляра класса

Заключение

Мы можем не только считывать данные в приложении, но и вставлять свои собственные. Это может быть полезно, если мы, например, захотим прервать поток выполнения кода и обойти некоторые участки алгоритма. При помощи отладчика мы можем лучше понять логику работы приложения и проанализировать то, что недоступно обычному пользователю. Например, может оказаться очень полезным просмотр используемых функций шифрования и динамические ключи. Кроме того, иногда при отладке полезно знать, как функции взаимодействуют с файловой системой или базой данных, чтобы понять какая информация сохраняется приложением. Подобные манипуляции доступны на любом Android-устройстве без привилегий суперпользователя.

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то