Программа для отладки андроид по usb

Содержание

Декомпиляция и отладка Android-приложений

Программа для отладки андроид по usb

Декомпиляция и отладка Android-приложений

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

Eric Gruber

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

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

Статья будет полезна пентестерам и разработчикам мобильных приложений, желающих получить более глубокие знания о возможных атаках на платформе 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). В командной строке введите следующую команду:

adb devices

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

Рисунок 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-файла, введите следующую команду:

adb shell

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

pm list packages -f

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

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

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

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

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

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

Рисунок 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[package name]

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

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: Подключаем отладчик к процессу

Далее вам будет предложено выбрать процесс, к которому нужно подключиться. Будут отображены только процессы с флагом android:debuggable=”true”.

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

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

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

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

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

После нажатия на кнопку «Enter Code» выполнение приложения прервется на точке останова, поскольку отладчик «осведомлен», какой метод вызывается на устройстве.

Скомпилированное Android-приложение содержит отладочную информацию (например, имена переменных), доступную любому отладчику, совместимому с Java Debug Wire Protocol (JDWP).

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

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

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

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

Заключение

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

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

Подобные манипуляции доступны на любом Android-устройстве без привилегий суперпользователя. 

Источник: https://www.securitylab.ru/analytics/472624.php

Как выполнить отладку устройства Android по USB?

Программа для отладки андроид по usb

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

Однако довольно большая категория пользователей старается доработать операционную систему под свои нужды или получить возможность свободно манипулировать данными и настройками. Ещё одна категория — работники сервисных центров.

Отладка по USB — метод для тех, кто хочет познакомиться с планшетом или телефоном поближе. Производить регулировки, изменения, диагностировать неполадки и так далее.

Отладка по USB открывает новые возможности перед пользователем Android-планшета

Активация режима

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

Операционная система версий 9.0 и более поздних

Здесь опция Android отладки по USB сознательно скрыта. Чтобы галочка активации стала доступна, нужно зайти в меню настроек, выбрать пункт «О планшете» и примерно 10 раз нажать на «Номер сборки». После этого в меню «Настройки» появится подпункт «Для разработчиков», где станет доступна опция «Отладка по USB».

вариант

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

Другая версия прошивки

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

Другие прошивки

Может быть вариант, когда подменю «Приложения» в меню «Настройки» называется «Ещё». В остальном — аналогично пункту 3.

Другое расположение

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

Подключение к ПК

Прежде чем будет использоваться приложение для отладки по USB или утилита для получения root-доступа, нужно правильно подключить устройство к компьютеру. Первое, что может создать препятствие на этом пути, — отсутствие драйверов. Однако эта проблема решаема.

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

Достаточно установить соответствующую утилиту.

Как хороший вариант, можно порекомендовать программу MOBILedit Enterprise, которая предлагает огромный выбор драйверов для всех типов оборудования.

Особенно она будет полезна для планшетов или смартфонов от китайских производителей на основе процессоров МТК.

Если же всё равно не удаётся установить драйвера, стоит поискать их на специализированных сайтах по модели устройства и версии прошивки операционной системы.

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

Зачем нужна отладка?

Кратко перечислим некоторые задачи, которые можно решить с помощью отладки по USB:

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

о том, как включить отладку по USB на Android:

На последнем пункте стоит остановиться подробнее, поскольку рутирование является причиной включения отладки по USB примерно в 99% случаев.

Зачем «рутировать» планшет или смартфон?

Рут-доступ — это, грубо говоря, максимальные права в операционной системе. Они позволяют делать резервное копирование всех контактов, содержимого сообщений, телефонной истории, любых файлов и информации.

Рут-права позволяют использовать Android-устройство по максимуму

По умолчанию, Андроид не предлагает таких возможностей. Также рут-доступ позволяет изменять оформление: менять иконки приложений, системные звуки и так далее. Но самое главное, что можно делать с таким доступом, — регулировать процессы, которые загружаются в память.

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

Источник: https://protabletpc.ru/advice/otladka-android-po-usb.html

Как включить отладку usb на Андроид планшете или телефоне. Для чего нужна Отладка по USB

Программа для отладки андроид по usb

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

Для чего нужна Отладка по USB?

Отладка по USB служит для того чтобы использовать службу отладки приложений и устройств на ОС Android (проверить как работает приложение и система в целом и какие возникали сбои) которая называется ADB.

Что такое Заводская Разблокировка OEM?

Начиная с Android 5.0 многие производители начали внедрять дополнительный механизм безопасности от несанкционированного изменения системных разделов. Вследствие чего была внедрена в раздел «Меню Разработчика» функцию «Заводская Разблокировка OEM», при ее активации вы сможете прошивать сторонние Recovery и кастомные прошивки.

Не стоит путать «Заводская Разблокировка OEM» c разблокировкой Bootloader, что требуют многие производители — Xiaomi, HTC, Huawei, Google Pixel, Sony.

Меню разработчика Android

«Отладка по USB» и «Заводская Разблокировка OEM» находятся все в одном скрытом разделе настроек Android, под названием «Меню Разработчика». Чтобы увидеть данный раздел необходимо выполнить несложную процедуру активации.

Как включить отладку по USB?

Абсолютно во всех Android девайсах, независимо будь то смартфон или планшет, отладка по USB находится в Меню ->Настройки

Возможные варианты местонахождения опции

Несмотря что, отладка по USB находится в настройках, но варианты расположения в меню может быть различным и иметь несколько вариантов как его найти! Рассмотрим 6 возможных вариантов.

Вариант №1 для Android 4.2 – Android 7.1:

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

Вариант №2.1 для Xiaomi (новые версии MIUI)

Меню -> Настройки -> О телефоне-> Версия MIUI и нажмите по нему примерно  7 — 10 раз, после чего вернитесь в Настройки -> Дополнительно -> Для Разработчиков -> Отладка по USB — поставить галочку.

Вариант №2.2 для Xiaomi (старые версии MIUI)

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

Вариант №3 для Android 8.X и выше:

На Android 8.0 и новее слегка обновили настройки и теперь, чтобы попасть в меню разработчика и включить «Отладку по USB» необходимо: перейти в Система -> О устройстве (планшет/телефон) -> Кликнуть 5-7 раз по Номер сборки» и вернуться назад в раздел Система -> Меню разработчика.

Вариант №4:

Меню -> Настройки -> Разработка -> Отладка по USB — поставить галочку

Вариант №5:

Меню -> Настройки -> Для Разработчиков -> Отладка по USB — поставить галочку

Вариант №6:

Меню -> Настройки ->Приложения -> Разработка -> Отладка по USB (Android 2.2 — 3.0)

Вариант №7:

Меню -> Настройки -> Еще -> Параметры Разработчика -> Отладка по USB – поставить галочку

Вариант №8 для Android 4.2 и выше:

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

После включения Отладки по USB, авторизация компьютера! (Для Android 4.2 и выше)

При первом подключение к компьютеру и ввода какой нибудь команды или получения Root прав у вас появиться запрос на доверие компьютеру к которому сейчас Android подключен! Данный запрос будет появляться на любом новом компьютере или ноутбуке! Поставьте галочку и нажмите кнопку OK.

Отладка по USB включена.

 Отладка по USB включена и устройство Android не определяется?

Первое что вам нужно будет поверить это наличие установленных драйверов на компьютер или же переустановить/обновить их.

Подробно о установке драйверов, а также ссылки на свежие драйвера можно найти в статье — как установить USB драйвер.

 Еще одной проблемой, что Android не определяется это, то что он находится в заблокированном состояние — разблокируйте свой смартфон или планшет! Не используйте порт USB 3.0, только USB 2.0 .

Если отладку по USB так и не удаться установить с компьютером, то стоит  попробовать изменить способ подключения к ПК. В момент когда вы уже подключили смартфон или планшет к ПК, потяните верхний информационный бар «шторку»  вниз ->выбрать подключение USB и активировать режим PTP.

Если хотите подключиться по WI-FI

Для того чтобы подключить Android по WI-FI сети необходимо получить ip адрес и порт устройства. Подробней как включить отладку по WI-FI читайте подробно в статье – Отладка Android по WI-FI.

После того как включили данную опцию на Android вы можете подключить смартфон к ПК и вводить необходимые команды adb или получать Root права!

Источник: https://4pda.biz/android-obshchee/1290-kak-vklyuchit-otladku-usb-na-android-planshete-ili-telefone-dlya-chego-nuzhna-otladka-po-usb.html

Инструменты отладки Android

Программа для отладки андроид по usb

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

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

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

Возможности

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

Мониторинг сети

Если вы щёлкнете по временной шкале сети, то увидите подробную информацию о запросах:

В окне выше есть вкладка «Connection View», в которой отображается список запросов с размером, временем, состоянием, запросом и ответом.

Проверка памяти

Профилировщик памяти показывает график использования ОЗУ и выглядит следующим образом:

Используя эту функциональность, вы можете найти функции, которые создают дополнительные объекты и мешают сборке мусора.

Расширенное профилирование

Вы можете отредактировать настройки запуска (Run configuration) вашего приложения, чтобы включить расширенное профилирование:

Характеристики, предоставляемые расширенным профилированием:

  • Все окна профилировщика поддерживают временную шкалу.
  • Memory Profiler показывает количество выделенных объектов.
  • Memory Profiler показывает события сборки мусора.
  • Network Profiler показывает подробную информацию обо всех передаваемых файлах.

Плюсы

  • Профилировщик Android Studio работает «из коробки», и вам не нужно интегрировать сторонние зависимости в ваш проект.
  • Доступные проверки (сеть, процессор, память, энергия) показывают исчерпывающую информацию о вашем приложении.
  • Хорошая реализация мониторинга сети: можно выбрать временные рамки и тщательно проверять запросы.

Минусы

  • Нет профилировщика для базы данных, что заставляет использовать сторонние инструменты.

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

Интеграция

Чтобы загрузить библиотеку Stetho в свой проект, добавьте следующую строку в блок зависимостей:

implementation 'com..stetho:stetho:1.5.0' implementation 'com..stetho:stetho-okhttp3:1.5.0'

Для инициализации Stetho вы должны добавить следующую строку в метод onCreate() класса Application вашего приложения:

Stetho.initializeWithDefaults(this);

Чтобы Stetho смог отображать данные сети с помощью OkHttp-клиента, вы должны добавить такой перехватчик:

new OkHttpClient.Builder() .addNetworkInterceptor(new StethoInterceptor()) .build()

Похожие публикации

  • Android
  • Android Studio
  • перевод

Источник: https://devcolibri.com/android-debug-tools/

Отладка по ADB

Программа для отладки андроид по usb

ADB (Android Debug Bridge) – консольная клиент-серверная программа, выполняет роль универсального интерфейса для управления Android-устройствами (или их эмуляторами).

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

Однако главное назначение ADB – это отладка приложений и сервисов при их разработке и тестировании. В этом случае взаимодействие с устройством осуществляется через консоль.

Возможности ADB:

  • просмотр подключенных устройств;
  • просмотр логов;
  • копирование файлов;
  • установка и удаление приложений;
  • скриншоты (и запись видео) экрана устройства;
  • удаление и перепрошивка раздела data;
  • запуск различных скриптов;
  • управление сетевыми параметрами.

В состав ADB входит три компонента:

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

Как работает ADB:

  • при запуске adb-клиент проверяет наличие запущенного процесса adb-сервера, и если нет – запускает его на компьютере;
  • сервер устанавливает соединение на порту 5037 и слушает на нем команды от adb- клиентов;
  • затем сервер устанавливает соединения со всеми работающими устройствами, сканируя нечетные порты в диапазоне от 5555 до 5585. Для каждого устройства используется пара последовательных портов – порт с четным номером для соединений консоли, порт с нечетным номером – для соединений adb;
  • после того как сервер настроил соединения с устройствами, можно использовать команды adb для доступа к ним.

Подготовка к использованию

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

  • установить ADB на компьютере (драйвер для вашего Android-устройства, а так же пакет Android SDK Platform Tools);
  • на Android-устройстве включить отладку по USB, а затем подключить его к компьютеру кабелем (или настроить отладку по Wi-Fi).

Установка ADB

На устройствах под управлением Windows, установите драйвер для вашего Android-устройства.

Драйвера для устройств Google
OEM USB драйвера сторонних производителей

Если драйвера для вашего устройства не нашлось на указанных страницах, попробуйте поискать его на сайте производителя.

Для MacOS и Linux установка драйверов не требуется.

Далее потребуется установить Android SDK Platform Tools. Если вы используете Android Studio, скорее всего SDK Platform Tools у вас уже установлен.

Установка ADB в Windows

Скачайте SDK Platform Tools и распакуйте папку platform-tools на диск (рекомендуется в С:\platform-tools).

В системную переменную Path добавьте путь к распакованной папке, для этого:

  • перейдите в Панель управления – Система и безопасность – Система;
  • выберите пункт Дополнительные параметры системы;
  • нажмите кнопку Переменные среды;
  • в поле Системные переменные выберите значение Path и нажмите кнопку Изменить, чтобы добавить новое значение;
  • укажите путь к папке platform-tools содержащую adb;
  • перезагрузите компьютер.

Установка ADB в Linux

Чтобы установить SDK Platform Tools в Ubuntu выполните следующую команду.

apt-get install adb

или

sudo apt-get install android-tools-adb

Либо вручную скачать SDK Platform Tools, распаковать на диск и добавить путь к распакованной папке с platform-tools в переменную среды $PATH.

Установка ADB в MacOS

Самый простой способ установить SDK Platform Tools на MacOS, используя Homebrew.

brew cask install android-platform-tools

Либо установить вручную.

Сперва удалите предыдущую версию android-platform-tools, если такая имеется.

rm -rf ~/.android-sdk-macosx/

Затем скачайте SDK Platform Tools.

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

cd ~/Downloads/unzip platform-tools_*.zipmkdir ~/.android-sdk-macosxmv platform-tools/ ~/.android-sdk-macosx/platform-tools

Добавить путь к platform-tools в переменную среды $PATH.

echo 'export PATH=$PATH:~/.android-sdk-macosx/platform-tools/' >> ~/.bash_profile

Обновите bash профиль или перезапустите терминал.

source ~/.bash_profile

Проверка ADB

Зайдите в консоль и введите следующую команду:

adb version

Если все сделали верно, в ответ в консоль будет выведена информация о версии ADB.

Как включить отладку по USB на Android

Отладка по USB включается в настройках системы в разделе Параметры разработчика.

На Android 4.2 и выше раздел параметров разработчика по умолчанию скрыт. Чтобы сделать его видимым, перейдите в НастройкиО телефоне и нажмите Номер сборки (в редких случаях Номер модели) 7 раз (в редких случаях 10). На экране отобразится уведомление «Теперь вы разработчик!«

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

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

Подробнее о параметрах разработчика на устройствах Android можно ознакомится на developer.android.com.

Отладка Android по Wi-Fi

Для начала разрешите на Android устройстве отладку по USB, как описано в предыдущем разделе.

Устройство и компьютер должны быть в одной Wi-Fi сети. Убедитесь, что ваш брандмауэр или антивирусное не блокирует adb соединения.

Подключите устройство к компьютеру с помощью USB кабеля.

Разрешите устройству принимать соединения TCP/IP через порт 5555. Для этого выполните в командной строке следующую команду.

adb -d tcpip 5555

Параметр -d отправит команду только на устройство подключенное через USB.

В ответ должно появиться сообщение restarting in TCP mode port: 5555.

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

adb -s 9A301FFAZ00DQT tcpip 5555

Узнать серийный номер и получить информацию о подключенных устройствах можно следующей командой.

adb devices -l

После того, как разрешите устройству принимать соединения TCP/IP через порт 5555, отсоедините кабель USB от компьютера.

Далее понадобится узнать ip-адрес вашего Android-устройства.

Например, для устройств Nexus, ip-адрес можно посмотреть в разделе НастройкиО телефоне (О планшете) – СтатусIP-адрес. Иногда ip-адрес указан в настройках Wi-Fi.

Подключитесь к устройству по его ip-адресу.

adb connect device_ip_address

Убедитесь, что устройство появилось в списке.

adb devices

Теперь можно выполнять отладку по Wi-Fi, без использования кабеля.

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

adb kill-server

Затем повторите попытку.

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

Команды ADB

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

adb devices -l

В ответ adb выведет серийный номер, состояние и описание (параметр -l) подключенных устройств.

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

$ adb devicesList of devices attachedemulator-5556 device product:sdk_google_phone_x86_64 model:Android_SDK_built_for_x86_64 device:generic_x86_64emulator-5554 device product:sdk_google_phone_x86 model:Android_SDK_built_for_x86 device:generic_x860a388e93 device usb:1-1 product:razor model:Nexus_7 device:flo

Если запущен только один эмулятор или подключено только одно устройство, команда adb отправится на это устройство по умолчанию. Если же запущено несколько эмуляторов и / или устройств, необходимо использовать параметры -d, -e или -s, чтобы указать устройство, на которое должна быть направлена команда.

Нижеприведенная команда отправится на устройство с указанным серийным номером.

adb -s серийный_номер_устройства

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

adb -d

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

adb -e

Подсоединиться к андроид хосту по протоколу TCP/IP (по умолчанию порт 5555, если не указан другой).

adb connect хост:порт Отсоединиться от андроид подключенного через TCP/IP (по умолчанию порт 5555). Если не задан ни один параметр, отключиться от всех активных соединений.
adb disconnect хост:порт

Перезапуск демона с правами root.

adb root

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

Остановить сервер.

adb kill-server

Запустить сервер.

adb start-server

Копировать файл или папку на устройство.

adb push “путь на PC” “путь на андроид”

Например,

adb push foo.txt /sdcard/foo.txt

Копировать файл или папку с устройства на компьютер.

adb pull “путь на андроид” “путь на PC”

Копировать с компьютера на устройство только новые файлы. С ключом -l не копировать, только создать список.

adb sync каталог

Установить приложение на устройство.

adb install [-l] [-r] [-s] название_приложения.apk

Например,

adb -s 9A301FFAZ00DQT install ~/Downloads/mobyandex-master-arm_6_45.apk

Ключи:-l блокировка приложения;-r переустановить приложение, с сохранением данных;

-s установить приложение на карту памяти.

Источник: https://trofimovdigital.ru/blog/adb

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.