Adb установка приложений. Программа adb отобразит список устройств, подключенных в настоящий момент к компьютеру

ADB, или Android Debug Bridge – это консольное приложение для ПК, с помощью которого можно управлять устройством на базе Android прямо с компьютера. Выглядит это так: сначала на компьютер устанавливаются инструментарий ADB и драйвера для Android, потом мобильное устройство подключается к ПК через USB-кабель в режиме отладки, и, наконец, после запуска ADB в консоли (командной строке) выполняются специальные команды, инициирующие те или действия с гаджетом. Подробная информация о принципе работы самого средства отладки представлена на официальном сайте разработчика, поэтому мы останавливаться на этом не будем, а сразу перейдем к возможностям ADB и способам его установки на компьютер.

Что позволяет делать ADB?

Для начала укажем зачем вообще нужен ADB. С его помощью можно:

  • Перезагружать устройство в различных режимах;
  • Обмениваться файлами/папками с телефоном;
  • Устанавливать/удалять приложения;
  • Устанавливать кастомные прошивки (в том числе, TWRP Recovery);
  • Производить ;
  • Выполнять разного рода скрипты.

Инструмент ADB обычно устанавливается в связке с консольным приложением Fastboot.

Установка ADB и Fastboot из пакета Android SDK

Этот способ предусматривает использование официального средства разработки и тестирования приложений Android Studio. Переходим на страницу https://developer.android.com/studio/index.html и находим заголовок «Get just the command line tools». Ниже скачиваем архив SDK tools для Windows (перед загрузкой соглашаемся с условиями использования).

Распаковываем архив на диск С. В нашем случае файлы были извлечены в папку sdk-tools-windows-3859397 .

Заходим в директорию, а потом переходим в каталог tools/bin . Здесь нас интересует файл sdkmanager , который и поможет установить ADB и Fastboot на компьютер.

Теперь необходимо открыть папку с sdkmanager, для чего в консоли следует выполнить команду cd C:\sdk-tools-windows-3859397\tools\bin , где C:\sdk-tools-windows-3859397\tools\bin – путь к файлу sdkmanager.

Если вы распаковали Android SDK не на диск С, а в какое-то иное место, то полный адрес можно будет узнать с помощью верхней строки Проводника (кликаем по конечной папке правой кнопкой мыши и жмем «Копировать адрес»).

Итак, мы перешли в tools\bin и теперь нам нужно выполнить команду sdkmanager «platform-tools» , которая установит пакет Platform-tools, содержащий файлы ADB и Fastboot.

В ходе установки ознакомьтесь с лицензионным соглашением и нажмите Y для завершения операции.

Если все прошло как надо, в корневой папке Android SDK появится каталог platform-tools с необходимыми файлами adb.exe и fastboot.exe .

Minimal ADB and Fastboot

Второй способ еще более простой. На форуме разработчиков Xda Developers можно скачать пакет Minimal ADB and Fastboot со всеми необходимыми файлами. Для этого заходим на страницу https://forum.xda-developers.com/showthread.php?t=2317790 и, кликнув по ссылке, загружаем установочный exe-файл.

Запускаем его и следуем инструкциям.

Мы установили Minimal ADB and Fastboot в корень того же диска С.

В принципе, на этом все. Осталось проверить наличие файлов.

Проверка работы ADB и Fastboot

После установки приложений любым из приведенных способов необходимо удостовериться в корректности работы утилит. Для этого через командную строку заходим в папку с файлами adb и fastboot (команда cd C:\sdk-tools-windows-3859397\platform-tools или cd C:\Minimal ADB and Fastboot ), а затем выполняем команду adb help . Она должна вывести версию установленного Android Debug Bridge и список команд ADB. Если вы видите примерно то же, что изображено на приведенном ниже скриншоте, значит все работает правильно.

Теперь следует подключить к ПК мобильное устройство и проверить, увидит ли его приложение ADB. Подсоединяем телефон (или планшет) к компьютеру с помощью USB-кабеля, выставляем в настройках режим подключения MTP (обмен файлами) и заходим в раздел Настройки – Для разработчиков .

Если такого пункта в настройках нет, то переходим на страницу «О телефоне» и семь раз кликаем по строке с номером сборки.

Режим разработчика будет активирован, и раздел «Для разработчиков» станет доступным. Заходим в него и включаем опцию «Отладка по USB».

После всех этих манипуляций с гаджетом в командной строке Windows вводим команду adb devices . Она выведет информацию о подключенном устройстве примерно в таком формате, как на скриншоте.

Таким образом, мы протестировали ADB и Fastboot и убедились, что Android Debug Bridge нормально функционирует, а, значит, теперь можно управлять телефоном через компьютер.

Если связь с устройством наладить не получается, то необходимо проверить наличие и корректность установки драйверов Андроид. Для этого при включенном режиме отладки заходим в «Диспетчер устройств» и смотрим, нет ли восклицательных знаков в ветке «Устройства USB» пункт «ADB Interface» (может называться немного по-другому).

При обнаружении неполадок пробуем переустановить драйвера. Скачать их можно на сайте производителя телефона или по адресу https://adb.clockworkmod.com/ .

Надеемся, что статья была для вас полезна.

В данной статье вы узнаете что такое ADB для чего он нужен пользователям, а также как управлять им с помощью команд в Android терминале. Ну что же начнем изучать adb команды android…

Знакомимся с ADB

ADB (android debug bridge) это — средство отладки, выявление ошибок в приложениях, разблокировки девайсов на ОС Android и многое другое. Официальную документацию на английском языке можете прочитать на данном сайте .

Скачать ADB

Скачать ADB можно с официальной .

Можно воспользоваться специальной программой Adb Run , облегчающая взаимодействие с ADB.

Также можете воспользоваться программой Android Терминал


Позаботьтесь чтобы на ПК были установлены драйвера , а на Android включена отладка по USB .

Adb команды Android и Linux

Команды Adb можно разделить 3 типа, непосредственно для команды Adb, FastBoot () и Linux команды (Android).

Подробно о каждой команде Adb

1. Проверка наличия подсоединенного Android или видит ли компьютер ваш смартфон или планшет

Чтобы убедиться, что все работает нормально и компьютер опознал Android необходимо ввести adb команду:

Пример как использовать:

на данном скрине видно что Android подсоединен

Если у вас не появилось похожее сообщение, то возможно, необходимо проверить, наличие драйверов на ПК, целостность кабеля, работоспособность порта 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 установить приложение необходимо. Написать:

adb intsall C:\papka_gde_hranitsya_proga.apk

То есть написать команду adb install путь к приложению и название приложения.

4. Отправить какой либо файл на Android

Для того чтобы отправить с компьютера на Android любой файл существует следующая команда:

adb push

Пример как использовать:

Для того чтобы с помощью команды Adb отправить файл с ПК на Android необходимо написать adb команду:

adb push C:\papka_gde_hranitsya_file\imja_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, название файла и место где сохранить данный файл на ПК.

Для того чтобы перезагрузить Android после каких либо выполненных операций, либо перезагрузить в специальный режим, существует команда:

adb reboot

Пример как использовать:

Команды перезагрузят Android в нормальный режим (обычная перезагрузка):

adb reboot или adb reboot normal

загрузки Bootloader :

adb reboot bootloader

Команда перезагрузит Android в режим Recovery :

adb reboot recovery

7. Перейти в управление Android , после чего можно использовать linux команды ОС Android

Весь потенциал Android раскрывается после того когда вы переходите в управление Android где доступны многие команды linux. Для этого существует команда:

adb shell

Команды в терминале Android (Linux команды)

Суперпользователь или Root. Позволяет выполнять абсолютно все действия, от создания, модифицирования, изменения, до удаления конкретных системных файлов: Для этого введите команду: su

До ввода команды: su пользователь является Гостем в системе (многие действия заблокированы) и обозначается в начале терминала знаком доллар: $ после ввода команды: su становится Админом и в терминале обозначается как американский номер: #
Пример как использовать:

2. Команда перейти в папку (в дальнейшем и правильней будет называть каталог вместо папки)

Для того чтобы перемещаться между разделам и каталогами в Android, существует специальная команда:

Пример как использовать:

Чтобы перейти с раздела /sdcard в раздел /sdcard/xxx/porno/hot_girl

cd /sdcard/xxx/porno/hot_girl

Для того чтобы вернуться с раздела на каталог выше, либо обратно в /sdcard:
если находимся в каталоге /sdcard/xxx/porno/hot_girl — hot_girl

окажемся в каталоге:

/sdcard/xxx/porno/

если необходимо подняться в /sdcard то:

cd ../ ../ (столько раз сколько это необходимо)

Внимание в Android и других Unix системах файлы Primer и primer или PrimER абсолютно разные файлы

3. Переместить / Переименовать файл либо каталог

Перемещение и переименование файла, каталога осуществляется c только одной командой:

Пример Переименовать файл:

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 /sdcard/xxx/hot_porno/

вы получите в окне следующее сообщение:

Alenka.avi

Pamela.avi

Anderson.avi

Пример как использовать:

ls -a /sdcard/xxx/hot_porno/

выдаст следующие сообщение:

.Skruty_file_Hot.avi

Pamela Anderson.avi

Skrutiy_File.avi

5. Копировать файл или папку (каталог)

Для того чтобы скопировать какой либо файл или папку и переместить куда либо:

Пример Скопировать файл:

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 /dev/block/mmcc121

или mount /systcode

Для того чтобы отсоединить раздел:

umount /dev/block/mmcc121

или umount /systcode

7. Создать каталог (папку)

Для того чтобы создать где либо папку используйте команду:

Пример как использовать:

mkdir /sdcrad/android_papka

8. Удалить каталог (папку) или файл

Если необходимо удалить какой либо файл или папку linux команда:

Пример как удалить файл:

rm /sdcard/xxx/hot_porno/Alenka.avi

Пример как удалить папку:

rm - r /sdcard/xxx/hot_porno

9. Вывести содержимое файла на экран (прочитать)

Если перед вами стоит задача вывести на экран содержимое текстового файла:

Пример как использовать:

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. Вывести содержимое файла на экран (прочитать в обратном порядке)

Если перед вами стоит задача вывести на экран содержимое текстового файла, но с конца в начало:

11. Показать полный путь

Для того чтобы понять в каком разделе и каталоге находитесь:

Пример как использовать:

Если находимся в каком либо каталоге и надо узнать полный путь (например находимся в системном разделе, каталог app):

выдаст сообщение:

/system/app/

12. Создать пустой файл

Для того чтобы создать текстовый файл:

Пример как использовать:

Создадим файл 666.txt в каталоге /sdcard:

touch /sdcard/666.txt

13. Создание Резервной копии с раздела и восстановление

Пример как использовать:

Создания Резервной копии на Sd карту

dd if=dev/block/mmcblk0p1 of=sdcard/efs.img

Пример как использовать:

Восстановления раздела с резервной копии с Sd карты

dd if=/sdcard/efs.img of=/dev/block/mmcblk0p1

14. Просмотр занимаемого места

Для того чтобы понять сколько занимает что либо:

Пример как использовать:

Выставление permission, прав файлам и директориям

Чтобы узнать какие права у файлов и директорий нужно написать такую команду

Права Доступа (permission)

И так мы знаем, что существуют пользователи, группы. Теперь поговорим о правах доступа. Для чего этого необходимо? Например у вас есть директория в которой находятся личные файлы. Чтобы вы, владелец , например могли редактировать, просматривать файлы, группа , только видеть данные, файлы, а остальные пользователи которые не входят ни в одну из групп и не являются владельцами, вообще не могли ничего сделать, вот поэтому и необходимы права доступа.

Права на файл могут обозначаться цифрами и буквами:

Значения прав в цифрах суммируются:

  • полные права (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
  • права отсутствуют (—) 0 = 0 + 0 + 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 .

Назначение прав доступа буквами

Для новичков изменять права доступа букавами будет слегка сложней, но данные знания пригодятся.

Как вы знаете что есть владелец, группа, остальные пользователи, они обозначаются следующим образом:

В Linux в том числе Android существует такое понятие как ссылки — что на нормальном привычном языке звучит «ярлык». Бывают два типа ссылок это:

  • Жесткие ссылки
  • Символические ссылки или симлинки

В чем различия жестких и символических ссылок?

Символические ссылки — создают ярлык которые указывают точное место файла или папки куда ярлык ссылается. Если файл или папку переместить, символическая ссылка будет битая. Чтобы наглядно понять что такое символическая ссылка — в Windows XP или Windows 7 есть ярлыки программ на рабочем столе, которые ссылаются в папку с программой, а точней exe-шник.

u user Владелец
g group

Пользователи, входящие в группу

o others

ADB (Android Debug Bridge) — это драйвер для смартфонов и планшетов, который связывает устройство с компьютером и дает возможность управлять его работой посредством командной строки.

Как установить ADB драйвер?

На большинстве устройств с процессором MediaTek ADB драйвера устанавливаются в автоматическом режиме. Для этого качаем архив , распаковываем его на компьютер и запускаем файл Install.bat.

Если после установки драйверов и подключения выключенного смартфона к ПК в Диспетчере устройств рядом с названием горит желтая лампочка, делаем следующее:

  1. Заходим на компьютер с аккаунта, который владеет правами администратора.
  2. Нажимаем сочетание клавиш - Windows+R (кнопка Windows находиться между левыми Ctrl и Alt).
  3. В открывшемся окне пишем mmc devmgmt.msc (или devmgmt.msc ), чтобы вызвать диспетчер устройств.
  4. На смартфоне в меню «Настройки/Для разработчиков » включаем «Отладку по USB «.
  5. Вытаскиваем из смартфона аккумулятор, а потом возвращаем его обратно (не включая устройство). Если аккумулятор не снимается просто выключаем смартфон.
  6. Подключаем смартфон к компьютеру при помощи USB-кабеля.
  7. Диспетчере устройств . Если появляется устройство с желтым треугольником в разделе ««, то не отключая смартфон устанавливаем на компьютер .

Если устройство появилось в разделе com-портов или в неизвестных устройствах с названием «MT65xx Preloader » либо «MTK usb port » или «DA USB VCOM «, нужно провести ручную установку.

Ручная установка ADB драйверов

Чтобы установить adb драйвера для смартфона в ручном режиме понадобится компьютер, USB кабель и несколько минут времени.

  1. Качаем и распаковываем на компьютер папку с ADB драйверами .
  2. Выполняем пункты 1-5 , которые описаны выше.
  3. Нажимаем правой кнопкой мыши на появившемся новом устройстве в Диспетчере устройств . В появившемся меню выбираем Обновить драйверы.
  4. Заходим в распакованную ранее папку. В ней переходим в подкаталог Win7 и приступаем к установке. Для 32 -битных операционных систем выбираем файл usb2ser_Win7.inf , для 64 -битных usb2ser_Win764.inf.
  5. Следуем инструкциям.
  6. Драйвера установлены!

На Windows8, 8.1 и 10 драйвера ставятся с отключенной проверкой подписи.

Отключение проверки подписи драйверов в Windows

Отключение проверки подписи на Windows 8 :

  1. Win+I -> Изменение параметров компьютера -> Общие -> Особые варианты загрузки -> Перезагрузить сейчас.
  2. При выключении нажмите Диагностика -> Дополнительные параметры -> Параметры загрузки -> Перезагрузить.
  3. После появится меню, в нем выберите «Отключить обязательную проверку подписи драйверов.

Отключение проверки подписи на Windows 8.1:

  1. Win+I -> Параметры -> Изменение параметров компьютера -> Обновление и восстановление -> Восстановление -> Перезагрузить сейчас.
  2. При выключении нажмите Диагностика -> Дополнительные параметры -> Параметры загрузки -> Перезагрузить.
  3. После появится меню, нажимаете F7 и ждете перезагрузку компьютера.
  4. Далее делается установка драйверов по инструкции.

Отключение проверки подписи на Windows 10:

  1. Зажимаем клавиши Windows и shift, и удерживаем их.
  2. Далее Пуск -> Завершение работы -> Перезагрузка
  3. Отпускаем клавиши Windows и shift, и выбираем пункт «Диагностика»
  4. На следующей странице выбираем «Дополнительные параметры»
  5. Далее идём в «Параметры загрузки»
  6. Просто жмём «Перезагрузить» и ждём, когда система загрузится до следующего шага.
  7. После перезапуска мы окажемся на странице выбора параметра загрузки системы. Нажимаем клавишу F7.
  8. Компьютер перезагрузится и отключит проверку подписи драйверов.
  9. Далее делается установка драйверов по инструкции.

Если вы указываете устройству путь к файлу драйвера, но диспетчер устройств твердит, что с драйверами все отлично и не хочет их обновлять, а устройство появляется в разделе «Android Composite ABD Interface » со значком желтого треугольника, то нужно сделать правку в файле android_winusb.inf, который находится в папке MTK_Android_USB_Driver со скачанного в «Пункте 1 » архива. В нем нам нужно прописать PID\VID , которые ми предварительно узнаем со своего компьютера. Кликаем правой кнопкой мыши на устройстве с желтым треугольником/Cвойства /ID устройства . Там будет 2 строки. Вот эти строки нам нужно скопировать в файл с драйверами . Затем повторно указываем путь к этому драйверу.

android_winusb.inf — в этом файле делать изменения.

%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01&REV_0255
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01&REV_0255

VID\PID может меняться, ставимо свои значения.

Перечень команд Android Debug Bridge
adb shell cat /proc/partitions

Выводит на экран информацию по имеющимся блокам.

Adb shell su -c dd if=/dev/block/mmcblk0p9 of=/sdcard/factoryfs.img bs=4096

Выполняет копирование блока. Задавать необходимо сам блок и выходящее имя.

Adb shell rm /data/system/gesture.key

Разблокирует от графического ключа при блокировке Android-девайса. После введения команды можно ввести любой жест.

Команда будет послана только на устройство, которое подключено к компьютеру через USB. Если подключено больше одного устройство, выдаст ошибку.

Команда будет послана на устройство, запущенное в эмуляторе. Выдаст ошибку, если одновременно запущено больше одного эмулятора.

Adb -s <серийный номер >

Команда будет послана на устройство с указанным серийным номером.

Adb -p <имя устройства/путь к нему>

Команда будет послана на девайс с указанным именем. Примечание: если не указывать ключ –p, то используется значение переменной ANDROID_PRODUCT_OUT.

Выводит на экран список всех подключенных к компьютеру устройств.

Adb connect <хост>(:<порт>)

Производит подключение к указанному хосту посредством протокола TCP/IP. Порт можно не указывать, тогда будет использован порт по умолчанию – 5555.

Adb disconnect <хост>(:<порт>)

Производит отключение от указанного хоста, подключенного посредством протокола TCP/IP. Порт можно не указывать, тогда будет использован порт по умолчанию –5555. Если не задать ни один из параметров, то будет произведено отключение от всех активных в текущий момент соединений.

Adb push <путь на ПК> <путь на Android-девайсе>

Производит копирование файла или папки с компьютера на Android-устройство.

Adb pull <путь на Android-девайсе> <путь на ПК>

Производит копирование файла или папки с Android-устройства на компьютер. Если не задан второй параметр, то копирование производится в папку ADB.

Adb sync [<папка>]

Производит копирование на компьютер только новых файлов. Если ввести ключ –l, то копирование производится не будет, будет создан только список новых файлов.

Запускает несколько упрощенный UNIX Shell.

Adb shell <команда из shell>

Выполнение команды посредством Shell. Например:

Adb shell rm -r /system/sd/app

Удаление приложений, которые были установлены на карту памяти.

Adb shell rm -r /system/sd/app-private

Удаление приложений, которые были установлены на карту памяти в раздел app-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»

Вывод информации о свободных ресурсах в памяти устройства, в подобном виде:

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 emu <указание команды>

Команда будет послана в консоль запущенного эмулятора, например:

Adb shell mount -o rw /dev/block/mtdblock3 /system

Adb shell mount -o rw /dev/block/mtdblock5 /data

Выполняется монтирование разделов /system и /data с использованием режима ClockworkMod Recovery.

Adb install [-l] [-r] [-s] <приложение.apk>

Указанное приложение будет отправлено на Android-девайс и будет произведена его установка, например команда
adb install C:/adb/app/test.apk
выполнит установку test.apk, который находится в директории /adb/app/ на диске C:/.
Ключи к данной команде:

L – выполняет блокировку приложения.

R – приложение будет переустановлено с сохранением данных.

S – приложение будет установлено на карту памяти.

Adb uninstall [-k] <приложение.apk>

Производит деинсталляцию (удаление) указанного приложения. Если использовать ключ –k, то приложение будет деинсталлировано без удаления данных пользователя.

Adb wait-for-device

Ожидание подключения Android-девайса.

Adb start-server

Запуск службы (daemon).

Adb kill-server

Остановка службы (daemon).

Выводит текущий статус подключенного устройства:

Offline – девайс выключен.

Bootloader – девайс в режиме предварительной загрузки (бутлоадер).

Device – девайс работает.

Adb get-serialno

Выводит на экран серийный номер подключенного устройства.

Adb status-window

Производит непрерывный опрос состояния подключенного устройства.

Выполняет перемонтирование подключенного Android-девайса для последующей записи. Команда необходима для работы скриптов, которые изменяют данные на устройстве.

Adb reboot bootloader

Adb reboot recovery

Выполняется перезапуск службы (daemon) с Root-правами.

Выполняется перезапуск службы (daemon) с «прослушиванием» USB.

Adb tcpip <порт>

Выполняется перезапуск службы (daemon) с «прослушиванием» указанного порта.

Adb ppp [параметры]

Запуск службы с указанными параметрами через USB. Допустимые параметры: defaultroute dump debug notty usepeerdns local.

Adb logcat [<Ключи>] [<фильтр>]

Используется для отладки. Выводит записи логов с отладочной информацией подключенного Android-устройства. logcat допустимо использовать с машины разработки ($ adb logcat) или через удаленный Shell (# logcat).

Каждое сообщение в логе Android-девайса имеет свой тэг и свой приоритет. Тэг – строка, которая указывает на компонент системы, отправивший сообщение (к примеру, View – для системы view и так далее). Приоритет может иметь одно из следующих значений (от наименьшего к наибольшему):

V – Verbose (самый низкий приоритет).

S – Silent (Самый высокий приоритет, при котором не выводится ничего).

Чтобы получить список используемых в системе тэгов вместе с их приоритетами, можно запустить logcat. При этом в первых двух столбцах каждого выведенного сообщения из системного лога будут указаны его приоритет и тэг. Например:

I/ActivityManager(585): Starting activity: Intent { action=android.intent.action…}

Чтобы уменьшить вывод лога до не таких больших размеров, можно использовать выражение фильтра, то есть с командой logcat использовать необходимые комбинации тэга и приоритета, и тогда все сообщения, которые не подходят под запрос, не будут выводиться. Фильтр выражается как <тэг>:<приоритет>, где <тэг>, соответственно, указывает на нужный тэг, а <приоритет> — на минимальный уровень приоритета для указанного тэга. В лог записываются сообщения с выбранным тэгом и приоритетом на указанном уровне или выше него. Количество пар <тэг>:<приоритет> не ограничено в одном выражении фильтра, для их разделения используется пробел.

Разберем на примере, какие сообщения будут выведены в лог:

Adb logcat TestTag:I TestApp:D *:S

Данная команда выведет все сообщения с тэгом TestTag, которые имеют приоритет «Info» или выше, а также сообщения с тэгом TestApp с приоритетом «Debug» или выше. Последний же элемент *:S устанавливает самый высокий «Silent» приоритет для всех остальных тэгов, по сути препятствуя их выведению. Таким образом, выводиться будут только сообщения для тэгов TestTag и TestApp. *:S – самый удобный способ вывода только сообщений, соответствующих указанным фильтрам.

Приведем еще один пример:

Данная команда выведет все сообщения, которые имеют приоритет «Warning» или выше для любых тэгов.

В том случае, если команда logcat выполняется на машине разработчика, а не через удаленный Shell, можно установить значение фильтра по умолчанию, задав переменную ANDROID_LOG_TAGS следующим образом:

Export ANDROID_LOG_TAGS=» TestTag:I TestApp:D *:S»

Заданная переменная окружения ANDROID_LOG_TAGS не будет работать через эмулятор или на устройстве, если logcat будет использоваться в удаленном Shell или через adb shell logcat. Данная команда export выполняется только в UNIX-системах, и не работоспособна в Windows.

Сообщения лога, помимо тэга и приоритета, содержат в себе несколько полей с метаданными. Формат вывода сообщений можно задать таким образом, чтобы изменять показ полей метаданных. Для этого используется параметр –v с указанием одного из следующих форматов вывода:

Brief – отображает тэг, приоритет и PID процесса (формат вывода по умолчанию).

Process – отображение только PID.

Tag – вывод только приоритета и тэга.

Thread – отображает только процесс:поток и тэг с приоритетом.

Raw – выводит необработанное сообщение, без отображения полей с метаданными.

Time – отображает дату, время вызова, тэг с приоритетом, и PID процесса.

Long – отображает все поля с метаданными, а также отдельно сообщения с пустыми строками.

Для примера:

Adb logcat -v thread

Команда выведет сообщения в формате thread.

Система логов Android имеет несколько кольцевых буферов, где содержатся логии сообщений, так что не все сообщения отправляются в основной буфер. Для того, чтобы отобразить дополнительные сообщения лога, используется параметр –b. Последний позволяет просмотреть один из альтернативных буферов:

Radio – отображение буфера с сообщениями, которые связаны с телефонией или радиомодулем.

Events – отображение буфера с сообщениями, которые связаны с событиями.

Main – отображение основного буфера (используется по умолчанию).

Через adb также можно просмотреть stdout и stderr. По умолчанию вывод stdout и stderr идёт в /dev/null/, то есть происходит их удаление. В процессах, выполняемых в виртуальной машине Dalvik, может быть осуществлена запись копии вывода в лог. В таком случае система записывает сообщения в лог с тэгами stdout и stderr с приоритетом I. Чтобы перенаправить вывод, необходимо остановить эмулятор или Android-устройство, и выполнить 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».

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в "Настройки" -> "О телефоне" и семь раз нажмите на пункте "Номер сборки" :

Затем в главном меню настроек появится пункт "Для разработчиков" :

Тут необходимо поставить галочку напротив раздела "Разрешить отладку по USB" :


Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:

adb start-server

После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:

Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

export ANDROID_SERIAL=0123456789ABCDEF

Тогда все команды adb будут применяться к устройству, указанному в этой переменной.

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:

Команда вернет одно из значений: device - работает, bootloader - загружается, offline - выключено. С помощью команды status-window можно постоянно отслеживать состояние:

adb status-window

Просмотр журналов

Самое частое действие, которое приходится делать разработчикам и тестировщикам мобильных приложений в поиске ошибок - это просмотр журналов системы и приложений. Для этого применяется команда logcat:

Утилита выводит содержимое логов Android в реальном времени, так что вы сразу увидите все сообщения об ошибках. Также можно записать все в файл:

adb logcat -d > ~/android.log

С помощью опции -c можно очистить все логи на устройстве:

Не всегда нужно смотреть полный системный лог, иногда будет достаточно только увидеть сообщения нужной программы.. Для этого просто укажите имя пакета:

adb logcat com android.settings

С помощью опции --log-level можно установить уровень подробности сообщений, доступны такие варианты: V, D, I, W, E, F, S. Для выбора подробности вывода укажите нужную букву через двоеточие после имени приложения:

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:

Передача файлов на устройство

Если вам нужно быстро отправить файл на устройство, для этого можно использовать команду push. Вот ее синтаксис:

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:

adb push ~/file /sdcard/file

Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file ~/file1

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:

adb install ~/Momentum_apkpure.com.apk

После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

adb -r install~/Momentum_apkpure.com.apk

Еще доступны опции -s - для установки на флешку и -d - для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

Вы можете создать резервную копию своей прошивки и всех системных файлов Android для того, чтобы ее потом очень просто и быстро восстановить. Для этого используется команда backup. Сначала рассмотрим ее синтаксис:

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

  • -apk - сохранять apk файлы для программ, по умолчанию отключено;
  • -obb - сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
  • -shared - сохранять данные приложений из SD карты или памяти телефона, отключено;
  • -all - сохранить все установленные приложения;
  • -system - сохранить системные приложения, эти приложения уже входят в список all.

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab

С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:

Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье . Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:

adb shell ls /system

Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.png

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell - это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.

Об авторе

Основатель и администратор сайта сайт, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.