Команды ADB Shell (Консольные команды) (ZD)

Описание

Через контекстное меню Добавить действиеAndroidУтилиты

Либо воспользуйтесь умным поиском.

Экшен позволяет выполнить встроенные в Android консольные Linux команды (доступно это по той причине, что Android основан на ядре Linux).

Примерно тоже самое, что и выполнение команд в приложении Terminal Emulator for Android

Данный экшен - это НЕ команды ADB! Его стоит воспринимать как консоль или терминал эмулятора.

Все команды вводятся без ADB Shell в начале!

Команды

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

Вывод всех доступных команд

Чтобы посмотреть список доступных команд, введите в консоли busybox

root@x86:/ # busybox BusyBox v1.22.1 bionic (2018-09-25 14:13 +0800) multi-call binary. BusyBox is copyrighted by many authors between 1998-2012. Licensed under GPLv2. See source distribution for detailed copyright notices. Merged for bionic by tpruvot@github Usage: busybox [function [arguments]...] or: busybox --list[-full] or: busybox --install [-s] [DIR] or: function [arguments]... BusyBox is a multi-call binary that combines many common Unix utilities into a single executable. Most people will create a link to busybox for each function they wish to use and BusyBox will act like whatever it was invoked as. Currently defined functions: [, [[, adjtimex, arp, ash, awk, base64, basename, bbconfig, blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chcon, chgrp, chmod, chown, chroot, chvt, clear, cmp, comm, cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, depmod, devmem, df, diff, dirname, dmesg, dnsd, dos2unix, du, echo, ed, egrep, env, expand, expr, false, fbsplash, fdisk, fgconsole, fgrep, find, findfs, flash_lock, flash_unlock, flashcp, flock, fold, free, freeramdisk, fstrim, fsync, ftpget, ftpput, fuser, getenforce, getopt, getsebool, grep, groups, gunzip, gzip, halt, head, hexdump, hwclock, id, ifconfig, inetd, insmod, install, ionice, iostat, ip, kill, killall, killall5, less, ln, losetup, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat, lzma, lzop, lzopcat, man, matchpathcon, md5sum, mesg, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.vfat, mknod, mkswap, mktemp, modinfo, modprobe, more, mount, mountpoint, mpstat, mv, nanddump, nandwrite, nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od, openvt, patch, pgrep, pidof, ping, pipe_progress, pkill, pmap, poweroff, printenv, printf, ps, pstree, pwd, pwdx, rdate, rdev, readlink, realpath, reboot, renice, reset, resize, restorecon, rev, rm, rmdir, rmmod, route, run-parts, runcon, rx, sed, selinuxenabled, seq, sestatus, setconsole, setenforce, setfiles, setkeycodes, setsebool, setserial, setsid, sh, sha1sum, sha256sum, sha3sum, sha512sum, sleep, smemcap, sort, split, stat, strings, stty, sum, swapoff, swapon, switch_root, sync, sysctl, tac, tail, tar, taskset, tee, telnet, telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute, true, ttysize, tune2fs, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, usleep, uudecode, uuencode, vi, watch, wc, wget, which, whoami, xargs, xz, xzcat, yes, zcat

BusyBox - набор UNIX-утилит командной строки. Подробнее можно почитать в Википедии.

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

Получение подсказок по командам

Для того чтобы получить подсказку по работе с той или иной командой введите <command_name> --help, где <command_name> - имя команды (может работать не со всеми командами).
Минусом данного подхода является то, что вся информация на английском языке.

mkdir --help

Но, т.к. всё это базовые Linux команды, то в интернете огромное количество информации, инструкций и объяснений как с ними работать, и всё это на русском.
Достаточно ввести в поисковую строку запрос вида linux <command_name> примерили linux команда <command_name> пример , где <command_name> - название необходимой команды.

Список популярных команд

Команда

Описание

Пример

Команда

Описание

Пример

clear

Очистить окно консоли

clear

exit

Выход из консоли эмулятора

exit

cp

Копирование файлов

cp /путь/откуда/копируем/файл.txt /куда/файл.txt

ls

Выводит содержимое директории по указанному пути

ls /путь/к/директории

mv

Перемещение файлов и директорий

mv /исходный/путь/файла.txt /конечный/файл.txt

rm

Удаление файлов

rm /путь/к/файлу.txt

rmdir

Удаление пустой директории

rmdir /путь/к/директории/

touch

Создание файла

touch /sdcard/Alarms/alarm.txt

mkdir

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

mkdir /sdcard/newFolder

pwd

Путь текущей директории

pwd

date

Выводит текущую дату и время

date

du

Размер файла

du /путь/к/файлу.txt

service list

Список работающих сервисов

service list

Специфичные для Android команды - am и pm

am

Команда am- это обёртка над классом ActivityManager.

Activity

Основной вид компонентов приложений под Android — это activity. Activity — это один «экран» приложения. Activity можно сравнить со страницей в вебе и с окном приложения в традиционном оконном интерфейсе. Чаще всего окна activity развёрнуты на весь доступный экран.
Например, в приложении для электронной почты (email client) могут быть такие activity, как Inbox Activity (список входящих писем), Email Activity (чтение одного письма), Compose Activity (написание письма) и Settings Activity (настройки).

  • Запуск файлового менеджера - am start com.cyanogenmod.filemanager/com.cyanogenmod.filemanager.activities.NavigationActivity

  • Открытие настроек - am start -n com.android.settings/.Settings

  • Запуск браузера am start -n com.android.browser/.BrowserActivity

Intent

Как и страницы одного сайта, activity одного приложения могут запускаться как друг из друга, так и независимо друг от друга (другими приложениями). Если в вебе на другую страницу обращаются по URL (ссылке), то в Android activity запускаются через intent’ы.
Intent — это сообщение, которое указывает системе, что нужно «сделать» (например, открыть данный URL, написать письмо на данный адрес, позвонить на данный номер телефона или сделать фотографию).
Приложение может создать такой intent и передать его системе, а система решает, какая activity (или другой компонент) будет его выполнять (handle). Эта activity запускается системой (в существующем процессе приложения или в новом, если он ещё не запущен), ей передаётся этот intent, и она его выполняет.

Открыть URL - am start -a android.intent.action.VIEW -d https://zennolab.com

Поиск через браузер am start -a android.intent.action.WEB_SEARCH -n com.android.browser/.BrowserActivity --es query 'Hello, world!'(браузер должен быть запущен в этот момент, как это сделать можно посмотреть в примерах предыдущего абзаца - Activity)

pm

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


Полезные ссылки