Как управлять Андройдом с компа

Бывает, что сидишь за компом, и вдруг понадобился телефон, чтобы прочитать смс с кодом подтверждения, а идти искать телефон неохота. С API Пейпала такая фигня - там нужен вход в обычный акк даже для входа в песочницу для разработки/тестирования, и оно постоянно разлогинивает и просит смс.

С компами подобные проблемы (сделать что-то с другим компом и не идти за ним через всю квартиру/город/планету) решаются через TeamViewer и т.п.

Попробовал установить VNC сервер на телефон как тут описано. Работает, но не на экране блокировки + VNC клиенты рассчитаны на десктоп и не все действия могут передать.

Погуглив ещё, узнал, что можно управлять телефоном через ADB, и, перебрав несколько тормознутых поделок, наткнулся на scrcpy:

Для использования надо:

  1. Включить USB Debugging (нажать 8 раз на номер билда, поставить галочку и т.д.).

  2. Подключить телефон кабелем к компу, установить/включить adb (как для разработки под Андройд).

  3. После успешного подключения, выполнить на компе в cmd или терминале:

    adb tcpip 5555
    

    и можно отключать провод. И включать WiFi.

  4. Дальше надо узнать IP телефона в локальной сети (где-то в настройках, или в разных приложениях, или в админке роутера) и выполнить

    adb connect IP_ТЕЛЕФОНА:5555
    
  5. scrcpy --bit-rate 2M --max-size 1000 -s IP_ТЕЛЕФОНА
    

    и должно появиться окно с телефоном.

  6. В конце желательно отключить adb, чтоб не тратить батарею.

    adb disconnect
    

    В следующий раз повторять с 4 шага.

Небольшой скрипт, чтоб шаги 4-6 выполнялись одной командой:

#!/bin/bash

ip=192.168.1.150
adb connect $ip:5555
scrcpy --bit-rate 2M --max-size 1000 -s $ip
adb disconnect

Если телефон без рута, то шаги 2-3 нужно повторять после перезагрузок телефона.

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

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

2 лайка

Еще, в зависимости от устройства, через какое-то время после отключения экрана может отключиться интернет.

Мне помогло отключение Battery → Battery optimization → Advanced → Sleep standby optimization.
Разницы в расходе заряда не заметил.

Peek 2021-09-27 11-25

Можно еще проверить опцию в настройках WiFi упомянутую в этой теме:
Получение списка компьютеров в локальной сети - #8 от пользователя Kernel