Скачать программу для отладки андроид по usb. Режим разработчика Android — Аппаратное ускорение визуализации. После включения отладки по USB

При создании 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. Второй - собственно информация, которая заносится в журнал.

В настройках Android вы наверняка находили загадочный пункт «Отладка по USB», но все ли знают, для чего нужен этот режим и как его правильно включить на разных версиях Android OS?

Для чего нужна отладка

Изначально этот режим был предусмотрен исключительно для разработчиков приложений или сервисов для Android. C помощью отладки они получали доступ к «внутренностям» операционной системы.

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

Несмотря на грозное название, активировать этот режим достаточно просто.

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

Для Android 4.1 и более ранних: когда меню разработчика видно:


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

Выберите пункт «Отладка по USB» и поставьте там галочку. Вы увидите всплывающее окно с предупреждением; просто нажмите «ОК».

Перегружать смартфон для активации этого режима не нужно.

Что делать, если нужный раздел не виден?


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

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

Поздравляем, теперь вы имеете доступ к своему устройству через компьютер!

Случаи, когда отладка спасает

У любого пользователя Android случаются ситуации, когда отладка необходима позарез. Хорошо, что вы воспользовались инструкцией из прошлого раздела и активировали её. Теперь вы сможете:

  • Получить на своём смартфоне/планшете рут-доступ с помощью специальных приложений для компьютера. Для этого включенная отладка необходима.
  • Извлечь данные из устройства, у которого не работает дисплей. Этой проблеме мы посвящали отдельную статью.
  • Восстановить устройство, если оно не загружается. Для этого надо воспользоваться специальными утилитами, которые для разных устройств и чипсетов могут отличаться. Ищите более подробную информацию конкретно о своей модели.
  • Работать с командной строкой на компьютере, чтобы быстро скопировать файлы, установить приложение или сразу целый набор приложений, изменить права доступа к тому или иному файлу. Для этого на компьютере должна быть установлена программа ADB (Android Debug Bridge), позволяющая отдавать команды Android-среде на подключенном устройстве. Для неё существует как графический интерфейс, так и набор консольных команд, которые отдаются через командную строку.


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

0

четверг, июля 30, 2015 - 18:30

Режим отладки по USB для Android-устройств

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

Что такое отладка по USB и для чего она нужна

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

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

Активация режима отладки по USB на Андроид-устройствах

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

  1. Вход в меню «Настройки»
  2. Переход в подпункт меню «Система» (для большинства смартфонов). На некоторых планшетах такой раздел отсутствует, следует выбирать пункт «Приложения».
  3. Вход в раздел «Разработка». Он также может называться «Для разработчиков» или «Параметры разработчика».
  4. Галочка возле команды «Включить режим отладки по USB»

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

  1. Откройте меню «Настройки»
  2. Пролистайте экран до раздела «Система»
  3. Войдите в раздел «О телефоне» (или «Об устройстве»)
  4. Найдите подпункт «Номер сборки», который также может называться «Версия прошивки»
  5. Касайтесь (тапайте) его 5-10 раз подряд в быстром темпе.
  6. Примерно на седьмом клике вы увидите сообщение «Еще немного, и вы разработчик». После этого появится уведомление о том, что вы стали им.
  7. Вернитесь в раздел «Система». Теперь в нем появился подпункт «Для разработчиков».

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

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

Требования к тестовой среде:

  • Операционная система: Windows / Mac OS X / Linux
  • Java (рекомендуется версия 1.7)
  • IDE (Eclipse, IntelliJ IDEA, Android Studio)
  • Android SDK (https://developer.android.com/sdk/index.html?hl=i)
  • APKTool (https://code.google.com/p/android-apktool/)/APK Studio (http://apkstudio.codeplex.com)
  • Устройство / эмулятор на базе 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). В командной строке введите следующую команду:

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


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

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

pm list packages -f

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


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

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


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

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

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


Рисунок 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

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

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

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

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


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

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


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

После нажатия на кнопку «Enter Code» выполнение приложения прервется на точке останова, поскольку отладчик «осведомлен», какой метод вызывается на устройстве. Скомпилированное Android-приложение содержит отладочную информацию (например, имена переменных), доступную любому отладчику, совместимому с Java Debug Wire Protocol (JDWP). Если в приложении разрешена отладка, отладчик, совместимый с JDWP (в эту категорию попадает большинство отладчиков идущих в составе сред разработки для Java), сможет подсоединиться к виртуальной машине Android-приложения, а затем считывать и выполнять отладочные команды.


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

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


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

Заключение

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

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