+7 (499) 380-78-79

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

15.03.2019

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

Как отлаживать приложения Android

Что понадобится для дебагинга

Для работы нужны инструменты ApkTool (версия 1.4.1.) и NetBeans (версия 6.8.). Не удивляйтесь, что версии такие древние. С обновленными отладка не работает, как нужно. Нетбинс устанавливается быстро - обычным кликом по запуску. Чтобы загрузить APK-тул, нужно распаковать apktool.jar (папка не имеет значения). Также не забудьте про DDMS – в Андроид SDK он предусмотрен по умолчанию.

Отлаживаем программу

Соблюдение пунктов в заданной последовательности принципиально важно, так как в любых других порядках результата не будет. Как делать отладку:

  1. Декодируйте apk файл (используйте АPK-тул). Для этого есть опция «-d».
  2. Вставьте android:debuggable=«true» в раздел application, элемент out/AndroidManifest.xml
  3. Скомбинируйте полученное обратно в apk.
  4. Назовите файл my.app.to.debug.apk.
  5. Дальше следует удаление out/build (функция может помешать в дальнейшем).
  6. Загрузите Нетбинс – «file» - «Новый проект». После этого кликните «Java» - «Java проект на существующих ресурсах».
  7. Там, где нужно указать адрес проекта, укажите out.
  8. Вставьте out/smali в проектную работу. В итоге «цепочкой» пойдут java-элементы со smali-кодировкой внутри.
  9. Загрузите my.app.to.debug.apk на эмуляторе, после этого – DDMS.
  10. В Нетбинс кликайте «Debug» - «Attach Debugger». После этого – выбор JPDA и введение комбинации 8700 в поле «Порт» (номер может отличаться). Остальные ячейки остаются прежними.
  11. Можете приступать к отладке. На панели Нетбинс появится соответствующая функция.

Необходима инсталляция Breakpoint на каждую инструкцию (работает только со smali-кодировкой). Поактивничайте любым способом в приложении, чтобы брикпоинт сработал. Если реакция запустилась – можете начинать отлаживание. В этом и заключается принцип дебагинга.

Возможные проблемы

Дебагинг – не такой уж и простой процесс. Как правило, с пошаговой инструкцией проблем ни у кого не возникает. Вопросы появляются на этапе установки брикпоинта, так как некоторые его ставят в начале кода. С одной стороны, это логично: если не знаешь, где ошибка – лучше начать отладку со стартовой точки. Но это не срабатывает. Причина: произошло соединение отладчика с уже работающим программным обеспечением. Это значит, что любая вставка в начале приложения бессмысленна, так как код в стартовой точке запущен в рабочем процессе.

Еще один нюанс: пока активно соединение отладчика с функционирующим ПО, программа не остановится, пока не запустится брикпоинт. Получается замкнутый круг.

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

Разработка игр и мобильных приложений
Разработка игр и мобильных приложений info@app-android.ru
Остаповский проезд, д. 5
Москва
Москва 109316
Phone: +7 (499) 380-78-79
Разработка игр и мобильных приложений
info@app-android.ru
Остаповский проезд, д. 5
Москва, Москва, 109316 Россия
+7 (499) 380-78-79
Разработка игр и мобильных приложений