Android-клон на расстоянии: тонкости прямого доступа
В повседневной работе тестировщика и администратора постоянно возникает задача видеть экран удалённой трубки, нажимать кнопки, перетаскивать ярлыки, перенаправлять звук. Передаю методику, которую собирал годами на флоте корпоративных устройств: без Root-прав, с Root-правами, через собственный туннель WireGuard и через публичные сервисы.
Базовые сценарии
В самом простом раскладе достаточно пары TeamViewer QS + Host или AnyDesk Control. На «ведомом» смартфоне ставлю сервер-апк из внутреннего стора, включаю службу доступности, разрешаю «показывать поверх окон», активирую аддон для Samsung/OnePlus/MIUI, если оболочка запрашивает. На «мастер-устройстве» запускаю клиент, вбиваю шестизначный токен, подтверждаю сеанс. Передача кадров идёт H.264, аудио дополняется Opus. Ширина канала 2-3 Мбит/с при HD, задержка 120-150 мс в локальной Wi-Fi-сети.
Расширенная схема
Когда публичный релей недоступен, применяю self-hosted стек:
• * strcpy v2.0 из репозитория GitHub,
• ADB TCP —port 5555,
• туннель WireGuard —persistent-keepalive 25,
• сервис Shizuku + ADB over Network для оборота без Root.
Алгоритм:
1. На «ведомом» включаю «Отладка по сети», подключаю ADB tcpip 5555.
2. Со стороны «мастера» отправляю adb connect 10.0.0.42:5555 через шифрованный интерфейс wg0.
3. Запускаю strcpy -b 8Mm 1080 -s 10.0.0.42, одновременно задаю strcpy-OTG для управление физической клавиатурой. Картинка идёт по H.265, накладные расходы около 15 % CPU Snapdragon 720G. При наличии Root добавляю minitouch + minicap: управление становится точнее, разрешается мультитач до пяти контактов.
Проверка и оптимизацияя
Перед развёртыванием в продакшн обязательно выполняю следующий чек-лист:
• * logcat: ищу SecurityException при overlay-перекрытие,
• dumpsys SurfaceFlinger – приравниваю Choreographer к VSync, избегая рваного скролла,
• * power monitor: сравниваю расход батареи с baseline-значением 100 mA, свыше 180 mA включаю аппаратное кодирование MediaCodec OMX.qcom.
Юридический аспект покрываю пользовательским соглашением MDM-профиля, где указано «просмотр экрана, ввод жестов, запись аудио», подписан KMS-ключом. Для домашнего применения изолирую сервер в профиле Work, переключаю трафик через собственный DNS-блендер, блокирующий телеметрию.
Вывод: при грамотной конфигурации удаётся достичь удалённой задержки ниже 90 мс, сохранив потоковую устойчивость даже через LTE Cat-13. Метод подтверждён на Android 7–14, включая устройства без Google Services.