Чтобы делать высококачественный продукт, разработчики должны быстро и своевременно находить и исправлять ошибки. В этой статье мы поговорим об одной из наиболее важных частей процесса разработки программного обеспечения — отладке кода.
В Techery мы использовали много разных инструментов отладки, и у каждого из них есть свои преимущества. Мы сделали обзор и делимся нашим опытом использования нескольких инструментов. Надеемся, что эта статья поможет вам решить, какой из них использовать:
- Android Profiler — профилировщик Android Studio;
- Facebook Stetho — ADB для Android-приложений;
- DebugDrawer — отладочная навигационная панель в приложении для быстрой отладки;
- AppSpector — инструмент отладки для Android и iOS.
Android Studio Profiler
Инструмент Android Profiler предоставляет данные в реальном времени, которые помогут вам профилировать сетевой уровень и понять, как приложение использует ресурсы процессора, памяти и батареи.
ОТЛАДКА В ЛЮБОЙ IDE ЗА 8 МИНУТ // Важнейший навык
Возможности
Окно профилировщика показывает загрузку процессора, памяти, сети и батареи и выглядит следующим образом:
Мониторинг сети
Если вы щёлкнете по временной шкале сети, то увидите подробную информацию о запросах:
В окне выше есть вкладка «Connection View», в которой отображается список запросов с размером, временем, состоянием, запросом и ответом.
Проверка памяти
Профилировщик памяти показывает график использования ОЗУ и выглядит следующим образом:
Используя эту функциональность, вы можете найти функции, которые создают дополнительные объекты и мешают сборке мусора.
Расширенное профилирование
Вы можете отредактировать настройки запуска (Run configuration) вашего приложения, чтобы включить расширенное профилирование:
Характеристики, предоставляемые расширенным профилированием:
- Все окна профилировщика поддерживают временную шкалу.
- Memory Profiler показывает количество выделенных объектов.
- Memory Profiler показывает события сборки мусора.
- Network Profiler показывает подробную информацию обо всех передаваемых файлах.
Плюсы
- Профилировщик Android Studio работает «из коробки», и вам не нужно интегрировать сторонние зависимости в ваш проект.
- Доступные проверки (сеть, процессор, память, энергия) показывают исчерпывающую информацию о вашем приложении.
- Хорошая реализация мониторинга сети: можно выбрать временные рамки и тщательно проверять запросы.
Минусы
- Нет профилировщика для базы данных, что заставляет использовать сторонние инструменты.
Facebook Stetho
Stetho — это ADB для Android, который позволяет получить доступ к инструментам разработчика Chrome для проверки вашего приложения.
Интеграция
Чтобы загрузить библиотеку Stetho в свой проект, добавьте следующую строку в блок зависимостей:
implementation ‘com.facebook.stetho:stetho:1.5.0’ implementation ‘com.facebook.stetho:stetho-okhttp3:1.5.0’
Для инициализации Stetho вы должны добавить следующую строку в метод onCreate() класса Application вашего приложения:
Зачем нужна отладка по USB в Андроид? Как включить отладку по USB в Андроид?
Stetho.initializeWithDefaults(this);
Чтобы Stetho смог отображать данные сети с помощью OkHttp-клиента, вы должны добавить такой перехватчик:
new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) .build()
Возможности
Stetho позволяет вам просматривать уровни сети и хранилища вашего приложения:
Мониторинг сети
Вкладка «Network» показывает таблицу с запросами и выглядит следующим образом:
В таблице показан статус, тип, время, размер и метод каждого запроса. Нужно просто нажать на строку, чтобы увидеть подробную информацию:
Мониторинг баз данных
Вкладка «Resource» показывает таблицу SQLite вашего приложения и выглядит следующим образом:
Это окно представляет собой простую таблицу без поиска и пагинации. Там могут быть ошибки: например, на скриншоте выше вы можете увидеть два столбца id.
Пример проекта
Вы можете найти образец проекта здесь.
Плюсы
- Это бесплатный инструмент.
- Он позволяет проверять уровни сети и хранилища.
- Чтобы проверить базу данных Realm, вы можете установить библиотеку Stetho-Realm.
Минусы
- Ошибки.
- Уродливый пользовательский интерфейс.
- Не очень богатая функциональность.
DebugDrawer
Это инструмент, который позволяет интегрировать отладочную навигационную панель в ваше приложение.
Интеграция
Для загрузки DebugDrawer необходимо добавить следующую строку в блок зависимостей файла build.gradle :
debugImplementation ‘io.palaima.debugdrawer:debugdrawer:0.8.0’
Вы можете настроить функциональность отладочной навигационной панели, добавив различные модули в ваш проект. Например, если вы хотите проверить сетевой уровень вашего приложения, вы можете добавить следующую строку:
implementation ‘io.palaima.debugdrawer:debugdrawer-okhttp3:0.8.0’
Чтобы инициализировать DebugView, вы должны добавить следующие строки в метод onCreate() вашей Activity:
Возможности
Отладочная навигационная панель в зависимости от вашей конфигурации может выглядеть следующим образом:
DebugDrawer позволяет быстро проверить информацию о вашем устройстве, изменить настройки или «подделать» ваше местоположение.
Мониторинг сети
DebugView использует библиотеку Chuck внутри себя и позволяет вам проверять сетевые запросы:
Библиотека Chuck показывает список всех запросов и позволяет вам посмотреть их подробности.
Пример проекта
Вы можете посмотреть пример здесь.
Плюсы
- DebugDrawer даёт вам быстрый доступ к информации и настройкам устройства, позволяет имитировать местоположение и состояние сетевого подключения.
Минусы
- Довольно трудно проверять сетевой запрос на экране мобильного устройства.
- Нет возможности проверки уровня базы данных.
AppSpector
AppSpector — это сервис для отладки приложений на iOS и Android, который позволяет удаленно проверять и контролировать свои приложения в режиме реального времени с помощью простого интерфейса. Полная документация доступна здесь.
Интеграция
Чтобы начать работу с AppSpector, вам нужно пройти простую регистрацию и создать свой проект.
Чтобы интегрировать AppSpector в ваше приложение, вы должны изменить файл build.gradle следующим образом:
buildscript < repositories < jcenter() google() maven < url «https://maven.appspector.com/artifactory/android-sdk» > > dependencies < classpath «com.appspector:android-sdk-plugin:1.+» > > apply plugin: ‘com.android.application’ // Добавьте плагин AppSpector после плагина Android apply plugin: ‘com.appspector.sdk’ repositories < maven < url «https://maven.appspector.com/artifactory/android-sdk» > > dependencies < implementation «com.appspector:android-sdk:1.+» >
Инициализируйте AppSpector в методе onCreate() в классе Application вашего приложения:
AppSpector .build(this) .withDefaultMonitors() .run(«android_OGMyYzA3NGYtNDkxNy00ZWRiLTgxOTktNjQ5YjIzMTZjOWM4»);
Возможности
Когда вы запустите ваше приложение, будет создан новый сеанс, и вы увидите его в главном окне AppSpector в браузере:
Когда вы нажимаете на определённую сессию, вы можете проверить своё приложение, используя различные мониторы.
Проверка производительности
В окне «Performance» отображаются графики с различными показателями, такими как ЦП, память, сеть, диск, FPS и батарея.
Этот монитор помогает обнаружить утечки ресурсов, использование диска и FPS.
Мониторинг сети
Монитор сети показывает таблицу с запросами. Вы можете нажать на определённую строку, чтобы увидеть подробную информацию о запросе и ответе:
В этом окне также есть функции поиска, фильтрации и экспорта.
Их очень удобно использовать, если приложение большое.
Мониторинг базы данных
Монитор SQLite позволяет вам мониторить базу данных и вызывать SQL-запросы.
Определённую запись легко найти, т.к. в этом мониторе несколько страниц.
Плюсы
- Отличный пользовательский интерфейс. Можете посмотреть демо здесь.
- Сеансом легко поделиться с коллегами по команде, просто скопировав URL-адрес из браузера и отправив его.
- AppSpector поддерживает две платформы: iOS и Android.
Минусы
- Пробный период — 14 дней.
Источник: devcolibri.com
Что такое отладка по USB и как ее включить?
Активировав отладку по USB, вы получите дополнительные возможности доступа к вашему Android-смартфону. Рассказываем, как включить эту функцию и что при этом нужно учитывать.
Что такое отладка по USB?
Отладка (Debugging) — это процесс поиска и устранения ошибок в программном обеспечении (от английского bugs). При активированной отладке по USB ваш смартфон (или планшет) при подключении к ПК с помощью USB-кабеля переходит в специальный режим. В нем вы можете просматривать и даже изменять файлы на смартфоне с компьютера. Если вы хотите получить root-права на своем гаджете, также может потребоваться предварительно активировать отладку по USB.
Но имейте в виду, что функция несет с собой и определенные риски и должна быть активирована только в том случае, если она вам действительно нужна. Кроме того, злоумышленник может таким образом обойти блокировку смартфона и получить доступ к защищенным данным.
Отладка по USB: активируйте раздел «Для разработчиков»
Чтобы получить доступ к отладке по USB, вы должны сначала активировать раздел «Для разработчиков». Это необходимо сделать всего один раз. Однако точные обозначения этого раздела могут немного отличаться в зависимости от версии Android и производителя устройств:
Откройте настройки на вашем смартфоне или планшете.
- Выберите «Сведения о телефоне» или «О телефоне». Как правило, вы найдете этот пункт в самом низу меню настроек.
- Нажмите семь раз на пункт «Номер сборки».
- Для подтверждения действия вам придется ввести код разблокировки вашего устройства. После этого вы получите подтверждение уведомление «Вы разработчик!»
Как включить отладку по USB на Android?
После разблокировки опций разработчиков вы получите доступ к отладке по USB.
Источник: ichip.ru
Что такое отладка по USB, для чего нужна и как включается
Операционная система Android хороша тем, что имеет множество открытых функций, которые позволяют не просто изменять что-то поверхностно (здесь речь про iOs), а действительно открывают доступ к определенному функционалу. Одной из таких фич считается отладка по USB.
В этом материале детально описано все, что с этим связано. В том числе для чего нужна отладка по USB, что это такое, как активировать и деактивировать функцию.
Что такое отладка по USB
Отладка USB, также известная как debugging — это термин для описания процесса поиска и устранения каких-либо системных ошибок в мобильных устройствах под управлением операционной системы Android. Для iOs такого термина не существует.
Когда на девайсе включен режим отладки, аппарат становится виден для компьютера как файловая система. Благодаря этому опытный пользователь или разработчик может смотреть различные файлы на мобильных устройствах, и изменять некоторые из них.
Для чего нужна отладка по USB
Режим отладки по USB на Android в первую очередь нужен для поиска багов (от слова “дебаггинг”). Чаще всего его используют разработчики, чтобы тестировать программное обеспечение и его работу.
Помимо основного назначения, у функции есть другие применения:
- Перемещение и изменение файлов.
Так как гаджет отображается как набор файлов и папок, легко переместить или изменить определенные файлы. Можно загружать их на компьютер, или наоборот с компьютера. - Создание копии приложения.
Если знать, в каких директориях установлено приложение, его можно полностью скопировать с большинством пользовательских данных. - Установка или перепрошивка операционной системы.
По USB через компьютер можно перепрошить девайс. - Получение прав суперпользователя.
По ЮСБ можно получить root-права на Андроид.
Не опасно ли включать режим отладки по USB или режим разработчика
В как таковом включении отладки по USB нет ничего опасного, ведь это просто активация определенных функций, которые были заложены в программное обеспечение. Риск кроется в вещах, связанных с разрешением отладки по USB.
Самая главная опасность — неправильное использование возможностей, открытых благодаря этой функции. Неопытные пользователи могут изменить или переместить системный файл, без которого работа всего мобильного устройства станет невозможна.
Поэтому перед тем, как включить режим отладки USB, необходимо понимать, для чего это надо. Просто так активировать фичу точно не стоит.
Небольшой риск также в том, что через нее злоумышленник сможет получить доступ к гаджету и всем файлам, хранящимся на нем. Например, планшетник украдут, но разблокировать не смогут.
В такой ситуации можно получить доступ к персональным данным, просто подсоединив аппарат к компьютеру для отладки по USB. А используя приложение для отладки, можно обойтись и без ПК, подключив гаджет к другому мобильному устройству.
Как включить режим отладки по USB на Андроид
Процесс того, как включить режим отладки по USB, зависит от версии операционной системы, а также от начинки в ней или отсутствии ее.
Принцип активации функции одинаковый везде, но название и расположение разделов/вкладок/пунктов, заметно различается. Поэтому и включается возможность везде по-разному.
Сначала необходимо разобраться с тем, как включить режим разработчика. Для этого надо:
- Открыть Настройки девайса, будь то Samsung, Sony, Lenovo, Honor или модель другого бренда.
- Перейти в раздел “О телефоне” или “О системе”.
- Найти пункт “Номер сборки”.
- Тапнуть на него несколько раз подряд. Обычно требуется от 5 до 10 нажатий. В любом случае нажимать нужно до тех пор, пока не появится надпись о том, что режим разработчика успешно активирован.
Теперь можно переходить к тому, как включить отладку по USB:
- Снова открыть Настройки гаджета.
- Перейти в раздел “Для разработчиков”, который появился после действий, описанных выше.
- Найти нужный пункт.
- Включить отладку, переместив ползунок в активное положение.
Важно! Названия разделов, пунктов и вкладок, описаны для стандартного Android версии 8.0 без дополнительных начинок и кастомизаций. Наименования и особенно расположение элементов могут отличаться.
Отключение
Можно отключить и дебаггинг, и режим разработчика.
Инструкция по выключению дебаггинга:
- Перейти в Настройки.
- Открыть раздел “Для разработчиков”.
- Найти необходимый пункт и переместить ползунок в отключенное положение.
Пошаговые действия о том, как выключить режим разработчика:
- Открыть Настройки.
- Перейти в раздел “Для разработчиков”.
- В самом верху будет основной ползунок. Переместить его в выключенное состояние.
Иногда после вышеуказанного действия режим для девелоперов не отключается. В таком случае необходимо прибегнуть к другому способу, который чуть сложнее. При этом перед ним все равно нужно переместить ползунок в неактивное состояние.
Второй метод отключения режима разработчика:
- Открыть Настройки.
- Перейти в раздел “Приложения” или “Все приложения”.
- Найти пункт “Настройки” в списке программ и нажать на него.
- Тапнуть на пункт “Хранилище и кэш”.
- Нажать на надпись “Очистить хранилище”.
Важно! После очищения кэша и внутренней памяти настроек, могут удалиться все аккаунты, привязанные к мобильному устройству. Если Вы не помните авторизационные данные в важном приложении или в Google-аккаунте, их можно восстановить, либо вообще не очищать хранилище.
Как включить отладку по USB с разбитым экраном
Существует возможность по включению дебаггинга через компьютер. Она поможет в том случае, когда дисплей планшетника поврежден.
Это сложный и длительный процесс, который требует четкого понимания всех действий, и включает в себя установку различных программ как на ПК, так и на мобильное устройство.
Я не рекомендую к нему прибегать, так как при ручном вводе команд в блокноте легко испортить важные файлы, изменив значения в них.
Отладка по USB в ситуации с разбитым экраном намного быстрее и надежнее проводится в квалифицированном сервисном центре.