adb устанавливается с AndroidStudio или его надо ставить отдельно?
У меня Windows c установленной AndroidStudio. Ввожу команду adb devices , в консоли пишет, что нет такой команды. Где в AndroidStudio подключение adb или оно отдельно ставится?
Отслеживать
36.8k 6 6 золотых знаков 49 49 серебряных знаков 125 125 бронзовых знаков
задан 12 июн 2016 в 7:52
644 2 2 золотых знака 7 7 серебряных знаков 19 19 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В AndroidStudio открываете File -> Project Structure, там смотрите путь до Android SDK, adb находится в папке platform-tools внутри SDK. Если хотите запускать adb не указывая к ней путь из любой папки добавьте путь до неё в переменную среды PATH.
Отслеживать
ответ дан 12 июн 2016 в 8:14
5,011 11 11 серебряных знаков 15 15 бронзовых знаков
В SDK Manager убедитесь, что у вас установлен пакет platform-tools
10 сен 2016 в 2:55
- android
- android-studio
- android-sdk
- adb
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.4.30.8420
Если adb не видит ваше устройство
Если вы тестируете свои программы на реальном устройстве, нужно иметь подходящие драйвера, чтобы Android Studio могла устанавливать вашу программу на устройство. В некоторых телефонах используются стандартные драйвера и Windows без проблем видит ваше устройство (так было у меня с планшетами Nexus 7). В некоторых случаях требуется скачать драйвер у производителя и только тогда всё заработает (например, Samsung S2).
Недавно столкнулся с третьим случаем — устройство Megafon Login+. Студия не видела устройство. Драйверов нет, служба поддержки оператора ответила, что их это не касается. Лучи поноса Мегафону.
На сайте 4PDA можно скачать драйвера для Login+, компьютер видит устройство, а студия по-прежнему не видит его. Пичалька.
Итак, вы установили режим «Отладка по USB» (меню «Для разработчиков»), установили драйвера для Android Composite ADB Interface (может называться несколько иначе). Диспетчер устройств ADB-интерфейс аппарата видит, но при вводе команды adb devices список подключенных устройств остаётся пуст.
Причин может быть несколько, но наиболее вероятная — компьютер не понимает, что за устройство к нему подключено. Довольно часто наблюдается при работе с различными китайскими брендами и «no-name» аппаратами. Решение проблемы простое и избавит Вас от многократных и бесполезных установок-переустановок различных версий драйверов. Нужно просто «познакомить» ваш гаджет с компьютером.
Надо узнать Vendor ID (VID) устройства. В диспетчере устройств щёлкаем два раза по Android Composite ADB Interface (может называться несколько иначе) и переходим на вкладку «Сведения».
Нас интересует, что находится между знаками «_» и «&» — это может четырёхзначное число. Запоминаем его, у меня это было 1271. Далее идём по пути C:\Users\Ваше имя пользователя\.android и открываем файл adb_usb.ini текстовым редактором. Вставляем строку с вашим VID в следующем виде (пример для Login+):
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE. 0x1271
Перезагружаем компьютер, запускаем студию, подключаем устройство — Вуаля — всё работает!
Имя adb не распознано как имя командлета
Platform-tools: r34.0.5
ADB: 1.0.41 (34.0.5-10900879)
Fastboot: 34.0.5-10900879
Make_f2fs (casefold): 1.16.0 (2023-04-11)
Mke2fs: 1.46.6 (1-Feb-2023)
Последнее обновление утилит в шапке: 06.11.2023
Что такое ADB?
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Распаковываем архив (рекомендуется распаковывать в корень диска или в другую папку, не содержащую русских букв и пробелов в пути). Например: C:\\adb
Настройки соединения, устройства. Драйверы.
Настраиваем телефон.
Для этого перейдите в: «Настройки» — «О телефоне» — 7 раз нажмите на номер сборки. В настройках для разработчиков активируйте отладку по USB.
При подключении USB-кабеля выбираем «Передача файлов».
Проверяем соединение на компьютере.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите — «cmd» (без кавычек) и нажмите Enter.
Проверьте доступность устройства и правильность установки драйверов. Для этого выполните adb или fastboot команду:
adb devices
fastboot devices
Если все хорошо, драйвера успешно установлены и телефон правильно подключен — вы увидите следующий ответ:
<серийный номер устройства>device
или
<серийный номер устройства>fastboot
серийный>
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Как использовать?
Так как adb/fastboot — консольные утилиты, работать с ними надо из командной строки.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите — «cmd» (без кавычек) и нажмите Enter.
Далее работаем посредством нужных вам команд.
Команды ADB
Скрытые команды 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
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.
Прошивка радио.
Переименовываем радио в radio.img и кладем его в папку ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash radio radio.img
fastboot reboot
Восстановление прошивки из бэкапа.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash userdata data.img
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot
Прошивка анимации при загрузке
Качаем бутанимацию. Переименовываем файл в bootanimation.zip и кладем его в папку ADB.
@echo off
adb remount
adb push bootanimation.zip /data/local
Получение SuperCID (Дебрендинг
@echo off
adb devices
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot oem writecid 11111111
fastboot reboot-bootloader
fastboot getvar cid
fastboot reboot
Прошивка рекавери.
Распаковываем образ рекавери. Переименовываем файл в recovery.img и кладем его в папку с ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash recovery recovery.img
fastboot reboot
Прошивка загрузочного раздела
Переименовываем кусок прошивки отвечающий за загрузку в boot.img и кладем его в папку ADB.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash boot boot.img
fastboot reboot
Команду 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 ]
Пример, который показывает сообщения в формате thread:
adb logcat -v thread
Нужно отметить, что можно использовать только один формат с параметром -v.
Просмотр альтернативного буфера лога
Система логов Android держит несколько кольцевых буферов для лога сообщений и не все сообщения отправляются в основной буфер. Для отображения дополнительных сообщений лога нужно запустить logcat с параметром -b.
Таким образом можно посмотреть один из альтернативных буферов:
radio Просмотр буфера с сообщениями связанными с радио/телефоном.
events Просмотр буфера с сообщениями связанными с событиями.
main Просмотр основного буфера (по умолчанию).
Пример ниже показывает буфер с радио и телефонными сообщениями:
adb logcat -b radio
Просмотр stdout и stderr
По умолчанию система Android шлет вывод stdout и stderr (System.out и System.err) в /dev/null (удаляет). В процессах, которые выполняются в виртуальной машине Dalvik (Dalvik VM) может осуществляться запись копии вывода в лог файл. В этом случае система записывает сообщения в лог используя тэги stdout и stderr с приоритетом I.
Для перенаправления вывода нужно остановить эмулятор/устройство, затем выполнить команду shell setprop для включения перенаправления вывода. Пример того как это делается:
$ adb shell stop
$ adb shell setprop log.redirect-stdio true
$ adb shell start
Система сохраняет эту настройку, пока работает эмулятор/устройство. Чтобы использовать эту настройку по умолчанию в эмуляторе/устройстве, нужно добавить эту команду в /data/local.prop в эмуляторе/устройстве.
Список параметров команды logcat
-b Загрузить альтернативный буфер лога для просмотра, такой как event или radio. Основной буфер используется по умолчанию.
-c Очистить (сбросить) лог и выйти.
-d Вывести лог на экран и выйти.
-f Записать сообщения лога в файл . По умолчанию в stdout.
-g Вывести размер указанного буфера лога и выйти.
-n Установить максимальное количество ротаций лога (количество хранимых сжатых фрагментов лога) . По умолчанию 4. Требует параметр -r.
-r Выполнять ротацию каждые вывода (разделять лог на фрагменты по ). По умолчанию 16. Требует параметр -f.
-s Устанавливает silent фильтром по умолчанию.
-v Устанавливает формат вывода сообщений лога. По умолчанию brief.
Полезные скрипты
ˇ
Скрипты на shell под Android
adb shell Команда посылается через shell
Пример: adb shell rm -r /system/sd/app Удаление приложений, установленных на карту памяти.
Пример: adb shell rm -r /system/sd/app-private Удаление приложений, установленных на карту памяти в раздел private.
Пример: adb shell cat /proc/mtd Выдаст информацию о разделах внутренней памяти девайса.
Выдаст что-то вроде:
dev: size erasesize name
mtd0: 000a0000 00020000 «misc»
mtd1: 00420000 00020000 «recovery»
mtd2: 002c0000 00020000 «boot»
mtd3: 0fa00000 00020000 «system»
mtd4: 02800000 00020000 «cache»
mtd5: 0af20000 00020000 «userdata»
Пример: adb shell df Выдаст информацию о свободных ресурсах в разделах памяти аппарата.
Выдаст что-то вроде:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 160664 0 160664 0% /dev
/dev/block/mtdblock4 40960 1292 39668 3% /cache
/dev/block/mtdblock3 256000 146888 109112 57% /system
/dev/block/mtdblock5 179328 125728 53600 70% /data
/dev/block/mmcblk0p1 15521280 10056880 5464400 65% /sdcard
Создаем в папке с ADB файл с расширением .cmd или .bat (проверяем что .cmd или .bat это расширение файла а не его имя) и пишем туда:
скопировать блок (задаем блок и выходящие имя)
adb shell su -c dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096
узнать какие блоки то в общем есть
adb shell cat /proc/partitions
Пример:
adb shell mount -o rw /dev/block/mtdblock3 /system
adb shell mount -o rw /dev/block/mtdblock5 /data
Монтировать разделы /system и /data в режиме ClockworkMod recovery.
разблокировать от графического ключа на блокировке (после команды ввести любой жест)
Установка platform-tools (adb и fastboot)
Инструменты «platform-tools», «adb» и «fastboot» необходимы для установки кастомного рекавери, рутирования телефонов на Android и т.п.
В данной статье речь пойдет об установке инструментов командной строки «Android SDK» на Windows 10 (также доступно для MacOS и Linux) для последующей установки кастомного рекавери и рутирования телефона Xiaomi Redmi 4A.
Сначала скачайте «sdk-tools» на компьютер и распакуйте в любую удобную для Вас папку. В папке «sdk-tools-windows-xxxxxxx» (xxxxxxx — цифры) перейдите в подпапку «tools\bin», затем удерживая клавишу «Shift» нажмите в свободном месте проводника Windows правой кнопкой мыши и выберите пункт контекстного меню «Открыть окно команд».
Чтобы скачать необходимые файлы, введите команду:
sdkmanager "platform-tools" "platforms;android-23"
Число 23 означает версию SDK и соответствует Android 6, так как на телефоне Xiaomi Redmi 4A установлена именно эта версия системы. Вы же укажите версию SDK, соответствующую версии Android на Вашем телефоне.
Если получите warning (предупреждение), что файл «repositories.cfg» не может быть загружен, создайте файл с таким же именем в папке, путь на которую указывает предупреждение.
Если все правильно сделано, будет отображено пользовательское соглашение. Согласитесь с ним, напечатав «y» и нажав «Enter». Подождите несколько минут, по окончании установки средств разработки Вы увидите сообщение об успехе «done».
Закройте командную строку и поднимитесь на два уровня выше в родительскую папку «sdk-tools-windows-xxxxxxx» (xxxxxxx — цифры), там Вы увидите, что добавлено две папки «platform-tools» и «platforms». Войдите в папку «platform-tools» и посмотрите, среди файлов должны быть «adb.exe» и «fastboot.exe».
Все, на этом установка «platform-tools» завершена. Откройте окно команд в данной папке (см. выше) и приступайте к прошивке кастомного рекавери или других задач.
Оцените статью: 4,67 из 5 (голосов: 3)