Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.
Описанные в статье команды можно выполнять непосредственно на устройстве, скачав из маркета эмулятор терминала, но удобнее это делать, конечно же, с компа через adb.
Содержание
- Основы работы с ADB
- INFO
- Установка программ
- Бэкап приложений
- Консоль в консоли
- Создание скриншота
- Запись видео, происходящего на экране устройства
- INFO
- Управление приложениями
- Знакомимся с ADB
- Скачать ADB
- Adb команды Android и Linux
- Выставление permission, прав файлам и директориям
- Жесткие и символические ссылки
- Установка ADB в Linux
- Подготовка смартфона
- Полезные команды ADB
- Выводы
- Как пользоваться?
Основы работы с ADB
Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).
Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.
Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:
Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.
Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):
С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:
Далее работа с ADB ничем не отличается.
INFO
Скопировать вывод консоли после выделения мышкой, а также вставить скопированную команду или имя файла в консоль можно правой кнопкой мыши. Включается в свойствах консоли.
Установка программ
ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:
В команду также можно добавить дополнительные ключи. Полезными будут -е — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.
Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:
Бэкап приложений
В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:
- -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
- -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
- -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
- -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
- -all указывает на необходимость бэкапа всех установленных приложений;
- -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
- <pack — перечень пакетов для бэкапа.
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:
После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:
Консоль в консоли
Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой
В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.
В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:
Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.
Создание скриншота
Выполняется одной строчкой:
После этого картинку нужно выдернуть из устройства командой adb pull:
В recovery скриншот можно сделать следующей командой:
Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:
Запись видео, происходящего на экране устройства
Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).
INFO
Все запущенные из консоли и в adb shell процессы, занимающие некоторое время для выполнения, можно прервать с помощью комбинации Ctrl + C. Выйти из шелла и вернуться к выполнению обычных команд adb — Ctrl + D.
Управление приложениями
Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.
Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
Большинство пользователей Android ничего не знают об ADB. Полное название — Android Debug Bridge, расшифровывается, как «Отладочный Мост Android». ADB является частью Android SDK. При помощи ADB можно выполнять различные действия над вашим Android планшетом или смартфоном, такие как: перепрошивку, копирование файлов с компьютера на Андроид и обратно, восстановление системы и другие.
Содержание — ADB команды для Android:
Самая распространенная команда adb. При помощи нее можно определить, видит ли ваш ПК подключенное устройство. Если вы всё сделали нормально, то появится такая строка: «List of devices attached». После нее вы увидите серийный номер вашего смартфона или планшета и его состояние: «online» либо «offline».
Если пишет «offline», это значит, что аппарат находится в спящем режиме, если «online», то девайс готов выполнять ваши команды.
Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:
adb intsall D:papka_s_faylomnazvanie_prilogeniya.apk
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:
adb intsall nazvanie_prilogeniya.apk
Вводить нужно аналогично предыдущей команде. При этом приложение удалится.
У этой команды есть интересная фишка. Если вы добавите ключ -k,то при удалении игры или программы их данные и кэш не удалятся, а останутся на Android устройстве.
Благодаря этой команде вы можете перекидывать файлы с компьютера на Android. Для этого вам нужно знать полный путь, где хранится файл и куда его перемещать.
adb push D:papka_s_faylomnazvanie_fayla/sdcard/Android
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:
adb push nazvanie_fayla/sdcard/Android
Эта команда копирует файлы с Android на компьютер. Вам нужно знать путь, где находится файл на смартфоне или планшете и указать место, где вы хотите сохранить файл. Если вы не укажете последнее, то файл сохранится в директории android-tools.
adb pull /sdcard/nazvanie_faylaD:papka_gde_sohranity
Эта команда перезагрузит ваш Android телефон или планшет.
Благодаря этой команде вы можете напрямую загрузиться в режиме bootloader.
Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.
При помощи этой команды можно подключить устройство к Wi-Fi сети. Для этого нужно знать ip адресс и порт устройства.
adb connect ip:port
При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.
Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:
adb shell
Если вы переведете ваш телефон или планшет под управлением Андроид в режим bootloader, то команды adb больше срабатывать не будут. Здесь нужно использовать команды fastboot.
Чтобы проверить, видят ли ПК и Android друг друга, используем команду:
fastboot devices
После её ввода должен появится серийный номер вашего аппарата.
При вводе этой команды можно разблокировать загрузчик телефонов и планшетов Asus и HTC. Когда ваше устройство находится в режиме bootloader, введите:
fastboot oem unlock
Также все ваши установленные программы и персональные данные будут потеряны.
При помощи этой команды можно вывести содержимое log файла: изменения, ошибки и т.д. Данные будут слишком быстро прокручиваться, поэтому верным решением будет сохранить их в один TXT-файл. Для этого введите:
adb logcat > filename.txt
Команда пригодится для владельцев устройств линейки Google Nexus. При помощи нее можно обновить прошивку девайса. Скачайте её на компьютер, подключите к нему Nexus, зайдите в режим Recovery, выберите пункт «Apply update from ADB» и после этого введите команду:
adb sideload name.zip
name.zip – это имя zip файла c прошивкой.
Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.
Знакомимся с ADB
ADB (android debug bridge) это — средство отладки, выявление ошибок в приложениях, разблокировки девайсов на ОС Android и многое другое. Официальную документацию на английском языке можете прочитать на данном сайте.
Скачать ADB
Скачать ADB можно с официальной ресурса Android.
Можно воспользоваться специальной программой Adb Run, облегчающая взаимодействие с ADB.
Также можете воспользоваться программой Android Терминал
Terminal Emulator for Android Developer: Jack Palevich Price: Free Позаботьтесь чтобы на ПК были установлены драйвера, а на Android включена отладка по USB.Adb команды Android и Linux
Команды Adb можно разделить 3 типа, непосредственно для команды Adb, FastBoot (подробно о Fasboot) и Linux команды (Android).
Подробно о каждой команде Adb
1. Проверка наличия подсоединенного Android или видит ли компьютер ваш смартфон или планшет
Чтобы убедиться, что все работает нормально и компьютер опознал Android необходимо ввести adb команду:
adb devices
Пример как использовать:
Если у вас не появилось похожее сообщение, то возможно, необходимо проверить, наличие драйверов на ПК, целостность кабеля, работоспособность порта USB.
2. Подключение Android по WI-FI
Для того чтобы подключить Android по WI-FI сети необходимо получить ip адрес и порт устройства, в этом вам поможет приложение ADB Wireless (необходим Root) которую можно скачать в Google Play:после этого ввести команду adb:
adb connect ip:port
Пример как использовать:
adb connect 192.168.0.14:5555
Более подробно о том как подключить Android через WI-FI — Отладка по USB по Wi-FI.
3. Установка приложений на Android
Для того чтобы установить какое либо приложение с компьютера на Android необходимо ввести команду:
adb install
Пример как использовать:
Для того чтобы с помощью команды Adb установить приложение необходимо. Написать:
adb intsall C:papka_gde_hranitsya_proga.apk
То есть написать команду adb install путь к приложению и название приложения.
4. Отправить какой либо файл на Android
Для того чтобы отправить с компьютера на Android любой файл существует следующая команда:
adb push
Пример как использовать:
Для того чтобы с помощью команды Adb отправить файл с ПК на Android необходимо написать adb команду:
adb push C:papka_gde_hranitsya_fileimja_file /sdcard
То есть написать adb команду путь к файлу, название файла и место где сохранить данный файл.
5. Принять файл c Android на ПК
Для того чтобы принять абсолютно любой файл с устройства Android на компьютер существует команда:
adb pull
Пример как использовать:
Для того чтобы с помощью команды Adb принять файл с Android девайса на ваш ПК необходимо написать:
adb pull /sdcard/xxx/Sex_s_Pameloy_Anderson.avi C:papka_gde_budet_hranitsya_file
То есть написать adb команду путь к файлу который находится на Android, название файла и место где сохранить данный файл на ПК.
6. Перезагрузка Android смартфона или планшета
Для того чтобы перезагрузить Android после каких либо выполненных операций, либо перезагрузить в специальный режим, существует команда:
adb reboot
Пример как использовать:
Команды перезагрузят Android в нормальный режим (обычная перезагрузка):
adb reboot
или
adb reboot normal
Команда перезагрузит Android в режим загрузки Bootloader:
adb reboot bootloader
Команда перезагрузит Android в режим Recovery:
adb reboot recovery
7. Перейти в управление Android, после чего можно использовать linux команды ОС Android
Весь потенциал Android раскрывается после того когда вы переходите в управление Android где доступны многие команды linux. Для этого существует команда:
adb shell
Команды в терминале Android ( Linux команды)
1. Команда стать суперпольвателем
Суперпользователь или Root. Позволяет выполнять абсолютно все действия, от создания, модифицирования, изменения, до удаления конкретных системных файлов: Для этого введите команду:su
До ввода команды: su
пользователь является Гостем в системе (многие действия заблокированы) и обозначается в начале терминала знаком доллар: $
после ввода команды: su
становится Админом и в терминале обозначается как американский номер: #
Пример как использовать:
2. Команда перейти в папку (в дальнейшем и правильней будет называть каталог вместо папки)
Для того чтобы перемещаться между разделам и каталогами в Android, существует специальная команда:
cd
Пример как использовать:
Чтобы перейти с раздела /sdcard в раздел /sdcard/xxx/porno/hot_girl
cd /sdcard/xxx/porno/hot_girl
Для того чтобы вернуться с раздела на каталог выше, либо обратно в /sdcard: если находимся в каталоге /sdcard/xxx/porno/hot_girl — hot_girl
cd ..
окажемся в каталоге:
/sdcard/xxx/porno/
если необходимо подняться в /sdcard то:
cd ../ ../ (столько раз сколько это необходимо)
Внимание в Android и других Unix системах файлы Primer и primer или PrimER абсолютно разные файлы
3. Переместить / Переименовать файл либо каталог
Перемещение и переименование файла, каталога осуществляется c только одной командой:
mv
Пример Переименовать файл:
mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/hot_porno/kruto.avi
Пример Переименовать папку:
mv -r /sdcard/xxx/hot_porno /sdcard/xxx/super
Пример как Переместить файл:
mv /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi
Пример как Переместить папку:
mv -r /sdcard/xxx/hot_porno /sdcard/hot_porno
4. Просмотреть что есть внутри каталога
Для того чтобы узнать какие каталоги и файлы содержаться от места где вы находитесь используют следующую linux команду:
ls
Пример как использовать:
ls /sdcard/xxx/hot_porno/
вы получите в окне следующее сообщение:
Alenka.avi
Pamela.avi
Anderson.avi
Если необходимо увидеть скрытые файлы в папке:
ls -a
Пример как использовать:
ls -a /sdcard/xxx/hot_porno/
выдаст следующие сообщение:
.Skruty_file_Hot.avi
Alenka.avi
Pamela Anderson.avi
Skrutiy_File.avi
5. Копировать файл или папку (каталог)
Для того чтобы скопировать какой либо файл или папку и переместить куда либо:
cp
Пример Скопировать файл:
cp /sdcard/xxx/hot_porno/Alenka.avi /sdcard/xxx/Alenka.avi
Пример Скопировать папку:
cp -r /sdcard/xxx/hot_porno /sdcard/hot_porno
6. Подсоединить раздел (примонтировать) и отсоединить
Для того чтобы узнать какие разделы существуют в Android, подключить или отключить:
mount (подключить раздел) и umont (отсоединить раздел)
Узнать какие разделы примонтированы в данный момент, введите:
mount
Для того чтобы присоединить раздел:
mount /dev/block/mmcc121
или mount /systcode
Для того чтобы отсоединить раздел:
umount /dev/block/mmcc121
или umount /systcode
7. Создать каталог (папку)
Для того чтобы создать где либо папку используйте команду:
mkdir
Пример как использовать:
mkdir /sdcrad/android_papka
8. Удалить каталог (папку) или файл
Если необходимо удалить какой либо файл или папку linux команда:
rm
Пример как удалить файл:
rm /sdcard/xxx/hot_porno/Alenka.avi
Пример как удалить папку:
rm - r /sdcard/xxx/hot_porno
9. Вывести содержимое файла на экран (прочитать)
Если перед вами стоит задача вывести на экран содержимое текстового файла:
cat
Пример как использовать:
cat /sdcard/books/Толстой_книга_война_и_мир.txt
и получим:
— Еh bien, mon prince. Genes et Lucques ne sont plus que des apanages, des поместья, de la famille Buonaparte. Non, je vous previens, que si vous ne me dites pas, que nous avons la guerre, si vous vous permettez encore de pallier toutes les infamies, toutes les atrocodes de cet Antichrist (ma parole, j`y crois) — je ne vous connais plus, vous n`etes plus mon ami, vous n`etes plus мой верный раб, comme vous dites.
10. Вывести содержимое файла на экран (прочитать в обратном порядке)
Если перед вами стоит задача вывести на экран содержимое текстового файла, но с конца в начало:
tac
11. Показать полный путь
Для того чтобы понять в каком разделе и каталоге находитесь:
pwd
Пример как использовать:
Если находимся в каком либо каталоге и надо узнать полный путь (например находимся в системном разделе, каталог app):
pwd
выдаст сообщение:
/system/app/
12. Создать пустой файл
Для того чтобы создать текстовый файл:
touch
Пример как использовать:
Создадим файл 666.txt в каталоге /sdcard:
touch /sdcard/666.txt
13. Создание Резервной копии с раздела и восстановление
dd if
Пример как использовать:
Создания Резервной копии на Sd карту
dd if=dev/block/mmcblk0p1 of=sdcard/efs.img
Пример как использовать:
Восстановления раздела с резервной копии с Sd карты
dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1
14. Просмотр занимаемого места
Для того чтобы понять сколько занимает что либо:
du
Пример как использовать:
du systcode
Выставление permission, прав файлам и директориям
Чтобы узнать какие права у файлов и директорий нужно написать такую команду
ls -n
Права Доступа (permission)
И так мы знаем, что существуют пользователи, группы. Теперь поговорим о правах доступа. Для чего этого необходимо? Например у вас есть директория в которой находятся личные файлы. Чтобы вы, владелец, например могли редактировать, просматривать файлы, группа, только видеть данные, файлы, а остальные пользователи которые не входят ни в одну из групп и не являются владельцами, вообще не могли ничего сделать, вот поэтому и необходимы права доступа.
Права на файл могут обозначаться цифрами и буквами:
Цифрами | Буквами | |
Чтение | 4 | r |
Запись | 2 | w |
Выполнение | 1 | x |
— |
Значения прав в цифрах суммируются:
- полные права (rwx) 7 = 4 + 2 +1
- чтение и запись (rw-) 6 = 4 + 2 + 0
- чтение и выполнение (r-x) 5 = 4 + 0 + 1
- только чтение 4 (r—) = 4 + 0 + 0
- только запись 2 (-w-) = 0 + 2 + 0
Для каждого файла и директории назначаются отдельно права для владельца, группы и остальных пользователей.
Владелец | Группа | Остальные | ||
u | g | o | ||
права доступа буквы | права доступа цифры | |||
rwxrwxrwx | 777 | читают, записывают, выполняют все | ||
rwxr-xr-x | 755 | читает, записывает, выполняет | читать и запускать | |
rw-r—r— | 644 | чтение и запись | только четние | |
r——— | 400 | читает только владец | — | — |
Изменять права доступа на файл или директорию командой chmod
можно как числами, так буквами.
Назначение прав доступа цифрами
Для того чтобы изменить права файлу или директорию командой chmod
используя цифры введите команду:
sudo chmod 755 text.txt
Для директорий необходимо после chmod
добавить ключ -R
.
Назначение прав доступа буквами
Для новичков изменять права доступа букавами будет слегка сложней, но данные знания пригодятся.
Как вы знаете что есть владелец, группа, остальные пользователи, они обозначаются следующим образом:
u | user | Владелец |
g | group | Пользователи, входящие в группу |
o | others | Остальные пользователи |
a | all | Все пользователи |
Права доступа можно назначать, убирать или присваивать:
+ | добавить права |
— | удалить права |
= | установить права |
Установить права на файл «rwxr-xr-x» (755):
sudo chmod u=rwx,g=rx,o=rx text.txt
Добавить права на выполнение владельцу, удалить выполнение для группы, удалить запись и выполнение для остальных:
sudo chmod u+x,g-x,o-wx text.txt
Добавить возможность всем (пользователь, группа. остальных) читать:
sudo chmod a+r text.txt
Для изменения прав доступ директориям необходимо использовать ключ -R:
sudo chmod -R a+r imya_papki
Жесткие и символические ссылки
В Linux в том числе Android существует такое понятие как ссылки — что на нормальном привычном языке звучит «ярлык». Бывают два типа ссылок это:
- Жесткие ссылки
- Символические ссылки или симлинки
В чем различия жестких и символических ссылок?
Жесткие ссылки — создают точную копию или текущий снимок файла или папки. Это очень похоже на копирование, но это все же не копирование.
Символические ссылки — создают ярлык которые указывают точное место файла или папки куда ярлык ссылается. Если файл или папку переместить, символическая ссылка будет битая. Чтобы наглядно понять что такое символическая ссылка — в Windows XP или Windows 7 есть ярлыки программ на рабочем столе, которые ссылаются в папку с программой, а точней exe-шник.
Как создать жесткие и символические ссылки
Жесткие ссылки можно создать командой:
ln
Жесткие ссылки можно создать командой:
ln -s
Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.
Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.
Установка ADB в Linux
Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:
Для Red Hat, CentOS команда будет немного отличаться:
Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.
Подготовка смартфона
Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в «Настройки» -> «О телефоне» и семь раз нажмите на пункте «Номер сборки»:
Затем в главном меню настроек появится пункт «Для разработчиков»:
Тут необходимо поставить галочку напротив раздела «Разрешить отладку по USB»:
Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.
Полезные команды ADB
Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:
После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:
Теперь можно выполнять adb команды для android.
Список устройств
Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:
Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:
Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:
Тогда все команды adb будут применяться к устройству, указанному в этой переменной.
Состояние устройства
С помощью команды get-state вы можете узнать состояние устройства:
Команда вернет одно из значений: device — работает, bootloader — загружается, offline — выключено. С помощью команды status-window можно постоянно отслеживать состояние:
Просмотр журналов
Самое частое действие, которое приходится делать разработчикам и тестировщикам мобильных приложений в поиске ошибок — это просмотр журналов системы и приложений. Для этого применяется команда logcat:
Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:
С помощью опции -c можно очистить все логи на устройстве:
Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:
С помощью опции —log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:
Или выведем только ошибки для всей системы целиком:
Передача файлов на устройство
Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:
$ adb push/адрес/локального/файла /адрес/удаленного/файла
Например, загрузим файл из домашней папки на устройство:
Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.
Загрузка файла с устройства
Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:
$ adb push/адрес/удаленного/файла /адрес/локального/файла
Например, скопируем отправленный файл обратно:
Установка приложений
С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:
После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:
Еще доступны опции -s — для установки на флешку и -d — для понижения версии программы.
Удаление приложений
Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:
Резервное копирование
Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:
$ adb backup опциипакеты
Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:
- -apk — сохранять apk файлы для программ, по умолчанию отключено;
- -obb — сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
- -shared — сохранять данные приложений из SD карты или памяти телефона, отключено;
- -all — сохранить все установленные приложения;
- -system — сохранить системные приложения, эти приложения уже входят в список all.
Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:
С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:
Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:
Перезагрузка устройства
В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:
Можно загрузиться в режим recovery:
Или в режим настройки загрузчика:
Консоль Android
С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:
Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:
Например, с помощью такой команды вы можете сделать снимок экрана:
А так можно снять экран смартфона на видео:
Выводы
В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell — это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.
Что это такое?
ADB — Это Android Debug Bridge, что переводиться как «отладочный андроид мост». Служит он, как уже ясно из названия, для отладки андроида или отдельных приложений. С его помощью можно делать все действия, которые может делать пользователь и даже больше, однако для «больше» нужен ROOT доступ.
Чаще всего, ADB используется для прошивки или изменения каких то настроек, скрытых файлов и тд. Так-же можно просматривать логи прямо в реал-тайме (для этого есть спец. программы, которые куда удобнее командной строки), устанавливать программы, менять настройки и все в таком духе.
Я например использую подключение для тестирования своих андроид проектов. Нажимаешь кнопку «Build and run» и программа или игра собирается в пакет, отправляется на телефон и устанавливается, после чего еще и запускается. Удобно. Именно о таком способе использования и пойдет речь сегодня.
Как включить ADB?
Для того что-бы включить ADB на вашем устройстве на базе андроида, необходимо выполнить несложный ряд действий.
- Зайти в настройки -> О телефоне
- Нажимать на «Номер сборки», пока не появиться сообщение «вы стали разработчиком».
- Выйти в меню настроек и найти новый пункт «Для разработчиков»
- Включить пункт «отладка по USB»
По сути, это все, для включения ADB. Но для работы еще необходимы драйвера. Скачать универсальные можнотут. Но лучше поискать именно для своего устройства, так-как работать может не корректно.
Конечно, для работы нужна сама программа ADB для пк. Точнее это архив с несколькими утилитами. Вот ссылка на официальную страницу от Google. ссылка. На странице есть ссылка на архив для windows, mac, linux. Жмем «Download SDK Platform-Tools for Windows» или другую платформу. Распаковываем архив в C:/adb для удобства.
Как пользоваться?
Пользоваться можно через командную строку или UI интерфейс. Через командную строку делается это так:
- Пуск -> выполнить или WIN+R
- Пишем команду «CMD«
- Переходим в папку с ADB с помощью команды «CD C:/adb»
Далее пишем команды которые необходимы. Например, проверим, подключился ли телефон по мосту.
Пишем «adb devices». В консоли пробегут строчки о запуске сервера и выдастся список подключенных девайсов
c:adb>adb devices List of devices attached * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 1d886e2 device
Последняя строчка означает, что телефон подключен. Отлично!
Теперь можно вводить любые доступные команды, список которых можно посмотреть тут.
Консольки, это конечно хорошо, но давайте разберем конкретный пример.
Предположим, вы разрабатываете игру на Unity. Вам необходимо ее проверить на телефоне. Что для этого нужно? Просто подключите телефон к пк, а в Unity в окне Build выберете устройство из списка. Далее жмем кнопку «Build and run» и ждем. Готово.
Как использовать ADB по WIFI?
Да, да, вам не показалось, полный контроль можно получить и без проводов и да, это опасно. Однако, подключиться к телефону можно только если разрешить это делать.
- Во-первых нужно в меню разработчика включить эту функцию (есть не на всех устройствах).
- Во-вторых она выключается при перезагрузке.
- И в-третьих при первом подключении с неизвестного устройства вылезет запрос на подтверждение, можно ли подключиться.
Однако, не все так просто. Что-бы все заработало, кабель все же понадобиться.
- Подключаем девайс по USB
- Открываем консоль и переходим в папку ADB, как уже делали выше.
- Убеждаемся что девайс и комп в одной
Wi-Fi
сети. - Пишем
adb tcpip 5555
- Пишем
adb connect IP_ДЕВАЙСА
. Адрес можно подсмотреть в настройках wifi вашей сети.
Обычно после этого достаточно выполнять только пункт 5. После этого ADB должен работать без проводов. Пользоваться им точно так же как и по проводу.
- https://xakep.ru/2016/05/12/android-adb/
- https://upgrade-android.ru/stati/stati/4701-adb-komandy-dlya-android.html
- https://androidp1.ru/adb-komandyi-android-terimnale/
- https://losst.ru/komandy-adb-dlya-android-polzovatelej
- https://you-hands.ru/2019/11/08/kak-vklyuchit-i-polzovatsya-adb/