• Где находится и, как запустить командную строку на Android? Команды Android Terminal Emulator на андроид

    Данные команды актуальны для всех ОС, построенных на базе Linux(Unix), в том числе и для Android. Чтобы в ОС Android можно было использовать нижеприведенные команды, нужно получить Root права , установить эмулятор терминала и приложение busybox (именно в этом приложении содержатся все нижеприведенные команды). Для того, чтобы вывести список всех поддерживаемых busybox "ом команд, нужно набрать в эмуляторе терминала команду busybox .

    В этой статье перечислены команды busybox в системе Android, разбитые на категории. В конце приведены особенности работы с командной строкой и эмуляторами терминалов в Linux. Более подробная информация о командах будет собираться в статье Команды BusyBox в Android.

    Получение справки о командах

    man
    Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q.
    Пример: man fstab
    apropos
    Поиск по описаниям man.
    Пример: apropos iso

    Команды BusyBox для работы с файлами и папками

    cd Смена текущей папки. Пример: cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя. cd /etc - переход в папку /etc
    cp Копирование файлов и каталогов из одного в другие каталоги ls Выводит список файлов и папок в порядке, указанном с помощью опций. В отличие от dir подсвечивает файлы по типу. С параметром -l выводит дополнительную информацию о файлах: права, владельца, дату создания и т.д. ls без параметров выводит содержимое текущей папки. ls /proc выводит все работающие процессы (см. Виртуальная папка /proc в Android). mv Перемещение или переименование файлов. Если в качестве аргументов заданы имена двух файлов, то имя первого файла будет изменено на имя второго. Пример: mv file1 file_1 - переименовывает файл
    Если последний аргумент является именем существующего каталога, то mv перемещает все заданные файлы в этот каталог.
    Пример: mv file ./dir/ - перемещает "file" в "dir/file" относительно текущего каталога rm Удаление файла. С ключем -R удаляет в подкаталогах. Пример: rm -R ~/killme mkdir Создание каталога. pwd Выводит текущий путь rmdir Удаление пустого каталога. touch Создание пустого файла. Пример: touch /home/primer - создает пустой файл /home/primer

    Команды BusyBox для работы с правами доступа к файлам и папкам

    chown Смена владельца. chgrp Смена группы владельца. chmod Смена прав. Пример: сhmod -R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

    Команды BusyBox для просмотра файлов

    cat Вывод файла. Пример: cat /etc/fstab . tail Вывод конца файла. Удобно при работе с логами и большими файлами. Пример: tail /var/log/messages .

    Утилиты для работы с архивами

    Утилиты для обработки содержимого файлов

    awk, ed (текстовый редактор), patch, sed, vi (текстовый редактор).

    Редактирование файлов

    nano и pico - наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

    Команды монтирования и отмонтирования дисков

    mount [параметры] устройство путь Монтирование устройства. Пример: mount /dev/sda1 /mnt/Disk1 . umount устройство/путь Размонтирование. Пример: umount /mnt/Disk1 . eject Размонтирование и выброс CDROM.

    Команды BusyBox для работы с ядром и модулями ядра (драйверами устройств)

    lsmod Показывает список всех модулей, загруженных в ядро и зависимости между ними. insmod rmmod modprobe имя-модуля [параметры] Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Модули хранятся в /lib/modules в файлах с расширением.ko («kernel object») Пример: modprobe radio-aztech io=0x350 . modinfo имя-модуля Информация о модуле, в том числе и список параметров. modconf Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf .

    Команды BusyBox для управления процессами:

    ps – выводит на экран информацию о текущих активных процессах.
    top – выводит на экран информацию об активных процессах, а также о системных ресурсах.
    kill pid – убивает процесс, id которого равно указанному значению processed.
    killall process – убивает все активные процессы с именем process.
    bg – выводит на экран перечень остановленных и фоновых задач; продолжает выполнение остановленной задачи в фоне.
    fg – выводит на передний план последние активные задачи.
    fg n – выносит задачу с указанным именемданном случае – n) на передний план.

    Команды BusyBox для работы с датой и временем:

    adjtimex - позволяет изменять в ядре переменные времени с целью корекции скорости хода системных часов

    date - настройка системных часов

    hwclock - настройка аппаратных часов

    Утилиты работы с системными учетными записями

    adduser, addgroup, deluser, delgroup, login, passwd, su

    Сетевые команды

    arp, arping, dnsd, ftpget, ftpput, httpd (с поддержкой авторизации, CGI), ifconfig, inetd, netstat, nslookup, ping/ping6, route, telnetd, tftp, traceroute, udhcpd, wget.

    ifconfig - настройка сетевого интерфейса wget - скачивание файла по HTTP/FTP.

    Другие полезные консольные программы и команды Linux

    hdparm Управление жесткими дисками и приводами компакт-дисков. Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM. watch Периодическое выполнение команды. Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD. pppconfig Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog - команды установления, разрыва и просмотра лога соединения соответственно. pppoeconf Аналогично, настройка выхода в Интернет через ADSL-модем. whoami Позволяет узнать имя пользователя, если забыл iftop команда для просмотра сетевых подключений с консоли netstat Команда показывает содержимое различных структур данных, связанных с сетью, в различных форматах в зависимости от указанных опций. iwconfig вывод информации о wi-fi сетевых интерфейсах iwlist scan вывод информации о точках доступа в радиусе действия free свободная память

    Суперпользователь root

    Обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root .

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

    Однако такие дистрибутивы как Ubuntu и Kubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu и Kubuntu выполняется автоматически при установке дистрибутива.

    Особенности работы терминалов Linux

    Записанные в файл команды выполняются командой sh имя_файла .

    Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует символ $, % или #. Последний означает, что команды будут выполняться от имени суперпользователя root. Символ ~ означает путь к текущей домашней директории пользователя.

    Большинство команд в Linux, не требующих вывода информации пользователю, в случае успешного завершения вообще ничего не выводят на экран. Выводятся только ошибки и предупреждения в случае нарушения нормального выполнения команды. Т.е. в Linux действует общий принцип "молчит, значит работает".

    В любом терминале Linux стрелками вверх/вниз на клавиатуре можно листать историю команд, которая сохраняется между сеансами работы и различается для разных пользователей и хостов (в случае подключения из командной строки к другому компьютеру по ssh). Набранное частично команда или имя файла или каталога в текущей директории может быть автоматически дописано клавишей TAB. Если найдено более одного варианта и однозначно продолжить команду по TAB невозможно, то выводятся все подходящие варианты.

    При работе в графической среде удобны эмуляторы терминала. Как правило они поддерживают закладки -- несколько терминалов в одном окне, поддерживают цветовые схемы. Наиболее распространены эмуляторы терминала Gnome Terminal, Konsole, XFCE Terminal.

    FЕсли у вас есть смартфон на Android и вы знакомы с Linux то наверное хоть раз интересовались как использовать терминал в Android. Как вы знаете операционная система Android основана на ядре Linux, а это значит что здесь есть командная оболочка и в ней доступны множество стандартных команд Linux. По умолчанию стандартной утилиты терминала в Android нет. Получить к нему доступ можно несколькими путями:

    • первый - скачать приложение Android Terminal Emulator с GooglePlay.
    • второй подключиться к смартфону с компьютера с помощью отладчика adb.

    Но наша статья не об этом, сегодняшняя тема: команды в Aandroid Terminal Emulator или точнее команды терминала Android.

    В интернете есть много статей на эту тему но во всех них чего-то не хватает, описана пара специфичных команд и на этом все, а хочется полный список, включая команды Linux, тогда я и решил написать эту статью. Я не говорю что я опишу все команды, но постараюсь охватить большинство. Здесь приведено лишь короткое описание о некоторых командах Android я расскажу подробнее в следующих статьях, а о командах Linux можно найти подробную информацию в интернете.

    Теперь об обозначениях - для некоторых команд необходимы права root, перед ними я буду ставить знак @.

    Начнем. Команды терминала это ничто иное как небольшие консольные утилиты, большинство системных утилит находиться в папке /system/bin и еще несколько в /vendor/bin. Те что в vendor мы трогать не будем. Чтобы было удобнее расположу все команды по алфавиту.

    adb - Отладчик андроид. Поскольку Android это все же Linux, к нему по USB можно подключать другие устройства в том числе смартфоны, adb позволяет ими управлять и дает доступ к их терминалу. описание его команд и возможностей тянет на целую статью, я опишу все в одной из следующих статей.

    am - Менеджер окон (Action Manager), с помощью него можно запустить и остановить любое приложение или сервис. Например запуск приложения настройки:

    am start -n com.android.settings/.Settings

    badblocks - проверка флешки на наличие битых секторов:

    Результат можно записать в файл:

    badblocks /dev/block/mmcblk0 > /sdcard/badblocks

    или вывести на экран:

    badblocks -v /dev/block/mmcblk0

    bmgr - управление резервным копированием Android.

    cat - консольная утилита для просмотра содержимого файла.

    cat /sdcard/text.txt

    chmod - аналогична команде Linux, меняет права доступа файла, доступен только восьмеричный формат записи.

    Например дать все права (чтение, запись, выполнение):

    chmod 777 /sdcard/file

    chown - меняет владельца файла в Linux, Например:

    chown root /sdcard/file

    cmp - сравнивает два файлы

    cmp /sdcard/file1 /sdcard/file2

    cp - копирует файл, из источника(параметр 1) в приемник(параметр 2).

    cp /sdcard/file1 /sdcard1/

    date - показать текущую дату в системе.

    Sat Nov 14 13:44:56 EET 2015

    dd - создать образ диска, Параметры if= файл устройства диска, of=файл для записи

    Например:

    dd /dev/block/mmcblk0 /sdcard/img.iso

    Будет создан образ флешки mmcblk0.

    df - анализ свободного места на диске. Например:

    df -h /dev/block/mmcblk1

    Filesystem Size Used Free Blksize
    /mnt/secure 484.5M 0.0K 484.5M 4096
    /mnt/asec 484.5M 0.0K 484.5M 4096
    /mnt/obb 484.5M 0.0K 484.5M 4096
    /system 1.4G 971.7M 435.8M 4096

    dmesg - просмотр лога сообщений ядра.

    du - просмотр размера файла.

    du /sdcard/file1

    @ ext4_resize изменение размера раздела с файловой системой ext4.

    @ fsck_msdos - проверка флешки на ошибки.

    fsck_msdos /dev/block/mmcblk1p1

    grep - утилита для фильтрации текста. Например вывести только строки содержащие terminal:

    cat ~/sdcard/file | grep terminal

    @ ifconfig - просмотр и управление сетевыми устройствами. Например просмотр информации о карте wifi:

    Или отключение wifi:

    ifconfig wlan0 down

    Узнать список сетевых устройств можно командой:

    ls /sys/class/net

    iptables - управление настройками фаервола iptables, это очень обширная тема которой мы касаться не будем.

    kill - уничтожить процесс по его PID.

    Чтобы узнать pid можно использовать утилиту ps.

    ln /sdcard/file /sdcard/file2

    log - записать строку в лог системы.

    logcut - просмотр лога системы в реальном времени.

    ls - просмотр списка файлов и папок в директории:

    lsmod - просмотр загруженных модулей ядра

    lsof - просмотр открытых в системе файлов.

    make_ext4fs - форматировать флешку в файловую систему ext4

    md5 /sdcard/filename

    mkdir - создать папку, в текущем каталоге.

    mkdir имя_папки

    make2fs - форматировать флешку в файловую систему ext2

    mount - примонтировать диск, образ или папку. Например:

    mount -t ext2 /dev/block/mmcblk1p1 /mnt/sdcard

    mv - переместить файл, аналогично cp

    netcfg - просмотр информации об сетевых соединениях.

    notify - утилита для слежения за изменениями в файловой системы с помощью подсистемы ядра inotify.

    ping - известная утилита для проверки доступности сетевого узла.

    pm - пакетный менеджер android, позволяет, устанавливать, удалять и просматривать установленные пакеты.

    ps - просмотр всех запущенных процессов и информации о них.

    USER PID PPID VSIZE RSS WCHAN PC NAME
    root 1 0 1000 848 c0106ef8 0001bfb4 S /init
    root 2 0 0 0 c006e038 00000000 S kthreadd
    root 3 2 0 0 c0057a54 00000000 S ksoftirqd/0

    reboot - перезагрузить смартфон из консоли.

    resize2fs - аналогично resize_ext4, только для ext2

    rm - удалить файл.

    rmdir - удалить папку.

    rmdir /sdcard/dirname

    rmmod - выгрузить модуль ядра.

    rmmod имя_модуля

    route - управление таблицей маршрутизации.

    touch - создать пустой файл.

    touch /sdcard/file

    top - интерактивный вариант списка запущенных процессов.

    @ screenshot - сделать снимок экрана.

    screenshot /sdcard/screenshot.png

    shutdown - выключить смартфон.

    service - управление сервисами. Например посмотреть список запущенных сервисов:

    Это были все команды описание которых я нашел, по возможности список будет пополняться.

    Об авторе

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

    Android создан на базе ядра Linux, и для него, как для настоящей unix-подобной операционной системы, есть консоль, а в ней, естественно и команды терминала.

    Получить консоль можно следующими способами:

    • Установить эмулятор терминала .*
    • Соединиться с аппаратом утилитой adb выполнив adb shell;
    • Установить OpenSSH сервер и подключиться ssh-клиентом;

    Так же стоит отметить, что терминал по-умолчанию есть во многих кастомных прошивках, таких как CyanogenMod.

    Стандартный интерпретатор команд терминала несколько неудобен (до версии Android 4.0) - он не поддерживает автодополнение, вызов предыдущей команды и прочие полезные вещи, имеющиеся у нормального терминала. Решить эту проблему можно установкой busybox и использованием встроенного в него интерпретатора ash.

    В Android доступны многие, но не все стандартные программы UNIX . Список тех, которые есть на вашем устройстве вы можете получить выполнив ls -l /system/bin/ /system/xbin

    Помимо стандартных команд UNIX в Android присутствуют некоторые дополнительные программы. Среди них есть logcat - средство для просмотра логов приложений, pm - утилита для управления пакетами (package manager), am - утилита для управления окнами (activity manager).

    Вот некоторые консольные команды:

    • pm list packages - список установленных программ;
    • pm install PATH - установить программу из apk файла;
    • pm uninstall PACKAGE - удалить пакет из системы;
    • netcfg - позволит посмотреть сетевые настройки;
    • am start -n com.android.settings/.Settings - запустить окно настроек;
    • am start -n com.android.browser/.BrowserActivity - запустить браузер;
    • am start tel:210-385-0098 - показать окно набора данного номера;
    • bmgr - backup manager, управление бэкапами;
    • dumpstate - полный дамп состояния телефона;
    • dumpsys - дамп состояния системных сервисов;
    • getevent - информация об устройствах ввода и дамп событий на устройствах ввода;
    • iftop - показывает использование сети процессами (top для сети);
    • ime - управление методами ввода;
    • service - управление сервисами;
    • service list - список сервисов;
    • svc - управление wifi, мобильным подключением и питанием;

    С помощью am можно запустить окно произвольного приложения (зная имя его "активити").


    Команды ADB
    ADB, или Android Debug Bridge - многофункциональная утилита для соединения с эмулятром Android или реальным девайсом. Работает в командной строке. Находится в Android SDK.

    Вот основные команды ADB:

    • adb shell - получить шелл в Android. Конечно, полноценным *nix шеллом это не является, но после установки busybox оно как-то его напоминает. Альтернативным методом получения шелла является SSH сервер для Android . Шелл нужен для того, чтобы выполнять команды терминала .
    • adb shell - выполнить команду в Android;
    • adb emu - выполнить команду в эмуляторе;
    • adb push - залить файл или директорию на устройство;
    • adb pull [] - копировать файл или директорию с устройства;
    • adb install - установить пакет;
    • adb uninstall - удалить программу;
    • adb connect - соединиться с Android через сеть. Требует некоторой подготовки устройства, а именно настройку

    Android является полностью открытой и кастомизируемой системой. Всё благодаря тому, что в ней используется ядро Linux - самой популярной Open Source системы. На основе Linux создано большое количество ОС для настольных компьютеров и серверов, а также других электронных устройств, в числе которых можно отметить гаджеты на базе Android.

    Некоторые команды выполняются только в консольном режиме

    Некоторые операции совершаются при помощи консоли или терминала. Это такая системная утилита без , которая выполняет задания после ручного ввода команды. На Android по умолчанию такая утилита отсутствует, в отличие от настольного Linux или Windows. Благо, что разработчики не едят хлеб даром и ими уже создано множество эмуляторов терминала. Один из них - Android Terminal Emulator. Давайте узнаем о нём подробнее.

    Что представляет собой приложение

    Приложение является полноценным эмулятором терминала Linux, поддерживает несколько окон, клавиатурные сокращения, понимает кодировку UTF-8. Оно полностью бесплатное, не имеет встроенной рекламы и всплывающих окон.

    О чём стоит помнить, работая с этим эмулятором?

    • требуются root-права;
    • это не эмулятор игр;
    • он не поможет получить root на устройстве;
    • нужно знать команды Linux;
    • возможно, понадобится установить Busy Box.

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

    Настройки программы

    Программа доступна в Play Market по ссылке https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=ru . Меню доступно на многих языках, в том числе на русском. После запуска программы, в строке уведомлений вы увидите оповещение о том, что запущен терминальный процесс. Перейдите в настройки, которые разделены на логические группы.

    Экран. Можно настроить отображение строки состояния, панели действий и выбрать ориентацию экрана.

    Текст. Регулируется размер шрифта, цифровая схема и кодировка текста.

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

    Командная оболочка. Можно указать обработчика команд, предоставить , выбрать тип терминала и домашнюю папку, а также некоторые элементы поведения.

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

    Некоторые команды

    adb - Отладчик Android. К мобильным устройствам можно подключать внешние накопители и устройства, эта утилита позволяет управлять ими.

    am - Менеджер действий. Можно включить или выключить любое приложение или процесс.

    badblocks - проверка карты памяти на наличие битых секторов.

    bmgr - резервное копирование Android.

    cat - просмотр содержимого файла.

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

    chown - изменение владельца файла.

    cmp - сравнение нескольких файлов.

    cp - копирование файла.

    date - отображение текущей системной даты.

    dd - создание образа диска.

    dmesg - просмотр лога ядра.

    du - просмотр размера файла.

    ext4_resize - изменение размера раздела в файловой системе ext4 (требуется root).

    fsck_msdos - проверка ошибок на карте памяти.

    grep - фильтрация текста.

    ifconfig - просмотр сетевых устройств и управление ими (требуется root).

    iptables - настройки файервола.

    kill - убить процесс по его числовому идентификатору.

    log - записать строку в системный лог.

    logcut - просмотр системного лога в реальном времени.

    ls - просмотр содержимого директории.

    lsmod - отображение запущенных модулей ядра.

    lsof - отображение открытых файлов.

    make_ext4fs - форматирование карты памяти в формат ext4.

    md5 - контрольная сумма файла.

    mkdir - создание папки в каталоге.

    make2fs - форматирование карты памяти в формат ext2.

    mount - монтирование диска, образа или папки.

    mv - перемещение файла.

    netcfg - информация об интернет-соединениях.

    notify - слежение за изменениями в файловой системе.

    ping - проверка доступности удалённого сервера.

    pm - пакетный менеджер Android, можно полностью управлять установленными приложениями.

    ps - отображение информации о запущенных процессах.

    resize2fs - изменение размера каталога.

    rm - удаление файла.

    rmdir - удаление папки.

    route - управление таблицей маршрутизации.

    touch - создание пустого файла.

    top - список запущенных процессов.

    screenshot - скриншот экрана (требуется root).

    shutdown - выключение аппарата.

    service - управление сервисами.

    Перечисленные команды далеко не все, а лишь основные. Некоторые из них требуют более глубокого изучения.

    Заключение

    Android Terminal Emulator - одно из лучших приложений в своём роде. Оно имеет небольшой вес и отличную функциональность. Ещё раз обращаем внимание - если вы не до конца осознаёте, что такое командная консоль Linux и для чего она предназначается, лучше займитесь изучением официальной документации.

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

    Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) - стандартном инструменте для отладки и работы с консолью Android с компа.

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

    Основы работы с ADB

    Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).

    Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB .

    Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:

    Cd \android

    Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.

    Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):

    Adb devices

    С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB . Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:

    INFO

    Скопировать вывод консоли после выделения мышкой, а также вставить скопированную команду или имя файла в консоль можно правой кнопкой мыши. Включается в свойствах консоли.

    Установка программ

    ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:

    Adb install d:/downloads/имя_файла.apk

    В команду также можно добавить дополнительные ключи. Полезными будут - переустановить приложение с сохранением данных и -d - установить версию меньше текущей.

    Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:

    Adb uninstall com.rovio.angrybirdsseasons

    Бэкап приложений

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

    Adb backup [опции] <приложения>

    • -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
    • -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам.apk тоже (по умолчанию не включает);
    • -obb|-noobb указывает, включать ли в бэкап расширения.obb для приложений (по умолчанию не включает);
    • -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
    • -all указывает на необходимость бэкапа всех установленных приложений;
    • -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
    • - перечень пакетов для бэкапа.

    Если мы хотим создать бэкап всех несистемных прог, включая сами.apk, в определенное место, то команда будет выглядеть так:

    Adb backup -f c:\android\backup.ab -apk -all -nosystem

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

    Adb restore c:\android\backup.ab

    Консоль в консоли

    Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой

    Adb shell

    В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ - если необходимо ввести только одну команду, можно писать ее подряд за adb shell.

    В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp , mv и rm . Можно менять каталоги (cd ) и смотреть их содержимое (ls ). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:

    Adb shell su

    Это нужно делать, если в ответ на какую-либо команду ты видишь строку, похожую на «access denied» или «are you root?». В случае успеха знак $ сменится на #.



    Создание скриншота

    Выполняется одной строчкой:

    Adb shell screencap /sdcard/screen.png

    После этого картинку нужно выдернуть из устройства командой adb pull :

    Adb pull /sdcard/screen.png

    В recovery скриншот можно сделать следующей командой:

    Adb pull /dev/graphics/fb0

    Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:

    Ffmpeg -f rawvideo -pix_fmt rgb32 -s 1080x1920 -i fb0 fb0.png

    Запись видео, происходящего на экране устройства

    adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 20 --verbose /sdcard/video.mp4

    Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).

    INFO

    Все запущенные из консоли и в adb shell процессы, занимающие некоторое время для выполнения, можно прервать с помощью комбинации Ctrl + C. Выйти из шелла и вернуться к выполнению обычных команд adb - Ctrl + D.

    Управление приложениями

    Для управления приложениями используются две команды: pm (package manager) - менеджер пакетов и am (activity manager) - менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков . Остановимся на некоторых.

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

    Продолжение доступно только подписчикам

    Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

    Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.