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 можно использовать и?для синхронизации файлов между устройствами (для этого даже есть опция sync
), однако удобнее воспользоваться скриптом adb-sync. Его достаточно скачать и запустить. Например, так можно синхронизировать музыку на устройстве и на ПК:
А так выполнить ту же синхронизацию, но?с удалением файлов, которые были удалены на ПК: