Для чего бывает нужна отладка по USB и как включить? Инструкция для разных версий Android OS. Отладка Android приложения на смартфоне

28 октября 2013 г.

Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий

Удаленная отладка приложений в ОС Android *

Android* Debug Bridge

Android Debug Bridge (ADB) - это программа командной строки, поддерживающая обмен данными между отладчиком на компьютере (обычно это GDB *, DDMS * (Dalvik * Debug Monitor Server) или ADT) и образом Android на целевом устройстве. Целевой образ может работать как на эмулируемом виртуальном устройстве, так и на физическом устройстве, обмен данными с которым осуществляется с помощью кабеля USB-OTG или адаптера USB-Ethernet. ADB является связующим элементом, дающим возможность отлаживать приложения Android.

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

Настройка Android Debug Bridge для удаленной отладки приложений на платформе с процессором Intel® AtomTM практически не отличается от отладки другой архитектуры.

Прежде всего необходимо установить на компьютере Android SDK, в том числе ADB. Инструкции см. по адресу http://developer.android.com/sdk/installing.html .

Настройка ADB*

Если целевой образ запущен на физическом устройстве, то нужно включить поддержку USB-OTG или USB-Ethernet. Для поддержки USB-Ethernet требуется изменение конфигурации ядра и повторная сборка. OEM-поставщик предоставит необходимую информацию по этой процедуре.

Стандартный способ удаленной отладки приложений предусматривает использование интерфейса USB-OTG, которым оснащено большинство устройств с Android. Установка достаточно подробно описана на веб-сайте разработчиков Android *http://developer.android.com/guide/developing/device.html .

Вот основные действия:

1. Объявите для приложения свойство debuggable в манифесте Android.

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

В файле AndroidManifest.xml добавьте android:debuggable="true" в элемент .

Примечание: Если вручную включить отладку в файле манифеста, не забудьте отключить ее перед сборкой приложения для выпуска (опубликованное приложение, как правило, не должно иметь возможность отладки).

2. Включите на устройстве отладку через USB.

На устройстве откройте Settings > Applications > Development и установите флаг USB debugging (в версии Android 4.0 он находится в меню Settings > Developer options ).

3. Настройте систему для обнаружения устройства.

o В Windows нужно установить драйвер USB для ADB. Руководство по установке и ссылки на драйверы OEM-производителей см. в документе OEM USB Drivers .

o Для Mac OS * X устанавливать дополнительные драйверы не нужно. Пропустите этот шаг.

o При использовании Ubuntu * Linux нужно добавить файл правил udev , содержащий конфигурацию USB для каждого типа устройств, которые следует использовать при разработке. В файле правил каждый изготовитель устройств обозначается уникальным идентификатором с помощью свойства ATTR{idVendor} . Список идентификаторов изготовителей см. в разделе Список идентификаторов изготовителей USB ниже. Настройка обнаружения устройств в Ubuntu Linux:

Войдите в систему с правами root и создайте файл: /etc/udev/rules.d/51-android.rules .

Добавьте в файл каждого изготовителя, используя следующий формат:
SUBSYSTEM=="usb", ATTR{idVendor}=="", MODE="0666", GROUP="plugdev"

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

Теперь выполните команду:
chmod a+r /etc/udev/rules.d/51-android.rules

При подключении через USB можно узнать, подключено ли устройство, выполнив команду ADB adb devices из папки platform-tools/ . Если устройство подключено, то на экране будет показано имя устройства со словом device.

При загруженной ОС Android подключите кабель USB-OTG к порту (мини-USB типа b) на устройстве, а другой разъем кабеля - к порту (USB типа A) на компьютере.

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

* daemon not running. starting it now *

* daemon started successfully *

List of devices attached

0123456789ABCDEF device

Примечание: Чтобы узнать, какое имя устройства назначено этому подключению на компьютере с Linux, можно выполнить dmesg для поиска адреса usb-storage: device found at

ADB в Windows *

Загрузите и установите Eclipse Classic по адресу http://www.eclipse.org/downloads/

Загрузите пакет Android * SDK для Windows * по адресу http://developer.android.com/sdk/index.html . (android-sdk_r18-windows.zip, or installer_r18-windows.exe).

После установки Android SDK файл adb.exe будет находиться в папке \android-sdk\platform-tools

Передача данных между сервером и клиентом в ADB

До этого мы обсуждали установку ADB на компьютере разработчика. На самом деле этот клиент - серверная программа, содержащая три компонента:

Клиент, запускаемый на компьютере разработчика. Можно вызвать клиент из оболочки с помощью команды ADB. Другие средства Android, такие как подключаемый модуль ADT и DDMS, также создают клиенты ADB.

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

Управляющей программа, запускаемая на каждом экземпляре эмулятора или на каждом устройстве в виде фонового процесса.

При запуске клиента ADB клиент сначала проверяет, запущен ли уже процесс сервера ADB. Если нет, то клиент запускает процесс сервера. Сервер после запуска подключается к локальному TCP-порту 5037 и прослушивает команды, отправленные клиентами ADB. Все клиенты ADB используют порт 5037 для обмена данными с сервером ADB.

TЗатем сервер устанавливает подключения ко всем запущенным эмуляторам и устройствам. Для обнаружения эмуляторов и устройств сервер проверяет все порты с нечетными номерами в диапазоне от 5555 до 5585 (этот диапазон используется эмуляторами и устройствами). При обнаружении демона ADB устанавливается подключение к этому порту. Обратите внимание, что каждый эмулятор или устройство получает пару портов с последовательными номерами: порт с четным номером для подключения консоли и порт с нечетным номером для подключения ADB. Например:

Emulator 1, console: 5554

Emulator 1, adb: 5555

Emulator 2, console: 5556

Emulator 2, adb: 5557 ...

Как показано выше, к ADB на порте 5555 подключен тот экземпляр эмулятора, консоль которого прослушивает порт 5554.

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

Запуск ADB

Введите "adb shell". Символ # указывает, что соединение успешно установлено.

Основные команды ADB для устройств

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

adb push - копирование файла или папки на устройство

adb pull [] - копирование файла или папки с устройства

adb sync [ ] - копировать с компьютера на устройство только при наличии изменений

(-l отобразить список, но не копировать)

(см. "adb help all")

adb shell - интерактивный запуск удаленной оболочки

adb shell - выполнить удаленную команду оболочки<

adb emu - выполнить команду консоли эмулятора<

adb logcat [ ] - просмотр журнала устройства

adb forward - перенаправлять подключения сокета. Параметры перенаправления:< tcp:

localabstract:

localreserved:

localfilesystem:

dev:

jdwp: (только удаленный)

adb jdwp - показать список всех PID процессов с транспортом JDWP

adb install [-l] [-r] [-s] - передать файл пакета на устройство и установить его

("-l" блокировка пересылки приложения)

("-r" переустановить приложение, сохранив его данные its data)

("-s" установить на карту памяти SD, а не во внутреннюю флеш-память)

adb uninstall [-k] Удалить пакет приложения с устройства

Дополнительные сведения об установке и использовании ADB см. по адресу http://developer.android.com/guide/developing/tools/adb.html

Отладка нативного кода C/C++ с помощью отладчика

Если отладка выполняется с помощью GDB, то задачи по обработке процесса передачи данных такой отладки выполняет gdbserver на устройстве, но можно использовать и драйвер USB-Ethernet с ADB для обработки транспортного уровня передачи данных, по которому gdbserver обменивается данными по протоколу TCP/IP с GDB на компьютере разработчика.

Существует приложение gdbclient, настраивающее среду обмена данными отладки и запускающее gdbserver на отлаживаемом устройстве.

Использование: gdbclient EXECUTABLE:PORT

EXECUTABLE имя исполняемого файла (по умолчанию: app_process)

PORT порт подключения (по умолчанию:1234)

PROG_PATH полный путь к исполняемому файлу в целевой системе (например: /system/bin/mediaserver)

Если параметр PROG_PATH задан, gdclient пытается запустить gdbserver и присоединить его к запущенному PROG_PATH.

Для запуска gdbserver явным образом можно использовать следующую команду

# gdbserver:1234 --attach 269

Attached; pid = 269

Listening on port 1234

Приведенные ниже пошаговые инструкции по запуску сеанса отладки показывают, что ADB по-прежнему используется для передачи данных отладки, даже если отладка выполняется с помощью GDB, а не ADT или DDMS. Предположим, что используется порт 1234.

Запустите процесс:

gdbserver:1234 /system/bin/executable

или подключитесь к существующему процессу:

gdbserver:1234 --attach pid

Перенаправьте локальный порт 1234 рабочей станции на устройство с помощью adb:

adb forward tcp:1234 tcp:1234

Запустите особую версию gdb, находящуюся в области prebuilt структуры исходного кода:

prebuilt/Linux/toolchain-eabi-4.x.x/bin/i686-android-linux-gdb (for Linux)

prebuilt/darwin-x86/toolchain-eabi-4.x.x/bin/i686-android-linux-gdb (for Darwin)

Если особую версию GDB не удается найти, выполните команду find prebuilt –name i686-android-linux-gdbin в структуре исходного кода, чтобы найти и запустить последнюю версию.

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

В GDB укажите расположение общих библиотек для загрузки:

set solib-absolute-prefix /absolute-source-path/out/target/product/product-name/symbols

set solib-search-path /absolute-source-path/out/target/product/product-name/symbols/system/lib

absolute-это путь к дереву исходного кода.

Следите за правильностью указываемых папок: GDB может не выдать сообщение в случае ошибки.

Подключитесь к устройству с помощью команды GDB:

(gdb) target remote:1234

Параметр:1234 указывает на подключение к порту 1234 локального компьютера, соединенному с устройством с помощью ADB.

Теперь можно начать отладку встроенного кода C/C++ на платформе Android * с помощью GDB привычным образом.

Дополнительные сведения см. в документации к .

Использование подключаемого модуля ADT * для Eclipse * для отладки приложений Android *

Для устройств на базе архитектуры Intel® процесс установки не имеет существенных отличий от описанного по адресу http://developer.android.com/sdk/eclipse-adt.html#installing .

Подключаемый модуль средств отладки Android (ADT *) обеспечивает все возможности интегрированной отладки приложений в среде Eclipse * для эмуляторов и устройств с архитектурой Intel. Поддерживается два представления отладки с различными наборами функций.

Можно переключаться между ними по мере необходимости; каждое из них обладает определенными преимуществами.

Представление Debug в Eclipse *

Представление отладки в Eclipse предоставляет доступ к следующим вкладкам:

Debug - отображение уже отлаженных и отлаживаемых в настоящий момент приложений Android и запущенных в настоящий момент потоков

Variables - когда заданы точки останова, отображение значений переменных при выполнении кода

Breakpoints - список точек останова в коде приложения

LogCat - просмотр сообщений в журнале системы в реальном времени. Вкладка LogCat также доступна в представлении DDMS.

Чтобы открыть представление Debug Perspective, щелкните Window > Open Perspective > Debug. Дополнительные сведения см. в документации к отладчику Eclipse.

Представление DDMS

Представление DDMS в Eclipse обеспечивает доступ к всем функциям DDMS из среды разработки Eclipse. Доступны следующие разделы DDMS:

Devices - список физических и виртуальных устройств, подключенных к ADB.

Emulator Control - выполнение различных действий с устройством.

LogCat - просмотр сообщений в журнале системы в реальном времени.

Threads - отображение запущенных в настоящее время потоков в виртуальной машине.

Heap - использование кучи виртуальной машиной.

Allocation Tracker - просмотр выделения памяти объектам.

File Explorer - работа с файловой системой устройства.

Среда запуска приложений для отладки

При отладке приложения Android * для архитектуры Intel® разница заключается в настройке отладки целевого устройства.

Чтобы выбрать устройство с помощью диспетчера Android * Virtual Device Manager, входящего в состав Android * SDK, откройте меню Window>AVD Manager в Eclipse *. Необходимо выбрать Intel Atom в качестве целевого EABI для образа ОС и эмуляции устройства.

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

В остальном отладка приложения Android * для архитектуры Intel® практически не отличается от отладки приложений Android * для архитектуры ARM *.

Действуют все правила и инструкции, приведенные по адресу

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

Все действия проводятся на смартфоне Nexus 4, который работает под управлением ОС Android 4.4. Комментирование каждого пункта меню основано на его же описании. Если читатель знает более подробную информацию о какой-то команде - делитесь опытом. Не забывайте, все изменения в этом режиме вы вносите на свой страх и риск!

Для того чтобы включить отоброжение пункта "Для разработчиков" в списке настроек, нужно провести следующие действия:

  1. Заходим в меню настроек
  2. Переходим в пункт О телефоне
  3. Находим строку Номер сборки
  4. Нажимаем по нему семь раз.

Если появилось вот такое уведомление, то у нас все получилось!

Меню "Для разработчиков" теперь будет находится в списке в настройках гаджета. На Android 4.4 пункт размещен между "Печать" и "О телефоне"!

Вот список и описание всех функций, которое дает нам скрытое меню:

  1. Создание отчета об ошибке - кнопка неактивна при нормальной работе устройства.
  2. Пароль для резервного копирования - возможность защитить полные резервные копии данных смартфона или планшета. Пароль вводится вручную и создается самым пользователем.
  3. Не выключать экран - активация этого действия приведет к постоянной подсветки экрана в процессе зарядки устройства.
  4. Выберите среду - доступны для выбора две рабочие среды: Dalvik и ART. Последняя более новая и призвана повысить уровень производительности приложений и устройства в целом. Включить журнал трансляции - команда служит для сохранения всех пакетов HCI Bluetooth в файле.
  5. Статистика процессов - выполнение этой операции позволит вести статистику запущенных процессов.
  6. Отладка по USB - включает режим отладки при подключении к компьютеру при помощи USB-кабеля.
  7. Запретить доступ для отладки с помощью USB на всех компьютерах, на которых вы входили в аккаунт .
  8. Отчеты об ошибках - кнопка неактивна в штатном режиме. При активации, устройство начнет отображать в меню опцию отправки отчета об ошибке.
  9. Фиктивное местоположение - удивительная функция, которая умеет маскировать текущее местоположение владельца с гаджетом и выдавать ложные координаты.
  10. Выберите приложение для отладки - можно задать определенные приложения для возможности их отладки.
  11. Подождите пока подключится - приложение ожидает подключения отладчика в штатном режиме. Кнопка неактивна.
  12. Установленные через USB - функция позволяет проверять на безопасность приложения, устанавливаемые через ADB/ADT. Кнопка неактивна.
  13. Сертификация беспроводных … - отображает параметры сертификации беспроводных мониторов.
  14. Показывать нажатия - при активации кнопки, реализуется отображения точки в местах нажатия на экран.
  15. Отображать касания - проводится визуализация на экране нажатия и жестов.
  16. Показ. обнов. поверхности - осуществляется подсвечивание окон полностью при их обновлении.
  17. Показывать границы элементов - обеспечивает отображение границ клипа, поля и т.д.
  18. Написание справа налево - отображает написание текстов справа налево для всех языков.
  19. Окно: масштаб - установка масштаба анимации от 0,5х до 10х. Также можно отключить анимацию вообще.
  20. Переход: масштаб - установка масштаба перехода от 0,5х до 10х. Отключение анимации также возможна.
  21. Скорость анимации - можно задать скорость анимации гаджета в интервале от 0,5х до 10х. Анимацию можно отключить вообще.
  22. Эмуляция дополнительных экранов - интересная опция, которая может провести эмуляцию дополнительных экранов на основном физическом экране устройства. Включив эту опцию, пользователь увидит еще один экран, который продублирует основной. Размеры дополнительного экрана настраиваются самостоятельно.
  23. GPU-ускорение - можно поставить галочку и, тем самым, всегда использовать GPU для двухмерного рисования.
  24. Показывать обновление экрана - поставленная галочка обеспечит подсветку области экрана при отрисовке GPU.
  25. Показывать аппаратные обновления - задействование этой функции выделит аппаратные уровни зеленым при обновлении.
  26. Отладка наложения - этот пункт содержит три возможных варианта для выбора: 1) выкл.; 2) показывать области наложения; 3) выделять области определенного цвета; 4) показывать число объектов.
  27. Отладить операции непрямоугольного усечения - на этом этапе можно провести три действия: 1) отключить опцию; 2) непрямоугольное сечение; 3) тестирование команды рисование зеленым.
  28. Включить 4х MSAA - поставив галочку, пользователь (или уже разработчик) включает 4х MSAA в приложениях OpenGL ES 2.0.
  29. Отключить аппаратные наложения - активация пункта повлечет за собой постоянное использование GPU при компоновке экрана.
  30. Включен строгий режим - данный режим будет подсвечивать экран Android-устройства во время длительных операций.
  31. Показывать загрузку ЦП - при активации этого действия, смартфон отобразит на своем экране дополнительное окошко с графическим отображением текущей загрузки ЦП. Запись времени работы GPU - название данного пункта говорит само за себя.
  32. Включить трассировку OpenGL - имеет четыре возможным варианта развития событий: 1) нет данных; 2) Logcat; 3) Systrace; 4) Список вызовов в glGetError/
  33. Не сохранять действий - данный пункт меню относится к приложениям, активация его приведет к удалению сводки действий после их завершения.
  34. Лимит фоновых процессов - полезная функция. Она способна ограничить количество работающих приложений в фоновом режиме.
  35. Все ANR - птичка, поставленная напротив данного пункта обеспечит уведомления пользователя о том, что приложение лагает (авт.) или не отвечает.

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

Все действия по включению режима Android разработчика проводятся на планшете Nexus 7 второго поколения, который работает под управлением ОС Android 6.0.1. Комментирование каждого пункта меню основано на его же описании.

Не забывайте, все изменения в этом режиме вы вносите на свой страх и риск!

Как включить режим разработчика Андроид?

  • Заходим в «Настройки » и выбираем раздел «О телефоне (О планшете) ».
  • Потом скролим вниз и видим «Номер сборки », тапаем по нему семь раз.
  • После седьмого тапа система сообщит пользователю что он стал разработчиком. Так мы включаем (или открываем) режим для разработчиков на Android-устройстве.


Меню «Для разработчиков » появится в настройках гаджета. На Android 6.0 пункт размещен в категории «Система ».

Теперь рассмотрим список команд и возможностей, которые преподносит нам режим разработчика Андроид.


  • «Отчет об ошибке » - кнопка неактивна при нормальной работе устройства.
  • «Пароль для резервного копирования » - возможность защитить полные резервные копии данных смартфона или планшета. Пароль вводится вручную и создается самым пользователем.
  • «Не выключать экран » - активация этого действия приведет к постоянной подсветки экрана в процессе зарядки устройства.
  • «Выберите среду » - доступны для выбора две рабочие среды: Dalvik и ART. Последняя более новая и призвана повысить уровень производительности приложений и устройства в целом.
  • «Включить журнал трансляции операций HCI Bluetooth » - команда служит для сохранения всех пакетов HCI Bluetooth в файле.
  • «Проверка HDCP » - эта команда служит для выбора порядка проверки HDCP (система защиты от копирования)
  • «Статистика процессов (Работающие приложения) » - выполнение этой операции позволит вести статистику запущенных процессов.

  • «Отладка по USB » - включает режим отладки при подключении к компьютеру при помощи USB-кабеля.
  • «Запретить доступ для отладки с помощью USB на всех компьютерах, на которых вы входили в аккаунт ».
  • «Отчеты об ошибках » - кнопка неактивна в штатном режиме. При активации, устройство начнет отображать в меню опцию отправки отчета об ошибке.
  • «Фиктивное местоположение » - удивительная функция, которая умеет маскировать текущее местоположение владельца с гаджетом и выдавать ложные координаты.
  • «Выберите приложение для отладки » - можно задать определенные приложения для возможности их отладки.
  • «Подождите, пока подключится отладчик » - приложение ожидает подключения отладчика в штатном режиме. Кнопка неактивна.
  • «Установка через USB » - функция позволяет проверять на безопасность приложения, устанавливаемые через ADB/ADT. Кнопка неактивна.
  • «Размер буфера журнала » - функция позволяет выбрать размер буфера журнала.


  • «Сертификация беспроводных мониторов » - отображает параметры сертификации беспроводных мониторов.
  • «Подробный журнал Wi-Fi » - функция позволяет при выборе Wi-Fi указывать в журнале RSSI для каждого SSID.
  • «Переключаться на мобильную сеть » - при активации кнопки, функция позволяет принудительно переключаться на мобильную сеть, если сигнал Wi-Fi слабый.
  • «Всегда включать поиск сетей Wi-Fi » - функция позволяет включать или отключать поиск сетей Wi-Fi во время передачи данных в зависимости от объема трафика.
  • «Использовать устаревший DHCP-клиент » - активированная функция позволяет использовать DHCP-клиент для Android 5.0, а не для новой версии.
  • «Не отключать передачу данных » - включенная функция позволяет не отключать передачу данных по мобильной сети даже при активном Wi-Fi-подключении (для быстрого переключения между сетями).
  • «Конфигурация USB » - выбор режима по умолчанию при подключении по USB к ПК.

Режим разработчика Android - Ввод текста

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

  • «Показ. обнов. поверхности » - осуществляется подсвечивание окон полностью при их обновлении.
  • «Показывать границы элементов » - обеспечивает отображение границ клипа, поля и т.д.
  • «Написание справа налево » - отображает написание текстов справа налево для всех языков.
  • «Анимация окон » - установка масштаба анимации от 0,5х до 10х. Также можно отключить анимацию вообще.
  • «Анимация переходов » - установка масштаба перехода от 0,5х до 10х. Отключение анимации также возможна.
  • «Длительность анимации » - можно задать скорость анимации гаджета в интервале от 0,5х до 10х. Анимацию можно отключить вообще.
  • «Эмуляция дополнительных экранов » - интересная опция, которая может провести эмуляцию дополнительных экранов на основном физическом экране устройства. Включив эту опцию, пользователь увидит еще один экран, который продублирует основной. Размеры дополнительного экрана настраиваются самостоятельно.

  • «GPU-ускорение » - можно поставить галочку и, тем самым, всегда использовать GPU для двухмерного рисования.
  • «Показывать обновление экрана » - поставленная галочка обеспечит подсветку области экрана при отрисовке GPU.
  • «Показывать аппаратные обновления » - задействование этой функции выделит аппаратные уровни зеленым при обновлении.
  • «Отладка наложения » - этот пункт содержит три возможных варианта для выбора: 1) выкл.; 2) показывать области наложения; 3) выделять области определенного цвета; 4) показывать число объектов.
  • «Отладить операции непрямоугольного усечения » - на этом этапе можно провести три действия: 1) отключить опцию; 2) непрямоугольное сечение; 3) тестирование команды рисование зеленым.
  • «Включить 4х MSAA » - поставив галочку, пользователь (или уже разработчик) включает 4х MSAA в приложениях OpenGL ES 2.0.
  • «Отключить аппаратные наложения » - активация пункта повлечет за собой постоянное использование GPU при компоновке экрана.
  • «Имитировать аномалию » - выбор режима отображения цвета интерфейса для людей с проблемами восприятия цветов.

Режим разработчика Android - Мультимедиа

  • «Отключить передачу аудио (USB) » - данная функция отключает автоматическую маршрутизацию аудио на внешние USB-устройства.


  • «Включен строгий режим » - данный режим будет подсвечивать экран Android-устройства во время длительных операций.
  • «Показывать загрузку ЦП » - при активации этого действия, смартфон отобразит на своем экране дополнительное окошко с графическим отображением текущей загрузки ЦП.
  • «Запись времени работы GPU » - название данного пункта говорит само за себя.
  • «Включить трассировку OpenGL » - имеет четыре возможным варианта развития событий: 1) нет данных; 2) Logcat; 3) Systrace; 4) Список вызовов в glGetError/


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

Так выглядит меню «Для разработчиков». Приведены скриншоты из упомянутого планшета на Android 6.0.

Как отключить режим разработчика Андроид?

  • Заходим в «Настройки » и выбираем раздел «Приложения ».
  • В разделе «Приложения » необходимо найти приложение «Настройки ».
  • В открывшемся меню выбираем пункт «Хранилище .


  • В «Хранилище » нажимаем на кнопку «Стереть данные ».
  • В открывшемся окне «Удалить данные приложения? » нажимаем «ОК ».
  • Вуаля! Режим разработчика Android выключен и скрыт из настроек. Но в любой момент вы вновь сможете его включить.


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

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

Стандартный вариант

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


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

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

Версии операционной системы 2.2 — 3.0

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

Настройки, которые используются для отладки и для разработки приложений, спрятаны в вашем телефоне – спрятаны в прямом смысле слова. Многие из нас идут в соответствующий раздел меню, чтобы запустить отладку USB или переключиться к рабочему модулю ART, но кроме этого, здесь имеется целый список настроек. Большая часть никогда вам не понадобится, но разве не интересно узнать, что скрывается в недрах вашего устройства?

«Разблокируем» функции разработчика в телефоне

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

А теперь посмотрим на предложенные функции повнимательнее.


Настройки

  • Создать отчет об ошибках . Тапаете здесь, чтобы отправить соответствующее сообщение туда, куда вы хотите. Устройство готовит нужные файлы для отправки, что занимает пару минут, после чего вы видите уведомление. Если смахнуть его, процесс остановится, а если тапнуть, сообщение отправится.
  • Пароль резервного копирования . Позволяет использовать ADB для создания бэкапа и восстановления приложений и связанных с ними данных на вашем компьютере. Резервное копирование данных требует введения пароля, и без него данные не могут быть восстановлены.
  • Активный режим . Выбор этого пункта позволяет вам держать экран работающим постоянно при подключении телефона кабелем к зарядному устройству или к компьютеру по USB. Не стоит использовать этот пункт без надобности, поскольку это верный способ выжечь экран.
  • Выбор рабочего модуля . Именно здесь вы можете выбрать между Dalvik и ART. Последний по-прежнему находится в тестовом режиме – это явно не то, что мы увидим в Android L. С некоторыми телефонами у него настоящий антагонизм, поэтому стоит уточнить на соответствующем форуме насчет вашей модели устройства.
  • Включить журнал трансляции операций HCI Bluetooth . Иногда разработчику или специалисту по безопасности требуется перехватить и проанализировать пакеты Bluetooth HCI. Включение этого пункта помещает их в файл, который находится во встроенной памяти устройства (/sdcard/btsnoop_hci.log) для восстановления. После этого их можно проанализировать программой типа Wireshark.
  • Статистика процессов . Все, что вам может понадобиться узнать о запущенных на вашем устройстве процессах. Тапаете здесь, а потом на одном из пунктов. Для обычного пользователя это просто набор цифр, но для разработчика может быть весьма полезным.
  • Отладка USB . То, что позволяет вашему телефону связываться с компьютером, используя Android Debug Bridge (ADB). Это требуется для использования DDMS или команд ADB.
  • Отозвать авторизацию отладки USB . Когда отладка при помощи компьютера происходит в первый раз, вам нужно авторизовать его и установить пару ключей. Эта настройка отменяет данное действие и предлагает повторить его снова.
  • Отчеты об ошибках . Включает опцию, которая становится видимой, когда вы зажимаете кнопку питания для сбора и отправки отчета об ошибках. Очень удобно, если вы что-то тестируете.
  • Фиктивные местоположения . Эта настройка позволяет вам вручную задавать информацию о местоположении, заставляя ваш телефон думать, что он там, где его в действительности нет. Кроме читов для Forsquare, это полезно для приложений, которые используют информацию о местоположении.
  • Приложение для отладки . Эта настройка позволяет вам выбрать приложение для отладки. Вам не требуется действительно подключаться к отладчику, но если вы включите его, то не будете получать сообщений об ошибках, когда останавливаетесь на точке останова. Если вы не понимаете, что это значит, тогда эта настройка вам никогда не требовалась и не понадобится. Она создана для работы со средствами разработчика, позволяющими убедиться в том, что приложение работает корректно.
  • Подождите, пока отладчик . Этот пункт остается неактивным, пока вы не выберет приложение для отладки. Когда оно установлено и выбрано, то настройка просто не позволяет выбранному приложению запуститься до тех пор, пока не включится отладчик. Еще один пункт, который нужен разработчикам, но бесполезен для большинства пользователей.
  • Проверять для USB . Позволяет Google сканировать приложения, которые вы поставили через ADB, на предмет вредоносного поведения. Хорошая вещь.
  • Показывать касания . Выбирая этот пункт, вы будете видеть визуальный эффект, подтверждающий регистрацию касания экрана.
  • Местоположение указателя . Эта настройка размещает в верхней части экрана строку, в которой выводятся координаты точки экрана, которой коснулись последней.
  • Показать обновления экрана . Заставляет край «окна» вспыхивать, когда происходит обновление контекста. Раздражает безумно.
  • Показывать границы макета . Отмечает края элементов в окне диалога для того, чтобы вы знали, куда нужно нажать, чтобы активировать его. Попробуйте – и немедленно выключайте.
  • Написание справа налево . Изменяет ориентацию экрана для поддержки языков с правосторонним написанием
  • Анимация окна: масштаб . Устанавливает скорость воспроизведения анимации окна. Чем меньше число, тем быстрее.
  • Анимация перехода: масштаб . Устанавливает скорость воспроизведения анимации при переходе. Опять же, чем меньше, тем быстрее.
  • Эмуляция дополнительных дисплеев . Эта настройка позволяет разработчикам имитировать различные размеры экрана. Не самая надежная вещь.
  • Рендеринг принудительно . Заставляет приложения использовать аппаратный двухмерный рендеринг, если они были написаны так, чтобы не использовать его по умолчанию. Иногда творит чудеса. Иногда отправляет все к чертям. Будьте бдительны.
  • Показать обновления окна . С этой настройкой любая отрисовка, производимая графической подсистемой, получает красную подсветку.
  • Показывать аппаратные обновления . Выделяет аппаратные уровни зеленым при обновлении. Зачем это нужно - можете почитать здесь http://www.curious-creature.org/2013/09/13/optimizing-hardware-layers/ (на английском).
  • Отладка наложения . Наложение происходит каждый раз, когда приложение запрашивает систему на отрисовку чего-либо поверх чего-то иного. Эта настройка позволяет вам видеть, когда и где это происходит, чтобы видеть, в чем проблема.
  • Включить 4х MSAA . Эта настройка принудительно включает множественную выборку сглаживания (MSAA). Как и с любым другим графическим ускорителем, чем больше сглаживания, тем лучше все смотрится. Но скорость работы при этом падает.
  • Строгий режим . Эта настройка заставляет экран мигать, когда приложение использует главный поток для выполнения длительной и интенсивной операции.
  • Выводить использование ЦП . Размещает в правом верхнем углу небольшое окно с информацией о центральном процессоре и его использовании. Забавная игрушка.
  • Профиль обработки GPU . Эта настройка может либо рисовать график на экране, либо писать его в файл. График - визуальное отображение загрузки работы графического адаптера. Еще одна вещь, на которую интересно посмотреть.
  • Включить трассеровку OpenGL . Настройка, позволяющая следить за ошибками OpenGL и помещающая их в специальный файл лога по вашему выбору. Ничего такого, что стоило бы трогать большинству пользователей.
  • Не сохранять операции . Эта настройка уничтожает любое приложение, как только вы закрываете его окно. Ничего хорошего из этого не выйдет, что бы там на форумах ни писали.
  • Фоновые процессы . Позволяет задавать в настройках количество процессов, которые могут одновременно работать в фоне. Еще одна вещь, которую большинству из нас не стоит трогать слишком часто. Если вообще стоит.
  • Показать все ANR . Эта настройка заставляет все процессы показать сообщение «Приложение не отвечает», если приложение зависло, включает фоновые процессы, которые не запускаются пользователем. Полезно, если одно приложение мешает нормально работать другому.


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

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