Программа телефон для линукс

Обновлено: 05.07.2024

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

Программы для работы в Интернете

Программы для работы в Интернете Основной программой для работы в Интернете является браузер (браузер Internet Explorer входит в состав операционной системы Windows). Эта программа показывает на экране монитора веб-страницы (подробнее о браузерах рассказано в гл. 3).Путешествуя по

2.4. Программы для работы в Интернете

2.4. Программы для работы в Интернете 2.4.1. Firefox совершенно не готов к работе! Firefox - безусловно, отличный браузер, но не в том виде, в каком он исходно предстает перед нами в Fedora.Очень много современных сайтов содержат Flash-ролики. И это не удивительно, ведь с помощью Flash можно

Программы для работы с IRC

Программы для работы с DVD

Программы для работы с DVD Далее вы узнаете, при помощи каких программ можно решить проблему с восстановлением информации, изменить регион DVD, создать обложку для диска и скопировать

Программы для работы с почтой

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

Программы для работы с ICQ, IRC и Jabber

Программы для работы с фотографиями

Программы для работы с фотографиями Цифровое фото сегодня не редкость, для работы с фотографиями в Linux есть специализированные

5.12. Обмен файлами с мобильным телефоном по Bluetooth

5.12. Обмен файлами с мобильным телефоном по Bluetooth Для полноценной работы с Bluetooth-устройствами в Ubuntu настоятельно рекомендую установить пакет blueman — это графический менеджер Bluetooth-устройств. Установите соединение с Интернетом и введите команду: sudo apt-get install blueman Активируйте

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

Программы для работы с архивами Поддержкой работы с архивами популярных форматов (zip, arj) сегодня удивить трудно. Редкий комплект утилит обходится без программы, помогающей пользователям просматривать файлы из архивов или самостоятельно упаковывать в файл-архив целые

Программы для работы с FTP

Программы для работы с FTP До сих пор мы с вами сталкивались лишь с одним типом программ для работы с FTP – теми самыми «качалками», вроде FlashGet или ReGet. А ведь эти программки позволяют не только «качать» отдельные файлы, но и просматривать FTP-сервер целиком, бродя в свое

Программы для работы с MP3

Программы для работы с MP3 В заголовок этой главы вынесено название лишь одного (пусть и самого популярного) формата «сжатого» звука – MP3. Благо эта аббревиатура уже давно превратилась в «имя нарицательное». Однако большинство программ, о которых пойдет речь, рассчитаны на

Программы для работы с кандидатами

Программы для работы с кандидатами Как известно, в процессе поиска сотрудников происходит отсев большого количества специалистов, которые, являясь неплохими работниками и профессионалами своего дела, тем не менее, по каким-то причинам не подошли компании. Однако

2.4. Программы для работы с изображениями

2.4. Программы для работы с изображениями Все программы для работы с графикой различаются на вьюверы (viewers) и графические редакторы. Первые предназначены для просмотра и простейшего управления коллекциями своих картинок. Вторые нужны непосредственно для создания и

2.5. Программы для работы с текстом

2.5. Программы для работы с текстом Программы для обработки текста носят название текстовых редакторов. Чаще всего веб-дизайнер при составлении контента использует тексты, набранные в Microsoft Word. Word облегчает обработку и, самое главное, корректуру текста. Тщательно

Программы для работы с фото

Программы для работы с фото Существует очень много всевозможных программ для работы с изображением. Подробный их обзор займет объем большой книги, поэтому в рамках данного руководства ограничимся лишь краткими

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

Сегодня мы поговорим о том, как можно запустить приложения Android на Linux, а именно в операционной системе Ubuntu 18.04. Оказывается, для этого есть несколько путей.

Запуск Android-приложений в ОС Linux

1. Установка эмулятора Anbox

Первый метод запуска приложения Android на Linux — это использование Anbox. Это эмулятор Android с открытым исходным кодом, который устанавливается несколькими командами и позволяет запускать Android-приложения на Ubuntu.

Для начала заходим в терминал и обновляем список пакетов следующей командой:

sudo apt-get update

После этого начинаем установку Anbox. Сначала подключаем репозиторий:

Когда система спросит — нажимаем Enter. Ещё раз выполняем обновление списка пакетов:

sudo apt update

После этого устанавливаем ядро Anbox

После установки нужно один раз вручную запустить модули ядра. В будущем они будут стартовать сами.

Выполняем:
sudo modprobe ashmem_linux
sudo modprobe binder_linux

Устанавливаем Android Debug Bridge. Он нужен для корректной работы Android-приложений:

sudo apt install android-tools-adb android-tools-fastboot

Теперь устанавливаем, собственно, Anbox. Важно отметить, что пока это бета-версия, потому в ней возможны ошибки.

Маловероятно, но система может ругнуться «snap not found». Установите snap командой:

sudo apt install snapd

И попробуйте ещё раз. В процессе установки будет затребован пароль.

2. Использование эмулятора Anbox

После установки можно добавлять или удалять файлы с расширением APK. Это установочные пакеты программ на Android.

Для установки программы Android в Linux используем:

sudo adb install /the/location/of/file.apk

Для удаления, соответственно:

sudo adb uninstall /the/location/of/file.apk

Запускать Anbox можно как из списка программ, так и из терминала:

3. Установка эмулятора Genymotion

Второй эмулятор на сегодня весьма интересен. Начнём с того, что он — облачный. Во-вторых, он платный для коммерческого использования. Хотя в нашем случае хватит и бесплатной лицензии.

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

После тыкаем по красной кнопке Trial в верхнем правом углу.

Нас перебрасывает на новую страницу, откуда можно скачать необходимый файл. В нашем случае это файл с расширением bin. Запускаем закачку, а пока она идёт, установим VirtualBox (если вдруг он не установлен).

В терминале набираем:

sudo apt install virtualbox

Жмём Enter, вводим пароль, когда система попросит подтверждения, нажимаем y. По окончании установки набираем в терминале:

Эта команда выведет список директорий. Нам нужна Downloads или та, куда у вас по умолчанию скачиваются файлы. Вводим:

Жмём Enter, нас перебрасывает в папку. Снова вводим:

Это даёт нам список файлов в папке. Нас интересует genymotion-2.12.1-linux_x64.bin (в случае 32-разрядной системы genymotion-2.12.1-linux_x32.bin). Вводим:

sudo chmod +x genymotion-2.12.1-linux_x64.bin

Здесь можно ввести первые буквы имени файла и нажать Tab. Жмём Enter. Иначе это можно сделать, зайдя в папку Downloads, кликнуть правой кнопкой по файлу и дать ему права на выполнение.

После этого устанавливаем:

Нажимаем Enter, потом y, далее:

По нажатию Enter программа запускается. Теперь выбираем Sign in и авторизуемся с теми данными, с которыми мы регистрировались на сайте. Можно сразу выбрать Personal Use и авторизоваться уже там.

Принимаем условия EULA и — вуаля! У нас готовая к использованию система. Теперь вы знаете, как запустить Android приложение на Linux.

4. Запуск Android-приложений в Google Chrome Linux

В браузере для этого используется ряд расширений — chromeos-apk и ARChon. Сама же эмуляция функционирует, используя библиотеку Chrome App Runtime. Первоначально она появилась в Chrome OS, когда туда добавили поддержку Android. Для начала устанавливаем именно нестабильную версию Chrome (до релиза). В Терминале выполняем:

sudo nano /etc/apt/sources.list.d/google-chrome.list

Откроется окно Nano, туда вписываем следующее:

Записываем изменения комбинацией Ctrl+O, выходим - Ctrl+X. Важно! При выходе без предварительной записи данные не сохраняются!

Далее в терминале вводим:

Эта команда скачает ключ для доступа к deb-пакету. Теперь вводим команду, которая ниже, это добавит ключ:

sudo apt-key add linux_signing_key.pub

Обновляем список пакетов:

sudo apt update

После этого устанавливаем уже нестабильную версию браузера:

sudo apt install google-chrome-unstable

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

  • После запуска скачиваем и извлекаем из архива содержимое ARChon в любую директорию (можно даже по умолчанию);
  • Открываем Chrome и в настройках активируем Developer mode. Для этого идём в chrome://extensions/ или же открываем меню (которое с тремя точками);
  • Кликаем по Load unpacked extension и указываем распакованный ARChon. После этого расширение устанавливается.

Однако это ещё не всё. Теперь необходимо подготовить APK для установки (а вы думали, всё будет просто?). Сначала установим расширение chromeos-apk. Для этого инсталлируем библиотеку lib32stdc++6 командой в терминале:

sudo apt install lib32stdc++6

Сhromeos-apk устанавливаем, используя менеджер пакетов npm в том же терминале:

npm install chromeos-apk -g

Готово, теперь можно корректно распаковывать APK с помощью chromeos-apk и переводить его в расширение. В терминале вводим команду:

У нас получилось расширение для браузера Chrome. Открываем его в chrome://extensions/, после чего запускаем. Если вы всё сделали правильно, новенькая программа должна запуститься.

Важно, что в этом варианте будут работать далеко не все приложения. Ведь, по сути, это пока тестовая возможность, а не релиз. Скорее всего «не заведутся» игры, системные приложения и просто «тяжёлые» программы.

Выводы

В целом, есть ещё много способов запустить Android-программы в Ubuntu. Можно использовать эмулятор Shashlik или вообще поставить Android x86 в VirtualBox. Можно использовать QEMU и эмулировать даже железо (при условии, что у вас мощный ПК). В конце концов, если у вас куча свободного времени, можно даже поэкспериментировать со связкой Wine + какие-угодно-эмуляторы-под-другие-ОС. Правда, гарантий работы никто не даст 😊.

Если же серьёзно, то решения под Ubuntu 18.04 для работы с Android-приложениями есть. Остаётся выбрать.






Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

(18 оценок, среднее: 4,00 из 5)

Об авторе

33 комментария

как всегда - все есть, но все через одно место

Это точно.
Для винды есть нормальные эмуляторы, для линукса нет.
Ни один из описываемых способов нормально не работает.
Genymotion платный, и работает намного хуже чем бесплатный BlueStacks (который только под виндовс).

BlueStacks - это зонд. Он перехватывает и записывает к себе клавиатурные операции, обращенные не к нему, перехватывает страницы и данные из браузеров, ведёт список файлов на диске, а также много чего ещё, соперничая по сбору данных с win10. Конечно не факт, что другие эмуляторы такого не делают, но зачем использовать то, что точно является по сути шпионом.

Genymotion платен только для коммерческого использования. Пользуюсь им несколько лет и, на мой взгляд, он даже лучше, чем родной эмулятор, входящий в состав идешки Android Studio.

А Вы не устаете при каждой установке программ?

Genymotion бесплатный. Регишься и всё. Никто никаких денег с меня не просил.

Хоть кто то место нашенл , где все есть ))

Познавательная статья, кому-то может быть и пригодится. Android, хоть и основан на Ubuntu, достаточно "грязная" среда и ставить её приложение на относительно чистый Linux я бы не решился)

С чего вы взяли, что ведро основано на Ubuntu?!

Наверное связь построил :
Если Андроид построен на основе "Линукс", а Убунту это "Линукс", то Андроид=Убунту =))))))))))))

глупая связь: linux - ядро. вас не смутило, что есть кроме Ubuntu linux, ещё Debian linux, linux mint, red hat linux и так далее

Прикол в том что то что ты перечислил: Debian, mint и убунту одно и тоже считай.

Не удалось открыть сессию для виртуальной машины Google Pixel 2 - 8.0 - API 26 - 1080x1920.
VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED).
Код ошибки:
NS_ERROR_FAILURE (0x80004005)
Компонент:
ConsoleWrap
Интерфейс:
IConsole

P.S. ОС Linux Mint 19, Virtualbox v 5.2.10 Ubuntu r121806 Windows 7 на этой же виртуалке запускается нормально.

Обсуждает Миша Рыцаревъ: и а наоборот- а вот чтобы в какие смартфоны убунту можно было бы установить? (А то под этот "Андроид" жуть как много всякого малварьного срача- а под убунту-то его нет (нет его и под "яблокофоны". Но зато в них других недостатков хватает)).
И где можно купить смартфон (и планшет) с убунтой? (И бывают ли и такие андроидные модели, куда можно было бы поставить и две ОС? (Т.е. убунту рядом с "Андроидом")).

Существует ли такое ПО для обслуживания смартфонов, которое есть только под винду? (Не исключаю, что это еще и от модели (и от производителя) "гаджетофона" может зависеть). А в таких случаях будет ли такое ПО нормально работать из под "Wine"? (Ну или если и винду и какое надо ПО в виртуалке запустить, то тогда получится ли к такой винде кабелем смартфон потом подключить и проделать из под нее все так, как из под обычной?)

Anbox не эмулятор,а система запуска полноценной среды Android прямо на текущем ядре Linux с возможностью вывода интерфейса каждого приложения в отдельном окне с поддержкой 3D-ускорения.

Мое приложение работает совместно с USB - приставкой. Android Studio не поддерживает отладку с каналом USB. Стоит - ли пробовать для отладки Anbox?
Приложение установлю в XUBUNTU, а приставку подсоединю к USB.
XUBUNTU есть 32 битная и 64 битная.

Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
Что с этим делать?

А как же qemu?
Лучше подскажите толковый бесплатный gui'вый дизассемблер под arm и aarch64, чтоб ещё пошагово отлаживать умел и содержимое регистров показывать/менять. ой, что-то я совсем много требую.

anbox не работает на Core2Duo . Ему нужен SSE 4.2

ошибка: snap "anbox" is not available on beta for this architecture (i386) but exists on
other architectures (amd64).
Что делать?

Привет залей куданибудь эту версию нигде не могу найти ее. Сейчас 3.01 на сайте.

При запуске Genymotion, выдает мне вот такое:

Сайт Genymotion - в глухой несознанке. Something went wrong. И обратная связь тоже 🙂

Если без GUI не работает, тогда прошу, подскажите легкую оболочку, безпроблемно отключаемую и не прописывающуюся в автозапуске.
Прошу помощи, я новичок, и найти не смог решения проблемы в интернете и на Вашем сайте.
Заранее спасибо.

Добрый день.
не получается установить ANBOX
у меня Linux mint 18.3 x64 cinnamon (INTEL)
вот что у меня происходит:

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

4 лучших эмулятора Android для Linux 1

1. Android-x86

Проект Android-x86 предназначен не только для эмуляции. Это альтернатива запуску Windows или Linux на вашем ПК или ноутбуке и порт Android на архитектуру x86 CPU, в отличии от смартфонов, в которых используются более легкие и маломощные ARM-процессоры.

Поскольку Android-x86 был портирован для работы на типичном ПК, это означает, что вы можете запустить Android-x86 как виртуальную машину с помощью VirtualBox или VMware. Вот почему это хороший вариант для эмуляции Android.

Магазин Google Play поставляется с Android-x86, то есть вы можете установить все свои любимые приложения сразу же после настройки виртуальной машины. Однако, есть одно предупреждение: не все приложения для Android будут работать на платформе x86 PC.

Android-x86 находится в активной разработке, поэтому вы можете ожидать регулярных улучшений и возможностей, а также оптимизации скорости и производительности.

4 лучших эмулятора Android для Linux 2

2. ARChon

Вам не нужно запускать виртуальную машину, чтобы ваши приложения для Android работали на Linux. Благодаря проекту ARChon вы можете запускать приложения для Android в веб-браузере Chrome. ARC в названии означает Android Runtime for Chrome — миниатюрная среда Android для ваших приложений.

ARC сам по себе является созданием Google, ранней тестовой средой для запуска приложений Android на Chrome OS. Этот же принцип применим и к ARChon, который использует элементы ARC с открытым исходным кодом для запуска модифицированной версии в браузере Chrome. Просто установите модифицированный ARChon в Chrome в качестве расширения разработчика, а затем добавьте другие приложения с помощью инструмента расширения APK в Chrome, предоставляемого разработчиком ARChon.

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

4 лучших эмулятора Android для Linux 3

3. Anbox – Android in a Box

Виртуальные машины предлагают прямой подход к эмуляции Android. Anbox (Android in a Box) пытается сделать что-то совсем другое. Он работает как контейнер Linux, предоставляя общий доступ к ядру и ресурсам, оставаясь при этом изолированным.

Поскольку Anbox разделяет ядро хоста и предоставляет прямой доступ к аппаратным средствам, это намного более быстрый способ заставить приложения Android работать на вашем ПК. Производительность выше, а благодаря контейнерному подходу она безопасна — вы не рискуете запустить незащищенные приложения.

В комплект поставки Google Play Store не входит, поэтому вам придется искать и устанавливать приложения вручную. Потребность в ресурсах вашего ПК будет ниже, чем при использовании виртуальной машины для эмуляции.

4 лучших эмулятора Android для Linux 4

4. Genymotion

Genymotion —это коммерческий продукт, в котором виртуальные машины Android доступны в виде облачных образов или виртуальных машин локальных компьютеров с использованием Virtualbox. Он поставляется со многими уникальными элементами тестирования, такими как поддельные GPS и отчеты о заряде аккумулятора, поэтому он полезен для разработчиков и инженеров-испытателей. В комплект поставки также входит возможность стандартной установки Служб Google Play.

4 лучших эмулятора Android для Linux 5

Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.

Как управлять своим телефоном под Android с рабочего стола Ubuntu

Немного погуглив, я нашел хорошее решение: бесплатный инструмент с открытым исходным кодом, разработанный специально для этой цели.

И в этом посте я расскажу вам, как это работает.

Scrcpy: просмотр экрана телефона на ПК

Больше, чем просто экран вашего телефона Android на вашем ПК: работайте с ним с помощью клавиатуры и мыши

«Scrcpy» (который, думаю, образован от "Screen Copy") позволяет вам отобразить экран Android в окне на рабочем столе Windows, macOS или (что более важно для меня) Linux, совершенно бесплатно.

Но скорее всего, вы хотите больше, чем просто смотреть на экран своего телефона через монитор ПК, верно?

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

Это означает, что вы можете использовать клавиатуру вашего компьютера, чтобы отправлять остроумные комментарии в Instagram или по электронной почте; использовать мышь для свайпов и управления «прекрасным» интерфейсом Snapchat; сделать запись экрана на сложном уровне популярной игры; и многое другое!

Приложение особенно полезно для разработчиков ПО на Android, желающих протестировать, отладить или показать на экране смартфона свои продукты. Чтобы установить его, необходимо всего лишь перетащить файл .apk с рабочего стола и поместить его в окно приложения!

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

Для нас, обычных пользователей, это просто весело! Особенно учитывая тот факт, что это бесплатное программное обеспечение с открытым исходным кодом.

Дисплей и управление Android через USB


Scrcpy создается командой Genymotion, популярного эмулятора Android, но сам по себе он не является эмулятором Android .

Как объясняется на странице проекта Github, приложение предназначено для: « … отображения и управления устройствами Android, подключенными по USB (или через TCP / IP). Не требуется никакого корневого доступа. Работает на GNU / Linux, Windows и MacOS. »

Такого рода функциональность не нова. Приложения вроде Vysor и AirDroid, предлагают отображение экрана Android на ПК, хотя (часто) за определенную плату.

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

Взаимодействие происходит в режиме «реального времени», и при тесте на моём компьютере я не заметил заметной задержки.

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

И хотя такие технологии, как Chromecast и Miracast, дают нам понять, что отобразить содержимое вашего смартфона на экран компьютера стало доступно каждому, приятно иметь возможность взаимодействовать с тем, что вы видите, без необходимости касаться сенсорного экрана!

Требования к Scrcpy

Если вы хотите видеть экран Android на рабочем столе Linux для взаимодействия с приложениями или контентом, записывать экран телефона или выполнять другие основные задачи - и у вас уже есть все, что нужно!

Чтобы использовать Scrcpy со своим смартфоном или планшетом, он должен работать под управлением Android 5.0 или более поздней версии, и у вас должны быть включены developer options > USB debugging .(Включить опции разработчика в Android легко: просто выберите номер сборки / версии, указанный в « Settings > System > About Phone ).

И это все, что необходимо, если вы планируете подключить свой смартфон к компьютеру с Linux через USB.

Для использования функции беспроводного отображения Scrcpy необходим пакет android-tools-adb на рабочем столе Linux. Вы будете подключаться к своему телефону через adb (что включает в себя ввод IP-адресов; более подробную информацию смотрите в документации Scrcpy ).

Я использовал кабель USB.

Преимущества ScrCpy

Scrcpy является производительным и простым в освоении приложением. Также характеризуется высокой частотой кадров и низкой задержкой.

Инструмент не навязчивый; вам не нужно обладать root правами, не нужно устанавливать посторонних приложений или расширений на ваш телефон.

Кроме того, как отмечают разработчики XDA , последняя версия Scrcpy даже позволяет вам отображать экран вашего телефона, когда дисплей выключен! Более ранние версии не могли этим похвастаться.

Scrcpy работает, запустив сервер на вашем устройстве Android, с которым приложение для pc обменивается данными через USB (или по беспроводной сети через туннель ADB).

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

Очевидные преимущества Scrcpy:

Не требует root-прав
Доступно для Windows, MacOS и Linux
Не требуется установки приложения на телефоне.
Отображение в высоком разрешении
Ввод с клавиатуры вашего компьютера
Взаимодействие с помощью мыши

Установите Scrcpy в Ubuntu

Scrcpy - это бесплатное программное обеспечение с открытым исходным кодом, доступное для Windows, macOS и Linux. Вы можете найти множество ссылок для загрузки на странице релизов Scrcpy GitHub:

Самый простой способ установить Scrcpy в Ubuntu - использовать официальное приложение Snap, доступное в приложении Ubuntu Software.

Вы также можете установить приложение Scrcpy Snap на совместимые дистрибутивы Linux, используя snapd .

Убедитесь, что на устройстве Android включена отладка по USB (подробности о том, как это сделать, см. Выше в разделе «Требования»), подключитесь к ПК с Linux или к ноутбуку с помощью кабеля USB, а затем запустите Scrcpy из командной строки.


Начнем с излюбленного инструмента всех продвинутых пользователей Android — ADB. Мы уже много раз писали о нем, однако здесь просто обязаны повториться. Итак, ADB расшифровывается как Android Debug Bridge, и по сути это нечто вроде системы управления смартфоном с компа. ADB позволяет устанавливать и запускать софт, перемещать файлы с устройства и на устройство и выполнять многие другие задачи.

Чтобы настроить ADB в Windows, пришлось бы устанавливать драйверы и перезагружать машину, в Linux он просто работает. Достаточно активировать ADB на смартфоне (Настройки → Для разработчиков → Отладка по USB) и установить пакет с утилитой adb в систему:

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

Получение списка подключенных устройств:

Установка на подключенное устройство APK:

Перемещение файла на устройство:

Скачивание файла с устройства:

Сделать скриншот и скачать его на комп:

Нажатие кнопки Power:

Ну и конечно же, ADB можно использовать для получения доступа к командной строке смартфона:

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

WARNING

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

Adb-sync

ADB можно использовать и для синхронизации файлов между устройствами (для этого даже есть опция sync ), однако удобнее воспользоваться скриптом adb-sync. Его достаточно скачать и запустить. Например, так можно синхронизировать музыку на устройстве и на ПК:

А так выполнить ту же синхронизацию, но с удалением файлов, которые были удалены на ПК:

Простой способ скачать файлы на комп (обратная синхронизация):

Adbfs

Еще один интересный способ получить доступ к файлам на устройстве с помощью ADB — использовать adbfs, псевдоФС, которая позволяет смонтировать устройство так, будто это флешка или любой другой накопитель.

Проще всего установить adbfs в Arch Linux. Здесь она есть в AUR, поэтому достаточно выполнить одну команду:

В Ubuntu и других системах adbfs придется собирать вручную:

Ну а дальше можно подключать файловую систему:

Go-mtpfs

Еще один вариант подключения устройства как файловой системы — go-mtpfs, файловая система, позволяющая передавать данные по протоколу MTP. Именно этот протокол используется в смартфонах без карты памяти.

В Arch Linux установить go-mtpfs очень просто:

В других дистрибутивах несколько сложнее:

Дальше все так же элементарно, как с adbfs:

Идея использовать ADB для общения с устройством может показаться странной, если учитывать, что для Android существует сразу несколько различных SSH-серверов, не требующих права root. Так оно и есть, во многих случаях SSH будет удобнее и эффективнее. В качестве реализации сервера советую выбрать SimpleSSHD, простую бесплатную обертку для проверенного временем SSH-сервера DropBear для встраиваемых систем. Если у тебя есть root, то рекомендую также установить BusyBox On Rails, набор утилит командной строки, наиболее близкий к дистрибутивам Linux.

Использовать SimpleSSHD очень просто. Запускаешь, нажимаешь START и подключаешься к указанному IP-адресу (порт 2222):

В момент подключения на экране появится одноразовый пароль, который следует указать в клиенте. Это не очень удобный способ аутентификации, но ты можешь настроить аутентификацию по ключам. Просто переименуй свой открытый ключ (

/.ssh/id_rsa.pub ) в authorized_keys и положи в каталог ssh на карте памяти смартфона.

Bash, tmux, mc

SSH-сервер на смартфоне сам по себе открывает широкие возможности, но еще шире их можно сделать, если установить на смартфон классические инструменты, такие как bash, tmux и mc. Последний позволит в том числе с удобством ходить по карте памяти и прибраться в случае необходимости.

О том, как установить на смартфон bash, tmux, mc и nano, я уже рассказывал в статье про сервер на базе смартфона, но позволю себе повториться. И сразу предупрежу, что тебе потребуются права root на смартфоне.

Итак, скачиваем Terminal IDE, переименовываем пакет APK в ZIP, распаковываем, находим файл assets/system-2.0.tar.gz.mp3 , переименовываем, убирая расширение mp3, и распаковываем. Внутри будет множество каталогов и файлов, из которых нас интересуют только system/bin и system/etc/terminfo . Первый содержит нужные нам утилиты; скопируй те, что тебе пригодятся, в отдельный каталог. Второй необходим для корректного функционирования утилит.

Выбранные утилиты и каталог terminfo скинь на карту памяти смартфона. Затем подключись к нему по SSH и введи следующие команды, чтобы получить возможность модификации системного каталога:

Далее скопируй все нужные утилиты в /system/xbin/ и установи на них бит исполнения (на примере bash):

Затем создай файл /sdcard/ssh/.bashrc , помести в него следующие строки:

Открой настройки SimpleSSHD на смартфоне и в опции Login Shell укажи /system/xbin/bash , останови и вновь запусти сервер. При следующем входе по SSH откроется bash и будут доступны скопированные тобой утилиты.

Чтобы добиться корректной работы Vim и mc, скопируй на карту памяти также каталоги etc/mc и etc/vim , а в файл /sdcard/ssh/.bashrc добавь строки:

Midnight commander, запущенный в Android

Midnight commander, запущенный в Android

Rsync

SSH-сервер дает нам возможность использовать rsync, мощную утилиту для синхронизации и бэкапа файлов. Rsync позволяет осуществлять быструю двунаправленную синхронизацию файлов между двумя машинами (или машиной и смартфоном, как в нашем случае) с выкачиванием только новых и измененных файлов и возможностью возобновления прерванной синхронизации.

Простейший пример использования rsync в связке со смартфоном:

Эта команда скопирует все фотографии со смартфона в каталог

/Photos , пропустив те, что уже есть в каталоге. Связка опций -azv в данном случае означает, что каталог необходимо передать как есть со всеми его подкаталогами и правами доступа (флаг -a ) плюс использовать сжатие (флаг -z ).

Обратная команда — копирование данных с машины на смартфон:

Здесь мы использовали флаг --delete , чтобы удалить файлы, которые были удалены из локального каталога

По умолчанию при обрыве соединения rsync будет удалять частично переданные файлы. Чтобы этого избежать, можно использовать флаг --partial , который заставит rsync сохранять недокачанные файлы и возобновить их загрузку при следующем запуске команды.

SSHButton

Ок, к смартфону мы подключились, файлы синхронизировали, но что, если нам нужно обратное SSH-подключение от смартфона к компу? В этом случае подойдет любой из десятков SSH-клиентов для Android (тот же ConnectBot, например), если, конечно, ты готов вводить команды на сенсорной клавиатуре маленького экрана.

Если не готов, твой выбор — приложение SSH button, позволяющее запускать нужную команду на нужной машине по нажатию кнопки. Интерфейс у SSH button страшный, но приложение отлично работает. Просто запусти SSH button, далее Меню → Add. и введи нужную команду, адрес SSH-сервера, логин и пароль.

SSH button удобно использовать для выключения или усыпления компа (команды systemctl suspend и halt ), запуска и остановки торрентов, контролирования музыки (например, плеер mocp, о котором я рассказывал в одной из прошлых статей, позволяет управлять собой через командную строку).

Выводы

Использовать Android в связке с Linux действительно удобно. В отличие от Windows здесь не нужны дополнительные драйверы, специальные серверы и прочие странные вещи. В большинстве случаев можно обойтись стандартными для мира Linux SSH и rsync, но в Сети всегда можно найти более интересные инструменты.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Читайте также: