html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Управляем ОС 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.

    Для этого нужно скачать сам архив 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;

  3. Пользователи 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, о которых должен знать каждый».

Читать дальше
Twitter
Одноклассники
Мой Мир

материал с blogerator.ru

2

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • pleshner
          • домен blogerator.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции