✔Android для юниксоида. Используем смартфон в связке с Linux - «Новости»
Содержание статьи
Android и?дистрибутивы Linux не просто родственные ОС — они основаны на одном ядре и на низком уровне очень похожи. В Android работает большинство команд Linux, сюда можно установить bash, писать скрипты и даже запускать серверы. Установив на смартфон SSH, ты можешь ходить на него с компа и даже использовать rsync для синхронизации файлов. Обо всем этом мы и поговорим сегодня.ADB
Начнем с излюбленного инструмента всех продвинутых пользователей Android — ADB. Мы уже много раз писали о нем, однако здесь просто обязаны повториться. Итак, ADB расшифровывается?как Android Debug Bridge, и по сути это нечто вроде системы управления смартфоном с компа. ADB позволяет устанавливать и запускать софт, перемещать файлы с устройства и на устройство и выполнять многие другие задачи.
Чтобы настроить ADB в Windows, пришлось бы устанавливать драйверы и перезагружать машину, в Linux он просто работает. Достаточно активировать ADB на?смартфоне (Настройки ? Для разработчиков ? Отладка по USB) и установить пакет с утилитой adb
в систему:
# Ubuntu/Debian/Mint
$ sudo apt-get install adb
# Arch Linux
$ sudo pacman -S android-tools android-udev
Далее необходимо подключить смартфон к компу и начать отдавать команды.
Получение списка подключенных устройств:
$ adb devices
Установка на подключенное устройство APK:
$ adb install file.apk
Перемещение файла на устройство:
$ adb push файл /sdcard/
Скачивание файла с устройства:
$ adb pull /sdcard/DCIM/Camera/photo.jpg photo.jpg
Сделать скриншот и скачать его?на комп:
$ adb shell screencap /sdcard/screenshot.png
$ adb pull /sdcard/screenshot.png
$ adb shell rm /sdcard/screenshot.png
Нажатие кнопки Power:
$ adb shell input keyevent 26
Ну и конечно же, ADB можно использовать для получения доступа к командной строке смартфона:
$ adb shell
Важно отметить, что ADB может работать не только по USB, но и по Wi-Fi, однако для этого нужны права root на устройстве?и приложение WiFi ADB. Запускаем приложение, включаем переключатель и подсоединяемся к смартфону с помощью adb connect
и показанного приложением IP-адреса:
$ adb connect IP-адрес

В некоторых дистрибутивах ADB может не работать без прав root. Так происходит из-за отсутствия специальных правил Udev в дистрибутиве. Придется либо устанавливать их как отдельный пакет (android-udev
в Arch Linux), либо настраивать Udev самостоятельно.
Ты уже пользовался ADB?
- Да, но только по USB
- Да, и по Wi-Fi тоже
- Еще нет, надо попробовать!

Adb-sync
ADB можно использовать и?для синхронизации файлов между устройствами (для этого даже есть опция sync
), однако удобнее воспользоваться скриптом adb-sync. Его достаточно скачать и запустить. Например, так можно синхронизировать музыку на устройстве и на ПК:
$ adb-sync ~/Music/ /sdcard/Music
А так выполнить ту же синхронизацию, но?с удалением файлов, которые были удалены на ПК:
$ adb-sync --delete ~/Music/ /sdcard/Music
Простой способ скачать файлы на комп (обратная синхронизация):
$ adb-sync --reverse /sdcard/Download/ ~/Downloads