Выбор приложения для отладки по usb. Удаленная отладка приложений в ОС Android

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

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

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

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

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

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

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

Вариант №1 :

Меню -> Настройки -> Разработка ->

Вариант №2 :

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


Вариант №3 :

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


Вариант №4 :

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


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

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

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

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

Вариант №7 для Android 4.2 и выше (Xiaomi/Samsung/LG) :

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


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

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

После включения Отладки по USB! (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 адрес и порт устройства (нужны root права), в этом вам поможет программа ADB Wireless , после этого ввести команду в командную строку:

adb connect ip:port

Например:

adb connect 192.168.0.14:5555

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



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

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

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

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

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

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

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

Режим разработчика Android — Общий обзор

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

Режим разработчика Android — Отладка

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

Режим разработчика Android — Сети

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

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

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

Режим разработчика Android — Рисование

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

Режим разработчика Android — Аппаратное ускорение визуализации

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

    Режим разработчика Android — Приложения

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

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

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

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

    • Кто знает больше о меню режим разработчика и его особенностях — просьба делиться своими знаниями в комментариях.

При создании Android приложений большинство разработчиков пользуются различными эмуляторами. Это удобно, поскольку не нужно хранить кучу различных аппаратов в ящиках стола, нет головной боли с подключением устройств к компьютеру, нет кучи проводов на столе. Щелкаем мышкой и видим работу своей программы на экране компьютера. Просто и элегантно. Тем не менее, эмулятор - не телефон. Он ограничен в своих возможностях. Если Ваше приложение использует какие-нибудь специфичные аппаратные функции, например связанные с работой камеры, Bluetooth или USB подключением, работой во время приема телефонного звонка, с большой долей вероятности можно сказать, что Вам не обойтись без отладки на реальном устройстве. К счастью, Eclipse содержит все необходимое для решения этой задачи.

Подключение телефона и запуск программы

Прежде чем подключать телефон к компьютеру с помощью USB кабеля передачи данных, необходимо выполнить несколько подготовительных действий. Дело в том, что Eclipse по-умолчанию настроен на работу с эмулятором, и нам нужно подкорректировать конфигурацию режима отладки. Это просто. Выбираем пункт меню Run > Debug Configuration, а затем DroidDebug. На вкладке Target в разделе Deployment Target Selection Mode нужно установить переключатель в положение Manual и нажать Apply. Таким образом включен ручной режим выбора платформы. Теперь при запуске приложения будет появляться диалоговое окно, где можно выбрать эмулятор или один из подключенных телефонов.

Чтобы телефон мог работать в режиме отладки, его тоже нужно соответствующим образом настроить. Находясь на домашнем экране, нужно щелкнуть по кнопке Menu и найти приложение “Настройки” (Settings). В этом приложении откройте раздел “Приложения” (Applications), а затем пункт “Разработка” (Development). В открывшемся экране необходимо поставить галочку рядом с пунктом “Отладка по USB” (USD Debgging). Данная последовательность действий работает на большинстве телефонов, но вполне возможно, что на Вашем устройстве режим отладки по UBS включается где-то в другом месте.

Подключите телефон к компьютеру и нажмите кнопку Debug в Eclipse. В появившемся диалоговом окне Вы увидите два списка: “Chose a running Android device” и “Launch a new Android Virtual Device”. В первом из них перечислены подключенные к компьютеру телефоны, во втором - эмуляторы. Выберите свой телефон в первом списке. Eclipse выполнить установку отлаживаемого приложения на телефон и запустит его. Можете отлаживать свою программу.

Мониторинг состояния телефона DDMS (Dalvik Debug Monitor Service)

Вся информация о состоянии телефона доступна через специальный инструмент, называемый мониторинговым сервисом отладки DDMS (Dalvik Debug Monitor Service). Для его запуска щелкните кнопку с изображением андроида в верхнем правом углу Eclipse.

Окно DDMS состоит из нескольких панелей. На панели Devices отображается список доступных эмуляторов и подключенных телефонов. Здесь же приводится список запущенных в данный момент процессов. Каждый процесс запускается в собственной виртуальной машине. Потоки отображаются на отдельной вкладке Threads. Вкладка File Explorer предназначена для работы с файловой системой телефона. С ее помощью можно копировать файлы с компьютера на телефон и обратно. С помощью кнопки Screen Capture можно сделать скриншот экрана телефона. Кнопка с зеленым жуком позволяет присоединить отладчик к выбранному процессу. Для использования этой возможности необходимо иметь открытый исходный код этого процесса.


Также следует отметить утилиту журналирования LogCat и соответствующую панель, которая может оказаться весьма полезной при поиске ошибок. Работа с журналом осуществляется через специальный класс android.util.Log. Наиболее часто используются следующие методы:

Log.e() - для журналирования ошибок,
Log.w() - для журналирования предупреждений,
Log.i() - для журналирования информационных сообщений,
Log.d() - для журналирования отладки,
Log.v() - для журналирования подробных записей,

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

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

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

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

Перед подключением устройства для тестирования необходимо убедиться в том, что оно распознается операционной системой. В Windows для этого нужно установить соответствующий драйвер, являющийся частью инсталляции SDK, которую мы установили ранее. Просто подсоедините устройство и следуйте инструкциям по установке стандартного драйвера для Windows, указав папку driver/ в вашем установочном каталоге SDK. Драйверы для некоторых устройств придется скачать с сайта их производителей. На Linux и Mac OS X обычно нет нужды устанавливать драйверы отдельно – они поставляются с операционной системой. В зависимости от версии Linux может понадобиться совершить несколько дополнительных действий (обычно в части создания нового файла правил для udev). Для разных устройств набор действий может различаться – веб-поиск вам в помощь.

Создание виртуального устройства Android

SDK поставляется с эмулятором, запускающим так называемые виртуальные устройства Android (AVD). Это виртуальное устройство состоит из образа определенной версии операционной системы Android, оболочки и набора атрибутов, включающих разрешение дисплея, размер карты памяти и т. д. Для создания нового AVD необходимо запустить SDK and AVD manager. Вы можете сделать это как описанным в инструкции по инсталляции SDK способом, так и напрямую в Eclipse, нажав кнопку SDK manager (Диспетчер комплекта разработки) на панели инструментов.

1. Выберите Virtual Devices (Виртуальные устройства) из списка в левой части. В результате вы увидите список доступных виртуальных устройств. Если вы ранее не пользовались SDK manager, данный список будет пуст; изменим это положение вещей.

2. Для создания нового AVD нажмите кнопку New (Новый) в правой части. Появится диалог (рис. 2.7).

Рис. 2.7. Диалог создания AVD в SDK manager

3. Каждое виртуальное устройство обладает именем (поле Name (Имя)), по которому вы впоследствии будете на него ссылаться. В Target (Цель) определяется версия Android, которую должен использовать AVD. Кроме того, вы можете определить объем карты памяти для AVD, а также разрешение экрана. Для нашего простого проекта hel1о world можно выбрать в качестве цели Android 1.5, оставив остальные параметры без изменений. В условиях реального тестирования обычно приходится создавать несколько виртуальных устройств, чтобы проверить работу приложения для различных версий ОС и размеров дисплея.

ПРИМЕЧАНИЕ

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

Запуск приложения

Теперь после настройки устройств и AVD вы наконец можете запустить ваше приложение. В Eclipse это делается просто – щелчком правой кнопкой мыши на проекте hel1оworl d в представлении Package Explorer (Диспетчер пакетов) и выбором пункта Run As Android Application (Выполнить как приложение Android) (или же нажатием кнопки Run (Выполнить) на панели инструментов). В результате среда выполнит в фоновом режиме следующие действия.

1. Скомпилирует проект в файл АРК (если с момента прошлой компиляции произошли изменения в файлах).

2. Создаст новую конфигурацию запуска для проекта Android если она еще не существует (скоро мы поговорим о конфигурации запуска).

3. Установит и запустит приложение с помощью запуска нового или использования уже запущенного эмулятора соответствующей версии Android либо его развертывания и запуска на подключенном устройстве (на котором также установлена версия ОС не ниже определенной параметром Min SDK Version (Минимальная версия SDK) при создании проекта).

Если вы только что создали AVD для Android 1.5 (как было описано выше), плагин ADT для Eclipse запустит новый экземпляр эмулятора, развернет в нем АРК проекта hello world и запустит приложение. На выходе вы увидите нечто, похожее на рис. 2.8.

Эмулятор работает почти так же, как реальное устройство, и вы можете взаимодействовать с ним посредством мыши, как будто используете палец. Однако есть и несколько отличий от работы с реальным аппаратом.

Эмулятор не поддерживает мультитач. Двигайте указателем мыши и представляйте, что это палец. В эмуляторе отсутствуют некоторые приложения (например, Android Market).

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


Рис. 2.8. Потрясающее приложение hello world в действии.

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

На момент написания и эмулятор поддерживает только OpenGL ES 1.0 с несколькими расширениями. Для наших целей этого достаточно (за исключением того, что реализация графической библиотеки на эмуляторе страдает погрешностями и иногда вы можете получать не те результаты, что на реальном устройстве). Пока просто запомните, что не стоит тестировать приложения, использующие OpenGL ES, на эмуляторе.

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

ПРИМЕЧАНИЕ

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

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

Конфигурация запуска предлагает способ сообщить среде Eclipse, каким именно образом она должна запускать ваше приложение, получив соответствующую команду. Обычно это выражается в возможности определить аргументы командной строки, передаваемые программе, аргументы виртуальной машины (в случае с настольными приложениями на Java SE) и т. д. Eclipse и сторонние плагины предлагают разные конфигурации запуска для определенных типов проекта. ADT не исключение – он тоже добавляет свою конфигурацию запуска в набор. При первом запуске нашего приложения Eclipse и ADT создали новую конфигурацию Android Application Run с параметрами по умолчанию.

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

1. Щелкните правой кнопкой мыши на проекте в представлении Package Explorer (Диспетчер пакетов) и выберите Run As – Run Configurations (Выполнить как – Выполнить конфигурацию).

2. Выберите проект hello world из списка слева.

3. В правой части окна вы можете изменить название конфигурации запуска, а также скорректировать другие настройки на вкладках Android, Target (Цель) и Commons tabs (Общие вкладки).

4. Для переключения развертывания из автоматического в ручной режим перейдите на вкладу Target (Цель) и выберите Manual (Вручную).

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


Рис. 2.9. Выбор эмулятора/устройства для запуска приложения

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

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

Иногда приложение ведет себя неожиданно или перестает работать. Чтобы определить причину неприятностей, необходима возможность отладки программы. Eclipse и ADT предлагают невероятно мощные возможности для приложений Android. Мы можем устанавливать в коде точки прерывания, получать значения переменных, текущее состояние стека и многое другое.

Перед тем как начать использовать отладку, необходимо подкорректировать файл AndroidManifest.xml. Этот момент – своего рода проблема курицы и яйца, поскольку ранее мы не изучали файлы манифестов. На данном этапе нам достаточно знать, что файл манифеста определяет некоторые атрибуты нашего приложения. Один из них – возможность отладки приложения. Данный параметр задан в форме XML-атрибута тега . Для включения возможности отладки мы просто добавляем следующий атрибут тегу в файле манифеста: androi d:debuggable=true

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

Теперь, включив для приложения возможность отладки, вы можете реализовать ее на эмуляторе или устройстве. Обычно это выражается в установке точек прерывания для анализа состояния программы на определенных этапах. Чтобы установить точку прерывания, откройте файл программного кода в Eclipse и сделайте двойной щелчок в серой зоне перед той строкой кода, которая вам нужна. Для демонстрации этой возможности сделаем это в строке 23 класса Не1oWorl dActi vi ty. Это заставит отладчик останавливать ход выполнения программы при каждом нажатии экранной кнопки. Точка прерывания отмечается в редакторе кода маленьким кружком перед строкой, на которой вы ее установили (рис. 2.10). Чтобы убрать точку прерывания, снова сделайте двойной щелчок на ней в редакторе кода.

Рис. 2.10. Установка точки прерывания

Запуск отладки очень похож на процесс запуска приложения, описанный выше. Щелкните правой кнопкой мыши на проекте в представлении Package Explorer (Диспетчер пакетов) и выберите Debug As – Android Application (Отладка – Приложение Android). Таким образом вы создадите новую конфигурацию отладки для вашего проекта (точно так же, как вы делали при простом запуске программы). Вы можете изменить настройки по умолчанию для данной конфигурации, выбрав Debug As – Debug Configurations (Отладка – Конфигурация отладки) в контекстном меню.

ПРИМЕЧАНИЕ

Вместо применения контекстного меню проекта в представлении Package Explorer (Диспетчер пакетов) вы можете использовать меню Run (Выполнить) для запуска и отладки приложения, а также получать доступ к настройкам.

Если вы стартуете сессию отладки впервые, Eclipse спросит вас, не хотите ли вы переключиться в перспективу Debug (Отладка), на что вы можете соглашаться без колебаний. Рассмотрим эту перспективу. На рис. 2.11 показан ее внешний вид после запуска процесса отладки нашего приложения hel1о world.


Рис. 2.11. Перспектива Debug (Отладка)

Если вы помните наш краткий обзор Eclipse, то знаете, что в ней существуют несколько перспектив, состоящих из набора представлений для определенных задач. Перспектива Debug (Отладка) по виду сильно отличается от перспективы Run (Выполнить).

Первое из новых представлений, на которое следует обратить внимание, – Debug (Отладка) в левом верхнем углу. В нем показаны все запущенные в данный момент приложения и стеки всех их потоков, если они запущены в режиме отладки.

Ниже представления Debug (Отладка) находится представление для редактирования кода, с которым мы уже знакомились при изучении перспективы Java.

Представление Console (Консоль) выводит сообщения от плагина ADT, информируя нас о том, что происходит.

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

Представление Outline (Контур) не очень полезно в данной перспективе. Вы, скорее всего, будете изучать переменные и точки прерывания, и текущее положение в программе вам будет ни к чему. Я обычно закрываю это представление из перспективы Debug (Отладка), чтобы оставить больше места для других.

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

Наконец, представление Breakpoints (Точки прерывания) демонстрирует список установленных нами точек прерывания.

Если вы любознательны, то, вероятно, уже нажали кнопку в работающем приложении, чтобы увидеть работу отладчика. Он остановится на строке 23 в соответствии с установленной точкой прерывания. Вы также можете заметить, что в представлении Variables (Переменные) появились переменные текущего блока программы, состоящего из самой активности (this) и параметра метода (v). Раскрывая список переменных, вы можете исследовать их более детально.

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

Вы можете приказать отладчику выполнить текущее выражение (нажав F6), зайти в методы, вызываемые текущим методом (нажав F5), или продолжить выполнение программы обычным образом (нажав F8). Добиться тех же целей можно также, используя меню Run (Выполнить). Учтите, что на самом деле параметров отладки больше, чем я вам сейчас рассказал. Как и всегда, я предлагаю вам самим поэкспериментировать над тем, что вам нужно.

ПРИМЕЧАНИЕ

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

LogCat и DDMS

Плагин ADT устанавливает много новых представлений и перспектив для использования в Eclipse. Одно из самых полезных представлений (о котором вскользь упомянуто в предыдущем разделе) называется LogCat.

LogCat – система журналирования событий в Android, позволяющая системным компонентам и приложениям выводить информацию на различных уровнях. Каждая запись в журнале состоит из даты, времени, уровня журналирования, ID процесса-источника записи, тега (определяемого приложением самостоятельно) и собственно сообщения.

Представление LogCat собирает и выводит эту информацию с подключенного эмулятора или реального устройства. На рис. 2.12 показан пример вывода в представлении LogCat.


Рис. 2.12. Представление LogCat

Обратите внимание на кнопки в верхнем правом углу LogCat.

Первые пять из них позволяют выбрать уровни журналирования, которые вы хотите увидеть.

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

Остальные кнопки позволяют редактировать и изменять фильтр, а также очищать окно вывода.

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

DDMS (Dalvik Debugging Monitor Server) предлагает более разнообразные сведения о процессах и виртуальных машинах Dalvik, запущенных на всех подключенных устройствах. Переключиться на перспективу DDMS можно в любой момент с помощью пункта меню Window – Open Perspective – Other – DDMS (Окно – Открыть перспективу – Другие – DDMS). На рис. 2.13 показано, как обычно выглядит перспектива DDMS.


Рис. 2.13. DDMS в действии

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

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

LogCat – аналогично описанному в предыдущем разделе, с одним отличием: выводит информацию от устройства, выбранного в представлении Devices (Устройства).

Emulator Control (Контроль эмулятора) – позволяет изменять поведение запущенного экземпляра эмулятора. Вы можете, например, заставить его гененерировать пробные GPS-координаты для тестирования.

Threads (Потоки) – выводит данные о потоках, используемых процессом, который выбран в представлении Devices (Устройства). Информация будет показываться, только если вы включили отслеживание потоков (это можно сделать, нажав пятую слева кнопку в представлении Devices (Устройства)).

Heap (Куча) (не показано на рис. 2.13) – снабжает информацией о статусе памяти устройства. Как и в случае с данными о потоках, необходимо явно включить отслеживание состояния памяти в представлении Devices (Устройства) нажатием второй слева кнопки.

Allocation Tracker (Отслеживание распределений) – показывает использованные недавно классы. Это очень помогает при борьбе с утечками памяти.

File Explorer (Проводник) – позволяет изменять файлы на подключенном Android-устройстве или экземпляре эмулятора. Вы можете перетаскивать файлы в это представление так же, как вы делаете это при работе с операционной системой.

DDMS на самом деле – отдельное приложение, интегрированное в Eclipse с помощью плагина ADT. Вы можете запускать его и отдельно из каталога $ANDR0ID H0M Е/ tools directory (%ANDROID HOME%/tools при использовании Windows). Оно не подключается к устройствам напрямую, применяя для этого Android Debug Bridge (ADB) – еще одну утилиту, включенную в SDK. Рассмотрим ее, чтобы дополнить наши знания о среде разработке Android.

Использование ADB

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

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

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

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

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

ПРИМЕЧАНИЕ

Для получения полного справочника доступных команд обратитесь к документации по ADB на сайте Android Developers (http://developer.android.com).

Весьма полезная задача, выполняемая с помощью ADB, – получение списка всех подключенных к ADB-серверу (а значит, и к компьютеру) устройств и эмуляторов. Для этого выполните следующую команду консоли (обратите внимание: символ не является частью команды):

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

Серийный номер устройства или эмулятора используется для выполнения последующих команд. Например, следующая команда установит АРК-файл myapp. а рк с машины разработчика на устройство с серийным номером НТ019Р803783:

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

Существуют также команды для копирования файлов между компьютером и устройством (эмулятором). Результат действия следующей команды – копирование локального файла myfi1е. txt на карту памяти устройства с серийным номером НТ019Р803783:

Чтобы произвести обратное копирование fi1е. txt с карты памяти, используйте следующий набор символов:

Если к ADB-серверу в данный момент подключено всего одно устройство или эмулятор, вы можете опустить серийный номер – adb определит его автоматически.

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

Подводя итог

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

Самое главное, что вы должны понять после изучения – как все это работает вместе. JDK и Android SDK служат основой всей разработки для Android. Они предлагают инструменты для компилирования, развертывания и запуска приложений на экземплярах эмулятора и устройствах. Для ускорения процесса разработки мы используем Eclipse в сочетании с плагином ADT, избавляющим нас от неудобной работы с JDK и SDK в командной строке. Сам Eclipse построен на нескольких корневых концепциях: рабочих пространствах, управляющих проектами; представлениях, предлагающих особую функциональность (например, редактирование программного кода или вывод LogCat); перспективах, объединяющих представления для выполнения определенных задач (например, отладки); конфигурациях запуска и отладки, позволяющих определить параметры запуска или отладки приложения.

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

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

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

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

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

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

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

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

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

Вариант №1:

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

Вариант №2:

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

Вариант №3:

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

Вариант №4:

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


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

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

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

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

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

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

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

Меню -> Настройки -> Общие -> О смартфоне/О планшете -> Номер сборки и нажмите по нему примерно 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 вы можете подключить смартфон к ПК и