WIKI‎ > ‎

Команды терминала для Android

Отправлено 12 февр. 2014 г., 09:50 пользователем Vladislav Pashinskikh   [ обновлено 12 февр. 2014 г., 10:22 ]
Android создан на базе ядра Linux, и для него, как для настоящей unix-подобной операционной системы, есть консоль, а в ней, естественно и команды терминала.

Получить консоль можно следующими способами:
* Для работы терминала необходимы root-права

Так же стоит отметить, что терминал по-умолчанию есть во многих кастомных прошивках, таких как 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 - показать окно набора данного номера;
  • bmgrbackup 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 <cmd> - выполнить команду <cmd> в Android;
  • adb emu <cmd> - выполнить команду <cmd> в эмуляторе;
  • adb push <local> <remote> - залить файл или директорию на устройство;
  • adb pull <remote> [<local>] - копировать файл или директорию с устройства;
  • adb install <file> - установить пакет;
  • adb uninstall <package> - удалить программу;
  • adb connect <ip:port> - соединиться с Android через сеть. Требует некоторой подготовки устройства, а именно настройку ADB через TCP;
  • adb logcat [filer] - посмотреть вывод логов в реальном времени. Можно задать фильтр;
  • adb backup - сделать бекап;
  • adb restore <file> - восстановить из бекапа;
Больше информации о командах ADB можно узнать на http://developer.android.com/.