Удалённое управление Android из Ubuntu

Метки:
FavoriteLoadingПометить для себя
Удалённое управление Android из Ubuntu
5 (100%) 3 голосов

© Onizuka, 2019

К сожалению, в природе почти не осталось нормально работающих VNC-серверов под Android – тот софт, который отлично себя вёл на 2-4 версиях, давно не обновлялся, а существующие современные платные варианты серверов весьма психоделичны…  Так что проблема удалённого управления андроид-устройствами стоит в полный рост. К счастью, уже достаточно давно развивается проект ScrCpy с открытым кодом, который позволяет решить этот вопрос с использованием механизмов ADB на версиях Android от 5.0 и выше. С его помощью удобно не только лечить устройства удалённо (например, если бабушка поломала смартфон), но и управлять андроид-платформами начиная от смарт-телевизоров, и заканчивая одноплатниками и ТВ-боксами, на которых можно в этом случае нагородить например видеонаблюдение, Samba- или DLNA-серверы, торрентокачалки и другие полезные вещи для дома.

ScrCpy можно собрать под Linux и Windows, а для пользователей Ubuntu начиная с 16 версии всё ещё проще: можно воспользоваться готовым snap-пакетом. Как и пользователям Arch, Debian, Fedora, CentOS, Elementary, Gentoo, Mint, OpenSUSE, OpenWrt и RHEL. Для Arch Linux и Gentoo есть собственные пакеты.

Установив и запустив это приложение, мы получаем полный контроль над андроид-устройством, в окошке нам будет по умолчанию отрисовываться его экран в оригинальном разрешении (что не всегда удобно, но это можно поправить), а наша мышка будет интегрирована внутри окна приложения как андроидовская.

Что надо для этого сделать? Устанавливаем snap-пакет:

Далее в теории всё могло бы запуститься и так, но на практике, как всегда, возникают внезапные трудности. Нам скорее всего понадобится ADB:

Но вся прелесть ситуации в том, что ADB из официального репозитория и клиентская часть ADB из snap-пакета имеют разные, и при этом несовместимые между собой, версии. Так что от нас потребуется некоторый шаманизм: нам надо будет подсунуть ScrCpy нашу версию ADB. В теории это можно сделать через переменную окружения, но на практике почему-то это не работает. Поэтому используем извращённый вариант: используем вызов той ADB, которую притащил с собой snap, но с подстановкой нашего инсталлированого ADB:

Адрес в команде, само собой, должен быть от вашего андроид-устройства в сети. Может также понадобиться дополнительно указать

для разрешения зависимостей snap. Заметим, что, в отличии от обычного ADB, здесь как правило не требуется отдельно запускать сервер, он запускается сам при первом старте ScrCpy. После того, как мы законнектились, это можно проверить как в обычном ADB:

В ответ мы увидим список адресов устройств, среди которых будет и наш. После этого уже можно запускать сам ScrCpy:

Параметр -s с адресом абстрактно необязателен, если в списке только одно устройство. При первом запуске приложение пропишет на андроид-устройство ответную часть своего пакета, а дальше можно будет работать с ним, как на обычном Андроиде. Только следует учесть, что если мы потом запустим ADB обычным образом, то это порушит коннект ScrCpy.

Возможна ситуация, когда устройство в сети, отладка по USB включена, но на команду connect следует ответ типа “отказано в соединении”. Это такая физическая защита на некоторых версиях Android – без подключённого USB-кабеля ADB не работает. Чтобы решить эту проблему, надо физически соединить устройство с компьютером кабелем USB и подать такие команды:

после чего команда connect подаётся с адресом порта через двоеточие после сетевого адреса (то есть после адреса надо добавить :5555). Что интересно – после первого коннекта кабель можно отключить, дальше устройство до выключения будет коннектиться само и без кабеля.

На некоторых устройствах при попытке запуска ScrCpy уже после того, как серверная часть успешно скопировалась и встала на устройство, может выскакивать ошибка вида

[server] ERROR: Exception on thread Thread[main,5,main]

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

принудительно запустит разрешение 1280х800.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

0
(Просмотров: 14)
Категории Линуксоводство, метки . Постоянная ссылка.

Новое

28.11.2022 - Пушкин С.Н. Проблема взаимоотношений этногенеза и культурогенеза в творчестве Л.Н.Гумилёва ... 25.11.2022 - Кляшторный С.Г., Савинов Д.Г. Степные империи древней Евразии ... 24.11.2022 - Феномен восточного деспотизма: структура управления и власти ... 23.11.2022 - Тортика А.А. Северо-западная Хазария в контексте истории Восточной Европы VII-X вв ... 22.11.2022 - Бухарин С.Н., Малков С.Ю. Эволюция элиты ... 21.11.2022 - Ньюман Ш. Подлинная история тамплиеров ... 18.11.2022 - Лесковъ Н. О вліяніи корельскаго языка на русскій въ предѣлахъ Олонецкой губерніи ... 17.11.2022 - Нелли Р. Катары: святые еретики ... 15.11.2022 - Аникеев А.А. Аграрная политика нацистской Германии в годы Второй мировой войны ... 14.11.2022 - Вульф Л. Изобретая Восточную Европу: карта цивилизации в сознании эпохи Просвещения ... 11.11.2022 - Штейн Б.Е. Русский вопрос ... 10.11.2022 - Хлебников М.В. «Теория заговора» ... 09.11.2022 - Моррис И. Сравнительная история цивилизаций. Почему властвует Запад…по крайней мере, пока еще… ... 07.11.2022 - В царской казарме. Солдаты и матросы в первой революции. ... 04.11.2022 - Михайленко Д.В., Резницкая Л.М. Проектная концепция эколого-археологического комплекса «Донская Троя» ... 03.11.2022 - Гребер Д. Бредовая работа. Трактат о распространении бессмысленного труда. ... 02.11.2022 - Шарифжанов И.И. Изолированная страна. История России на страницах школьных учебников США и Западной Европы. ... 28.10.2022 - Gregory D. The Colonial Present ... 25.10.2022 - Сулимов С.И., Черниговских И.В., Черных В.Д. Варварство и цивилизация: специфика межкультурного взаимодействия ... 20.10.2022 - Тарасов К. Военная организация большевиков и леворадикальное движение в Петроградском гарнизоне (февраль 1917 — март 1918 г.) ... на главную
Войти с помощью: 
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии