Просмотров: 39762

Управляем ОС Android удаленно при помощи ADB


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

Но не всегда такое фирменное ПО прилагается, например, для пользователей Linux/FreeBSD. Поэтому желательно хотя бы иметь представление об универсальном интерфейсе доступа к устройствам Android с персонального компьютера, который называется Android Debug Bridge (отладочный мост Android) или кратко — ADB.

Реализован этот универсальный интерфейс в виде консольной утилиты под одноимённым названием adb , которая имеется для всех популярных операционных систем и запускается из командной строки. Более подробно о том с чем её готовят и описано под катом.

os android adb debug bridge usb podkljuchenie linux sdk

Введение в ADB

Программа adb устанавливает связь между устройством и компьютером, позволяет посылать команды на устройство через USB-соединение и выполнять различные манипуляции с системой Android. Продвинутые пользователи сталкивались с ней при получении прав root , установке ClockworkMod Recovery.

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

Сначала перечислим основные возможности интерфейса ADB:

  • просмотр подключенных к ПК устройств Android;
  • просмотр лога системы Android;
  • копирование файлов с/на устройство Android;
  • установка и удаление приложений на устройстве Android;
  • очищать раздел data на устройстве Android;
  • запускать различные скрипты управления устройством Android.

Итак, повторюсь, что Android Debug Bridge (adb) — это универсальный инструмент, позволяющий управлять эмуляторами устройств и самими устройствами на базе Android. ADB — клиент-серверное приложение состоящее из 3-ех компонентов:

  • Клиент — запускается на машине разработчика. Клиент можно запустить из командной строки при помощи команд посылаемых adb. Другие инструменты Android вроде плагина ADT и DDMS тоже создают adb-клиенты;
  • Сервер — запускается на машине разработчика в виде фонового процесса. Сервер управляет соединениями между клиентами и adb-сервисом запущенным на эмуляторе или устройстве;
  • Сервис — фоновый процесс, который запускается на каждом эмуляторе или устройстве.
  • Инструмент adb можно найти в директории /platform-tools/ .

Клиент при запуске сначала проверяет, запущен ли adb-сервер. Если сервер не запущен, то клиент запускает его. Сервер при старте привязывается к 5037 TCP порту и слушает команды, посылаемые adb-клиентами. Все adb-клиенты используют 5037 порт для связи с adb-сервером. Затем сервер устанавливает соединения со всеми работающими эмуляторами/устройствами.

os android adb debug bridge usb podkljuchenie linux sdk

Сервер находит их путем сканирования нечетных портов в диапазоне 5555-5585. Если сервер находит adb-сервис на одном из этих портов, то устанавливает соединение с найденным портом. Обратим внимание на то, что каждый эмулятор/устройство использует пару, следующих друг за другом, портов: четный порт — для соединения с консолью, нечетный порт — для adb-соединений.

Для примера:

Emulator 1, console: 5554
Emulator 1, adb: 5555
Emulator 2, console: 5556
Emulator 2, adb: 5557


Как только сервер установил соединения со всеми эмуляторами, можно использовать adb-команды для контроля и доступа к каждому из этих эмуляторов. Поскольку сервер управляет соединениями со всеми эмуляторами/устройствами и обрабатывает команды от нескольких adb-клиентов, можно управлять любым эмулятором/устройством из любого клиента (или скрипта).

os android adb debug bridge usb podkljuchenie linux sdk

На всякий случай обратим внимание, что при разработке Android-приложений в среде Eclipse с установленным плагином ADT — не нужен доступ к adb из командной строки. Плагин ADT обеспечивает прозрачную интеграцию adb в Eclipse. Однако можно использовать adb и напрямую, например, для отладки.

Подготовка к работе

Для начала нужно установить саму консольную утилиту adb.

Существует несколько вариантов её получения:

  1. Обычно в системах Windows она может неявно установиться вместе с фирменными драйверами смартфона или планшета. Искать её обычно следует в папке Program Files в каталоге, имеющем название марки смартфона.
  2. Универсальным способом получения adb для пользователей всех операционных систем является установка утилиты через менеджер Android SDK.
  3. Для этого нужно скачать сам архив Android SDK и распаковать. Пользователям Windows в корневой папке архива нужно запустить SDK Manager.exe . Пользователям Linux в папке tools архива SDK нужно запустить исполняемый файл android . (В системе также должна быть установлена Java).

    В результате запустится менеджер компонентов Android SDK, через который нужно загрузить компоненты «Android SDK Tools» и «Android SDK Platform tools». Утилита adb должна появиться в каталоге platform-tools в папке разархивированного Android SDK;

  4. Пользователи Ubuntu 12.10+ могут загрузить нужные утилиты прямо через менеджер пакетов системы. Утилита adb уже имеется в официальном репозитории этого дистрибутива. Установить нужно пакеты android-tools-adb и android-tools-fastboot .

os android adb debug bridge usb podkljuchenie linux sdk

Для полноценной работы в Windows необходимо установить еще и драйвера конкретного устройства для поддержки интерфейса ADB по USB. Обычно Windows Vista и Windows 7 сами находят этот драйвер в Сети. После установки USB-драйверов для Windows в диспетчере устройств вы должны наблюдать: My Computer — Android Phone — Android ADB Interface. Если у вас вместо Android ADB Interface после подключения устройства светится желтый вопросительный знак, значит, драйвера установились некорректно.

Для пользователей же Linux/FreeBSD драйвера устанавливать не нужно, но надо написать правило для udev . Ниже приведена последовательность создания правила на примере Ubuntu.

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

Bus 002 Device 006: ID 12d1:1038 Huawei Technologies Co., Ltd.

Здесь idVendor  — это шестнадцатеричные цифры после ID и до двоеточия. IdProduct  — это следующие четыре цифры после двоеточия.

После этого создаём файл /etc/udev/rules.d/51-android.rules с правами chmod 644 и со следующим содержанием (подставлять свои значения ID и пользователя):

SUBSYSTEMS=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct} =="1038", MODE="0666", OWNER="пользователь"

Далее выполняем:

$ sudo /etc/init.d/udev reload

В первом и втором случае получения adb очень желательно настроить переменные окружения, чтобы не вводить при запуске в консоли полный путь к установленной утилите. Настройка персонального компьютера на этом закончена. На мобильном устройстве должна быть включена отладка по USB: «Настройки — Приложения — Разработка — Отладка по USB». Подключите ваш телефон через кабель USB и НЕ МОНТИРУЙТЕ как SD!

Для получения абсолютно всех возможностей adb мобильное устройство должно уже иметь root , и также должен быть установлен пакет Busybox (имеется в Google Play). Но всегда следует помнить, что установка прав root в некоторых случаях может лишить гарантии на ваше устройств.

Вот теперь можно приступать к работе с adb.

Работа с ADB

Рассмотрим некоторые команды adb. Открываем консоль и запускаем команду:

$ adb devices

Данная команда выведет список устройств, подключенных к ПК. Должно появиться что-то вроде:

List of devices attached
4CA94Dxxxxx device


Если же утилита adb на запрос adb devices выдала что-то вроде "???????????? no permissions ", необходимо правильно настроить права.

Теперь просто перезагрузка устройства:

$ adb reboot

Быстрая перезагрузка устройства в режим Recovery:

$ adb reboot recovery

Установка с компьютера пакета apk :

$ adb install <путь_к_apk>

Удаление пакета:

$ adb uninstall

Просмотреть лог работы устройства:

$ adb logcat

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

И при помощи ADB можно запустить на мобильном устройстве самый настоящий шелл Unix:

$ adb shell

Запустив шелл, можно использовать все доступные на устройстве команды UNIX — cat, ls, df  и другие, а также запускать сценарии.

os android adb debug bridge usb podkljuchenie linux sdk

Если есть root и Busybox, то с мобильным устройством вообще можно делать всё, что захочется. Так что, используя ADB, следует быть осторожным.

~

Полный список всех ADB-команд можно получить, запустив adb без параметров. Более подробно про отладку с его помощью описано вот здесь. В каких-то нестандартных случаях может помочь заметка — Помогаем ADB (Android Debug Bridge) увидеть планшет. А вот, ещё более подробное руководство по установке adb, но на английском.

Набор других интересных специализированных программ для соединения стационарного компа и своих Anrdoid-устройств — можно найти в статье «Как сдружить Android-смартфон с десктопом?» + советую глянуть «Пять команда ADB, о которых должен знать каждый».

kv.by, 2012

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , , , ,
Эта запись опубликована: Среда, 21 ноября 2012 в рубрике Unix'овое.

6 комментариев

Следите за комментариями по RSS
  1. Хорошо, полезно, информативно. В заметки. Спасибо.

  2. Спасибо, очень толково написано!

  3. Как завещал Антуан де Сент-Экзюпери, мы в ответе за тех, кого приручили. Все наши домашние животные - это верность, отдых и удовольствие от общения, но вместе с тем - большая ответственность. Питомцам в равной мере требуются забота и хороший уход. По этой причине каждый заботливый хозяин всегда имеет сведения, где, в случае нужды, следует купить ветеринарные препараты для своего любимца. Ветеринарные препараты – это не только лекарства от болезней, которым, к огорчению, уязвимы все животные. Ваш питомец нуждается в постоянном уходе, и прежде всего, в профилактике разных заболеваний. Вам понадобятся лекарства от паразитов, витаминные комплексы, капли для глаз и ушей, прививки. Все это вы можете найти в нашем интернет-магазине vetpreparaty.com, равно как и другие препараты, витамины, биодобавки и лечебные корма.

    Подробнее Милпразон

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

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

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

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

    маркеры CHARTPAK

  5. Неповторимая экологично чистая и безопасная бельгийская косметика для косметической процедуры мгновенного загара, выполненная в виде спрея и лосьона, позволяющие нанести загар за 15-20 минут

    Торговый бренд Curasano в первый раз возник на рынке Европы в 2008 году и сразу добился почетные места и бьюти пьедесталы от мировых выставок, специалистов красоты и любовь клиентов. Главной философией бренда является «Забота о здоровье» Cura Sano (лат). Дерматологическая лаборатория Curasano в Бельгии разрабатывает автозагары для всех абсолютно фототипов кожи, косметику для ежедневного ухода, для загара на солнце и в солярии, а также безвредные продукты для беременных и детей.

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

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

    автозагар

  6. Если вы решили получить быстрый займ, вам нужно определиться с МФО, где лучше взять займ online. Сейчас не все МФО предоставляют быстрые займы. Если вы стремитесь получить моментальные займы, вам надо просмотреть перечень МФО, которые предоставляют займы на хороших условиях.

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

    Для того, чтобы посетитель мог получить онлайн займ надо выбрать МФО, изучить условия займа. Каждый клиент попадал в положение, когда деньги нужны безумно срочно. Сестры не всегда могут помочь финансово. Из-за этого нужно изучить возможность взять онлайн займ на карту.

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

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

    Если вы не знаете, где вы можете найти список лучших МФО, можете смело изучить его на ресурсе. Лучшие микрофинансовые организации размещены на ресурсе. У всех МФО есть техническая поддержка. Получить займ можно на банковскую карту любого банка. Вы можете также получить деньги за 10 минут без каких-то вопросов от банковских сотрудников.

    Затем, как ваша заявка будет одобрена, вы получите подтверждение. Больше чем 90% заявок получают одобрение. Оформить мирозайм вы можете даже через планшет. Для этого необходимо иметь выход в сеть. Также вам потребуется паспорт и банковская карта, куда вы будете принимать средства.

Оставьте комментарий!

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз