Программа adb — Инструкция по установке и настройке для работы с Андроид
Программа adb — Инструкция по установке и настройке для работы с Андроид. Практически каждый владелец Android устройства, который решил улучшить своего любимца путем замены прошивки или ядра операционной системы, сталкивается с программой adb.
Для большинства новичков именно эта программа становится непреодолимым препятствием и мы сегодня расскажем вам, как установить и начать работу с этим замечательным приложением, которое поможет вам, например, получить rootправа на вашем устройстве, прошить новую версию Android или даже восстановить ваш телефон или планшет к первоначальному состоянию после неудачного вмешательства в систему.
Так что же такое ADB, полюбившийся всем моддерам и хакерам, где его взять, и зачем он нам нужен?
Что такое ADB.
Аббревиатура ADB расшифровывается как Android Debug Bridge (отладочный мост Андроид). ADB является составной частью Android SDK, который можно скачать отсюда .
Так как операционная система Android является разновидностью Linux, для ее настройки часто возникает необходимость работы через командную строку. Конечно, существуют программы – эмуляторы терминала, которые позволяют выполнять команды прямо на устройстве но, во-первых, на маленьком экране телефона делать это неудобно, а во-вторых, иногда требуется доступ к устройству через компьютер, и в этих и многих других случаях программа adb просто незаменима. Программа adb устанавливает связь между устройством и компьютером и позволяет прямо на компьютере выполнять различные манипуляции с системой Android.
Как установить ADB.
Прежде всего, рекомендуем вам скачать самую последнюю версию Android SDK, на момент написания этого руководства доступна версия r11, на ее примере построено все дальнейшее описание, и в более ранних версиях, местоположение необходимых программ после установки SDK, может отличаться от описанного здесь.
1. Скачиваем Android SDK, его можно найти по ссылке указанной ранее. Имеется несколько разновидностей SDK, для Microsoft Windows, Mac OS и Linux.
Нам потребуется разновидность для Microsoft Windows. И здесь есть два варианта – скачать установщик или zip архив с Android SDK. Установщик нам не нужен, тем более он не позволит установить SDK в Windows 7, и поэтому скачиваем zip архив.
В архиве находится папка android-sdk-windows, которая и содержит сам SDK. Распаковываем ее на компьютер. В нашем примере, мы разместили папку в корне диска С. Если вы сделаете то же самое, путь к SDK будет у нас такой: C:\android-sdk-windows
В более ранних версиях SDK внутри этой папки в папке tools располагалась нужная нам программа adb, но позднее она была перемещена разработчиками в папку platform-tools.
Однако, если вы зайдете в эту папку, вы не найдете внутри нее программу adb, поэтому переходим к следующему этапу установки.
2. Устанавливаем SDK Platform Tools.
Убеждаемся, что наш компьютер подключен к интернету и запускаем находящуюся в папке android-sdk-windows, программу SDK Manager. После запуска программы появится такое окно:
Нам нужно скачать и установить Android SDK Platform-tools и Android SDK Tools.
С помощью двойного клика по пункту или нажатием на «Accept» и «Reject» отмечаем эти два пункта в списке и снимаем отметку со всех остальных пунктов, как показано на приведенном выше скриншоте. Затем нажимаем «Install» и ждем пока скачаются и установятся нужные нам компоненты.
Теперь мы имеем установленную adb на своем компьютере, но для работы с нашим телефоном или планшетом нужно будет установить их драйвер и для дальнейшего удобства с программой, неплохо было бы прописать путь к ней и другим компонентам в систему Windows.
3. Если мы зайдем в папку C:\android-sdk-windows\platform-tools\ , то теперь сможем там обнаружить программу adb.
После этого, нам нужно отредактировать системную переменную PATH, чтобы каждый раз при запуске программы и вводе команд не набирать путь к программе, который выглядит так:
C:\android-sdk-windows\platform-tools\adb
Если вы ни разу не редактировали системные переменные, создайте точку восстановления системы, чтобы потом можно было вернуть ее в первоначальное состояние.
— Если у вас установлена Windows 7, клацаем правой клавишей мыши по ярлыку «Компьютер», выбираем «свойства» и в открывшемся окне выбираем «Дополнительные параметры системы».
— Если у вас Windows XP, клацаем правой кнопкой мыши по «Мой компьютер» и затем по «Свойства»
В следующем окне на вкладке «Дополнительно» нажимаем на кнопку «Переменные среды». В списке «Системные переменные» выбираем переменную «path» и нажимаем кнопку «Изменить…»
Откроется окно редактирования переменной, и в пункте «значение переменной» в самый конец строки, после точки с запятой добавляем путь к папке tools и папке platform-tools:
;c:\android-sdk-windows\tools;c:\android-sdk-windows\platform-tools;
(если в конце строки не было точки с запятой, добавьте её – каждый путь в этой строке должен отделяться от другого точкой с запятой)
Если вы установили Android SDK в другую папку, пропишите в конце строки ваш путь к папкам tools и platform-tools.
Нажимаем «ОК», чтобы сохранить изменения. После этого, чтобы изменения вступили в силу, нужно будет перезагрузить компьютер.
Установка драйверов устройства.
Некоторые устройства, например телефоны и планшеты компании Samsung имеют собственное программное обеспечение для синхронизации с компьютером, и если оно у вас установлено на компьютере, то драйвер устройства уже установлен у вас в системе.
Но для таких устройств, как Nexus One, которые поставляются без каких либо дополнительных программ и драйверов, для работы с Android SDK, драйверы установить необходимо.
Для этого идем в папку, в которую мы устанавливали SDK и запускаем SDK Manager.
Точно так же, как мы устанавливали Android SDK Platform-tools и Android SDK Tools, находим и выбираем в списке «Google Usb Driver package». Нажимаем «Install» и ждем пока программа скачает драйверы. Драйверы для 32 и 64 разрядной Windows будут скачаны в следующую папку:
C:\1\android-sdk-windows\extras\google\usb_driver
Теперь можно установить драйверы для вашего устройства. Для этого в меню настроек телефона или планшета выбираем пункт «Приложения» (Applications), и в нем включаем «Отладка USB» (USB debugging).
Подключаем наше устройство к компьютеру. Компьютер обнаружит новое оборудование и предложит установить драйверы. Устанавливаем драйверы из папки, куда они были скачаны ранее.
После установки драйверов в диспетчере устройств появится новое устройство «ADB Interface» и мы можем убедиться в этом открыв его, нажав правой клавишей мыши по иконке «Компьютер» -> «Свойства» -> «Диспетчер устройств»
Как запустить ADB
Работать с программой adb лучше всего через командную строку Windows. Для вызова командной строки на компьютере с Windows XP, нажимаем «Пуск» и в поле ввода «Выполнить» набираем cmd и нажимаем «Enter».
На компьютере с Windows 7, нажимаем «Пуск» и в поле ввода «Найти программы и файлы» набираем cmd и нажимаем «Enter».
Откроется окно командной строки, и для того чтобы, например посмотреть какие устройства у нас подключены к компьютеру, набираем в нем команду:
Программа adb отобразит список устройств, подключенных в настоящий момент к компьютеру.
Источник
Ручная установка драйвера ADB
Я хочу поделиться с вами простым способом установки ADB драйвера под Windows. Эта статья понадобится тем, у кого этот драйвер или не устанавливается вовсе, или устанавливается, но adb все равно в упор не видит устройство(как было у меня), или вы вообще этот драйвер не нашли. Так что всех, у кого есть/были похожие проблемы, или кому просто интересно, прошу под кат.
Начну с предыстории. Решил я купить себе недорогой планшетик на Android для чтения книг(DJVU/PDF), и выбор пал на устройство российского конечно же китайского производства TeXet TM-7025. Жаба давила покупать что-то дорогое, а для простого чтения книг каких-то сверх-характеристик не требуется. Позже я обнаружил что на нем неплохо идут большинство игрушек, удобно полазить в инете пока ты сидишь in da kabin и т. д. А поскольку передо мной маячило изучение Android, я решил, что будет весьма удобно пользоваться для этого железным девайсом вместо мучений с эмуляторами.
И вот тут меня ждал неприятный сюрприз — то ли родной драйвер оказался кривым, то ли винда, то ли провод… вообщем драйвер то встал, диспетчер устройств Windows рапортовал о полной работоспособности девайса, но на запрос adb devices в консоли я получал пустой список и, естественно, тестировать приложение на планшете не удавалось.
Я написал запрос в службу поддержки TeXeT, мне даже ответили ссылкой на сам драйвер, который, как я уже убедился, не работал. Я начал искать ответ в интернете и нашел кучу разных сборок этого драйвера и мануалов, но все равно ни один из них не завелся как надо, и даже родной драйвер из SDK вообще никак не становился, что повергло меня в уныние… но не отчаяние.
Вот тут я решил попробовать свои силы в написании драйверов старом добром методе научного тыка и открыл inf-файл драйвера. Надежду мне давало понимание, что софтверная часть adb интерфейса со стороны планшета должна быть идентичной для всех устройств, а USB и так работал. И вот, после нескольких неудачных проб ручной правки inf-файла я нашел рецепт лечения приправы inf-файла так, чтобы оно поставилось и, главное, работало.
Шаг 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 или что-то в этом стиле). Открываем свойства устройства, вкладка «Сведения», в списке выбираем пункт «ИД оборудования» и видим такую вот картину.
Копируем строчку, которая больше всего похожа на ту, что показана на рисунке(Она, по идее просто немного короче), и вставляем ее в наш inf-файл.
В %SingleAdbInterface% мы конец строки удаляем, как видно, в %CompositeAdbInterface% вставляем целиком. Повторять два раза все, наверное, не надо, но у меня уже все стоит и мне лень экспериментировать 🙂
Сохраняемся(будьте внимательны — в некоторых случаях для этого нужно запускать блокнот с правами администратора, т. к. в пользовательском режиме вам не дадут перезаписать inf-файл).
Шаг 4. Установка драйвера. Теперь, когда все подготовлено, возвращаемся в диспетчер устройств и удаляем все ранее установленные adb драйверы(если были). Обновляем список устройств и видим наш девайс без драйверов. Открываем его свойства и выбираем «обновить драйверы», выбираем установку из папки, указываем папку с поправленым inf-ом и запускаем установку — наш драйвер моментально находится, но при установке он может ругаться о несовместимости с вопросом «продолжать ли, насяльнека?». Продолжаем. Все, драйвер установлен.
Шаг 5. Финал. Для точности делаем вынь-всунь USB-порта, ждем пока все обнаруживается, открываем консоль(Win+R, вводим cmd) и пишем adb devices. Если все прошло хорошо — видим заветный пункт списка, обозначающий, что adb теперь видит наш девайс.
С этого момента можно спокойно запускать eclipse и строить программы, наслаждаясь удобной автоматической сборкой, установкой и возможностью дебага прямо на нашем устройстве.
Если команда adb у вас вообще не работает. Компьютер -> Свойства -> Переменные среды. Ищем переменную Path и в конце дописываем(ни в коем случае не перезаписываем) в конце точку с запятой, а после адрес папки, где живет adb(обычно %android-sdk%\platform-tools\). После перезагрузки должно заработать.
Иногда adb не запускается автоматически при старте системы. Запустите вручную.
Что это было?
На самом деле все просто. В силу неких причин(винда мастдай/у прогеров кривые руки/гугловский инф-файл писался только для родных гугловских девайсов/в вашем компьютере все испортили бозоны Хиггса) винда не хочет кушать гугловский драйвер для негугловских девайсов, не записанніх в inf-файл. Видимо, там все как раз завязано на этих ИД-оборудования. Но ведь софтверная часть на подавляющем большинстве андроид-устройств в части дебаггер-коннектора к ПК идентична, потому драйвер должен нормально общаться с любым Андроид-устройством. Наша задача — обмануть Windows и заставить ее принять девайс за «драйверо-подходящий», что мы и сделали путем дописывания его ИД в inf-файл драйвера.
Надеюсь, кому-то данный мануал поможет завести свой китайский или другой девайс, для которого при сборке системы забыли сделать нормальный драйвер adb, или тем, кого задалбывает качать официальный драйвер от производителя устройства(это бывает настолько гемморно, что быстрей сделать все вышеописанное — у меня так было с драйвером для телефона LG E510).
P. S. Я не проводил массового тестирования данного метода, так что не могу гарантировать, что он заработает в 100% во всех случаях. Но у меня он заработал на Windows 7, а после и на Windows 8. Файл приходилось править для каждого раза отдельно, но не думаю, что это такая уж проблема.
Источник
Драйвера для adb android что это
Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021
ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.
adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.
adb -s Команда посылается на устройство с указанным серийным номером:
adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.
adb devices Список всех подсоединенных устройств.
adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).
adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.
adb push Копировать файл/папку PC->девайс.
adb pull [ ] Копировать файл/папку девайс->PC.
adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.
adb shell Запуск упрощенного unix shell.
Примеры использования
adb emu Послать команду в консоль эмулятора
adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk
adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.
adb wait-for-device Ждать подключения устройства.
adb start-server Запустить службу/демон.
adb kill-server Остановить службу/демон.
adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.
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.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns
FastBoot — консольное приложение для PC. Используется для действий над разделами
fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.
fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.
fastboot update Прошивка из файла имя_файла.zip
fastboot flashall Прошивка boot + recovery + system.
fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.
fastboot boot [ ] Скачать и загрузить kernel.
fastboot flash:raw boot [ ] Создать bootimage и прошить его.
fastboot devices Показать список подключенных устройств.
fastboot continue Продолжить с автозагрузкой.
fastboot reboot Перезагрузить аппарат.
f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p
Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n
Указать размер страниц nand. по умолчанию 2048.
Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).
Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent
Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.
Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).
При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W
Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»
Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.
Контроль формата вывода лога
Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.
brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.
При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v
Источник