Что такое Android ADB Interface? (Android Debug Bridge для новичков)
7 декабря 2018 | Просмотров: 7337 | |
Сегодня мы разберем, что такое ADB. Постараемся сдлеать это максимально просто, чтобы любой новичок понял, что это и для чего. Сразу же определим, что ADB — это Android Debug Bridge, а, если по-русски, то «отладочный мост Android». По сути, этот инструмент устанавливается вместе с пакетом Android-SDK и позволяет управлять устройством с ОС Android на борту при помощи Вашего ПК. Всё будет работать только в случае, если производитель Android-девайса намеренно не закрыл эту возможность. Через ADB (консольное приложение для компьютера) производится отладка Android-устройств, в том числе и эмуляторов. Схема работы следующая: клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона). Далее эту служба будет вести «прослушку» всех команд, которые посылаются на порт 5037. ADB DriverADB Driver нужен, чтобы Ваш компьютер увидел Ваш смартфон или планшет на базе Android. Скачать последнюю версию АДБ Драйвера можно по этой ссылке (как установить написано там же). Как работать с ADBМы помним, что ADB — консольное приложение, а это значит, что на винде с ним работать не совсем комфортно. Однако же, мы будем это делать. Как? Можно запустить cmd.exe (обработчика команд Windows).
Попадаем в обработчик. Команды ADBСписок команд ADB поможет Вам не набирать постоянно их в консоли «ручками». CTRL+C + CTRL+V решит эту рутинную проблему. adb -d Команда посылается только на устройство подключенное через USB. adb -e Команда посылается на устройство в эмуляторе. adb -s Команда посылается на устройство с указанным серийным номером: adb -p Команда посылается на устройство с указанным именем: adb devices Список всех подсоединенных устройств. adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан). adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан). adb push Копировать файл/папку PC->девайс. adb pull [ ] Копировать файл/папку девайс->PC. adb sync [ ] Копировать PC->девайс только новые файлы. adb shell Запуск упрощенного unix shell. adb emu Послать команду в консоль эмулятора adb install [-l] [-r] [-s] Послать приложение на устройство и установить его. adb uninstall [-k] Удаление приложения с устройства. adb wait-for-device Ждать подключения устройства. adb start-server Запустить службу/демон. adb kill-server Остановить службу/демон. adb get-state Получить статус: adb get-serialno Получить серийный номер. adb status-window Непрерывный опрос состояния. adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на. adb reboot bootloader Перезагрузка в режим bootloader. adb reboot recovery Перезагрузка в режим recovery. adb root Перезапуск демона с правами root adb usb Перезапуск демона, прослушивающего USB. adb tcpip Перезапуск демона, прослушивающего порт TCP. adb ppp [параметры] Запуск службы через USB. Источник What is asus android composite adb interfacePlatform-tools: r31.0.3 ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio. Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто. Скрытые команды ADB adb -e Команда посылается на устройство в эмуляторе. adb -s Команда посылается на устройство с указанным серийным номером: adb -p Команда посылается на устройство с указанным именем: adb devices Список всех подсоединенных устройств. adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан). adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан). adb push Копировать файл/папку PC->девайс. adb pull [ ] Копировать файл/папку девайс->PC. adb sync [ ] Копировать PC->девайс только новые файлы. adb shell Запуск упрощенного unix shell. adb emu Послать команду в консоль эмулятора adb install [-l] [-r] [-s] Послать приложение на устройство и установить его. adb uninstall [-k] Удаление приложения с устройства. adb wait-for-device Ждать подключения устройства. adb start-server Запустить службу/демон. adb kill-server Остановить службу/демон. adb get-state Получить статус: adb get-serialno Получить серийный номер. adb status-window Непрерывный опрос состояния. adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на. adb reboot bootloader Перезагрузка в режим bootloader. adb reboot recovery Перезагрузка в режим recovery. adb root Перезапуск демона с правами root adb usb Перезапуск демона, прослушивающего USB. adb tcpip Перезапуск демона, прослушивающего порт TCP. adb ppp [параметры] Запуск службы через USB. FastBoot — консольное приложение для PC. Используется для действий над разделами fastboot devices Список присоединенных устройств в режиме fastboot. fastboot erase Стереть раздел. fastboot update Прошивка из файла имя_файла.zip fastboot flashall Прошивка boot + recovery + system. fastboot getvar Показать переменные bootloader. fastboot boot [ ] Скачать и загрузить kernel. fastboot flash:raw boot [ ] Создать bootimage и прошить его. fastboot devices Показать список подключенных устройств. fastboot continue Продолжить с автозагрузкой. fastboot reboot Перезагрузить аппарат. f astboot reboot-bootloader Перезагрузить девайсв режим bootloader. Указать название устройства. Указать размер страниц nand. по умолчанию 2048. Команду logcat можно использовать с машины разработки Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / . Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит. Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше: При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов: Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS: Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat. Контроль формата вывода лога Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода. brief Показывать приоритет/тэг и PID процесса (формат по умолчанию). При запуске logcat можно указать формат вывода используя параметр -v: Источник Ручная установка драйвера ADBЯ хочу поделиться с вами простым способом установки ADB драйвера под Windows. Эта статья понадобится тем, у кого этот драйвер или не устанавливается вовсе, или устанавливается, но adb все равно в упор не видит устройство(как было у меня), или вы вообще этот драйвер не нашли. Так что всех, у кого есть/были похожие проблемы, или кому просто интересно, прошу под кат. Начну с предыстории. Решил я купить себе недорогой планшетик на Android для чтения книг(DJVU/PDF), и выбор пал на устройство И вот тут меня ждал неприятный сюрприз — то ли родной драйвер оказался кривым, то ли винда, то ли провод… вообщем драйвер то встал, диспетчер устройств Windows рапортовал о полной работоспособности девайса, но на запрос adb devices в консоли я получал пустой список и, естественно, тестировать приложение на планшете не удавалось. Я написал запрос в службу поддержки TeXeT, мне даже ответили ссылкой на сам драйвер, который, как я уже убедился, не работал. Я начал искать ответ в интернете и нашел кучу разных сборок этого драйвера и мануалов, но все равно ни один из них не завелся как надо, и даже родной драйвер из SDK вообще никак не становился, что повергло меня в уныние… но не отчаяние. Вот тут я решил попробовать свои силы в Шаг 1. Скачать драйвер. Если вы этого еще не сделали, откройте Android SDK Manager, найдите раздел Extras, поставьте галочку напротив Google USB Driver и нажмите Install Packages. Все просто. Ждете, пока загрузится. Шаг 2. Найдите драйвер и сделайте его копию в отдельную папку. Зайдите в папку %android-sdk%\extras\google\ и увидите там заветную папочку usb_driver. Вот ее скопируйте куда-то, и там же будем проводить дальнейшие манипуляции. В принципе, можете править и «оригинал», но я предпочел сохранить оригинал нетронутым на всякий пожарный. Шаг 3. Правим inf-файл. В папочке открываем файл android_winusb.inf и ищем там строки такого вот вида: Делаем копию этих строк, заменяем Google Nexus One на %имя_вашего_девайса% для идентификации в будущем и… открываем диспетчер устройств Windows. Ищем там наше устройство(Android, Android Composite ADB Interface или что-то в этом стиле). Открываем свойства устройства, вкладка «Сведения», в списке выбираем пункт «ИД оборудования» и видим такую вот картину. В %SingleAdbInterface% мы конец строки удаляем, как видно, в %CompositeAdbInterface% вставляем целиком. Повторять два раза все, наверное, не надо, но у меня уже все стоит и мне лень экспериментировать 🙂 Если команда adb у вас вообще не работает. Компьютер -> Свойства -> Переменные среды. Ищем переменную Path и в конце дописываем(ни в коем случае не перезаписываем) в конце точку с запятой, а после адрес папки, где живет adb(обычно %android-sdk%\platform-tools\). После перезагрузки должно заработать. Что это было? Надеюсь, кому-то данный мануал поможет завести свой китайский или другой девайс, для которого при сборке системы забыли сделать нормальный драйвер adb, или тем, кого задалбывает качать официальный драйвер от производителя устройства(это бывает настолько гемморно, что быстрей сделать все вышеописанное — у меня так было с драйвером для телефона LG E510). P. S. Я не проводил массового тестирования данного метода, так что не могу гарантировать, что он заработает в 100% во всех случаях. Но у меня он заработал на Windows 7, а после и на Windows 8. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема. Источник |