Scrcpy (Screen Copy) - инструмент для отображения и управления Android-устройствами с компьютера.

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

  • ✅ Не требует root-прав
  • ✅ Минимальная задержка (35~70 мс)
  • ✅ Высокое качество (до 1920×1080 или выше)
  • ✅ Работает по USB и по Wi-Fi

⚠️ Основная проблема: “Connection refused”

При попытке сразу запустить беспроводной режим командой:

scrcpy --tcpip=192.168.x.x

Возникает ошибка: failed to connect to '192.168.x.x:5555': Connection refused.

Причина: по умолчанию демон отладки Android (adbd) слушает только USB-интерфейс. Порт 5555 закрыт, пока устройство не переключено в режим TCP/IP.


🔧 3 способа подключения (от простого к сложному)

Способ 1: Автоматическое подключение

Самый простой способ, требующий USB-кабеля только для инициализации.

  1. Подключите телефон к ПК по USB.
  2. Убедитесь, что отладка по USB разрешена (и нажата кнопка “Разрешить” на экране телефона при первом подключении).
  3. Выполните команду без указания IP-адреса:
    scrcpy --tcpip
    
  4. Что произойдёт: Scrcpy автоматически переведёт устройство в режим TCP/IP, определит его IP-адрес в сети Wi-Fi и подключится.
  5. После успешного подключения отсоедините USB-кабель. Трансляция продолжится по Wi-Fi.

Способ 2: Классический ручной (через ADB)

  1. Подключите устройство по USB.
  2. Переведите adbd в режим прослушивания сети:
    adb tcpip 5555
    
    (Ожидаемый вывод: restarting in TCP mode port: 5555)
  3. Отсоедините USB-кабель.
  4. Подключитесь к устройству по его IP-адресу (узнать можно в настройках Wi-Fi на телефоне или командой adb shell ip route):
    adb connect 192.168.x.x:5555
    
  5. Запустите трансляцию:
    scrcpy
    

Способ 3: Полностью беспроводной (Android 11+)

Если USB-кабель отсутствует, но телефон и ПК в одной сети Wi-Fi.

  1. На телефоне: Настройки → Для разработчиков → Беспроводная отладка (включить).
  2. Нажмите “Сопряжение с помощью кода”. На экране появится IP-адрес, порт и 6-значный код.
  3. На ПК выполните сопряжение (используйте IP и порт из пункта 2):
    adb pair 192.168.x.x:PORT
    # Введите 6-значный код с экрана телефона
    
  4. Вернитесь в меню “Беспроводная отладка” на телефоне. Там будет указан другой IP и порт для подключения (не для сопряжения).
  5. Подключитесь:
    adb connect 192.168.y.y:PORT
    
  6. Запустите scrcpy.

🚨 Типичные ошибки

Ошибка 1: failed to authenticate to 192.168.x.x:5555

Симптом: Команда выполняется, но соединение отбрасывается сразу после попытки. Причина: На экране смартфона висит системное окно: “Разрешить отладку по USB с этого компьютера?” с отпечатком ключа RSA. Пока не нажата кнопка “Разрешить” (и желательно не поставлена галочка “Всегда разрешать”), демон adbd отклоняет аутентификацию. Решение: Разблокировать экран телефона и подтвердить запрос.

Ошибка 2: error: protocol fault (couldn't read status message): Success при adb pair

Симптом: Ошибка при попытке сопряжения. Причина: Конфликт режимов. Команда adb pair работает только с функцией “Беспроводная отладка” (Android 11+). Если ранее выполнена команда adb tcpip 5555, устройство уже находится в классическом режиме и не принимает протокол сопряжения. Решение: Использовать либо Способ 1/2 (классический tcpip), либо Способ 3 (pair). Не смешивать.


💡 Рекомендации

Для максимального комфорта используются флаги при запуске:

ФлагОписаниеПример использования
--max-size 1024Ограничивает разрешение (полезно для экономии трафика Wi-Fi)scrcpy --max-size 1024
--bit-rate 2MОграничивает битрейт (по умолчанию 8M)scrcpy --bit-rate 2M
--turn-screen-offГасит экран телефона во время трансляции (экономит батарею)scrcpy --turn-screen-off
--stay-awakeНе даёт телефону уснуть во время работыscrcpy --stay-awake
--no-audioОтключает передачу звука (если нужен только экран)scrcpy --no-audio

Комбинация для слабого Wi-Fi:

scrcpy --max-size 800 --bit-rate 1M --turn-screen-off --stay-awake