- Scrcpy — удаленное управление Android с компьютера
- Активация режима разработчика и отладки.
- Настраиваем ADB-драйвер Android для подключения по ip-адресу.
- 1 способ. Через usb-подключение (не требуется root-доступ).
- 2 способ. Через SSH-подключение (требуется root-доступ).
- Подключаемся к телефону с помощью Scrcpy.
- 13 thoughts on “ Scrcpy — удаленное управление Android с компьютера ”
- Android tcp ip через usb
Scrcpy — удаленное управление Android с компьютера
На данный момент в PlayMarket существуе множество условно-бесплатных программ, позволяющих осуществлять удаленное управление мобильными устройствами. Но мало кто знает о том, что в Android уже есть интегрированное программное обеспечение Scrcpy, позволяющее получать изображение экрана и осуществлять удаленное управление Android устройством с компьютера по USB или по сети TCP/IP.
Перед использованием программы Scrcpy необходимо выполнить несколько настроек, позволяющих выполнить подключение к устройству по USB или IP-адресу.
- Активировать режим разработчика и включить отладку по USB;
- Настроить ADB-драйвер на подключение по ip-адресу (для удаленного подключения).
Активация режима разработчика и отладки.
Включаем режим разработчика: Настройка/О телефоне. Несколько раз тапаем по номеру сборки. Устройство сообщает нам, что теперь мы стали разработчиками и доступ к секретному меню открыт.
Возвращаемся в Настройки и заходим в меню «Для разработчиков».
Находим и включаем пункт «Отладка по USB»
Настраиваем ADB-драйвер Android для подключения по ip-адресу.
Так как у многих возникают вопросы с root-доступом на android устройствах я решил рассмотреть 2 способа переключения adb-драйвера на работу с протоколом tcp:
1 способ настройки требует наличие usb кабеля и установку драйверов для мобильного устройства, но нет необходимости в root-доступе.
2 способ позволяет выполнить настройку без usb-кабеля и установки драйверов телефона на компьютер, но необходимо наличие в Android root-доступа.
В основном на всех мобильных устройствах root-доступ отключен в целях безопасности.
1 способ. Через usb-подключение (не требуется root-доступ).
Подключаем мобильное устройство Android к компьютеру с помощью USB-кабеля и устанавливаем usb-драйвера устройства.
На вопрос Windows как использовать usb-устройство отвечаем «Передача файлов».
На экране телефона необходимо подтвердить разрешение на отладку по USB.
Приступаем к работе с телефоном через ADB.
Скачиваем программу Scrcpy для просмотра экрана и удаленного управления Android с Github https://github.com/Genymobile/scrcpy/releases .
В папке с программой будет файл adb.exe. Его необходимо запустить из командной строки Windows. Информацию о подключенных устройствах получаем следующей командой:
Если вы забыли подтвердить разрешение отладки по USB на экране телефона, то соединение устанавливаться не будет и появится сообщение о том, что устройство не авторизовано.
Переключаем ADB в режим работы TCP
Теперь телефон можно отключить от usb-кабеля.
2 способ. Через SSH-подключение (требуется root-доступ).
Для взаимодействия по SSH с терминалом Android необходимо установить на мобильное устройство SSH-сервер. Я решил воспользовался программой «SSH/SFTP Сервер -Терминал» от Banana Studo. Установить ее можно через Play Market.
После запуска программы переключаемся в меню «Пользователи» и создаем пользователя для подключения.
Возвращаемся на Главную и нажимаем «Запустить». Здесь так же доступны настройки номера порта и автоматического запуска SSH-сервера.
После запуска SSH-сервера запоминаем ip-адрес Android-устройства и порт, который можно увидеть в правом верхнем углу. У моего устройства ip-адрес 192.168.11.123, порт 2222.
Для подключения к консоли Android с компьютера по SSH воспользуемся программой PUTTY. Скачать ее можно здесь https://putty.org.ru/ .
Вводим ip-адрес, порт и жмем соединиться.
Авторизуемся по SSH с помощью созданного ранее логина и пароля.
Ввод пароля визуально никак не будет отображаться.
Набираем команды, которые переключат ADB-драйвер в режим работы по протоколу TCP. Указываем номер порта, например 5555.
Команда su переключает консоль в режим работы от имени superuser и предполагает наличие root-доступа.
Подключаемся к телефону с помощью Scrcpy.
Для этого необходимо выяснить текущий ip адрес телефона. Обычно его можно посмотреть так: «Настройки > О телефоне > Статус».
Выполняем команду adb connect, указав ip-адрес телефона и tcp порт adb.
Теперь, когда соединение с Android установлено запускаем Scrcpy.exe и открывается экран для удаленного управления устройством.
13 thoughts on “ Scrcpy — удаленное управление Android с компьютера ”
Мне кажется скачал тимвивер и не паришься.
Согласен. Но teamviewer условно-бесплатное программное обеспечение с некоторыми ограничениями в бесплатной версии. За полноценную программу придется выложить немалую сумму. Для разового использования вполне подходит.
В моем случае пришлось настраивать тв-приставки для проигрывания аудиопотока, чтобы в последующим иметь постоянную возможность удаленно подключаться к ним и устранять неисправность.
Зачем наводить тень на плетень. написано : «Но мало кто знает о том, что в Android есть интегрированное программное обеспечение Scrcpy, позволяющее получать изображение экрана и осуществлять управление устройством с компьютера по USB или TCP/IP.»
Какое же это интегрированное программное обеспечение, если оно неавтономно. Это встроенные функции андроид обеспечивающие другим программам подключения для управления и получения изображения дисплея по USB и TCP/IP.
Попробую. Только я не вижу где подключение по USB. И разрешение на отладку по USB появляется только при подключении по нему. Или упустили в описании.
Ничего не работает. Нажимаю в PUTTY Соединится, и появляется окошко озаглавленное DEVICE_IP — PUTTY сразу с предложением ввести login. Где набирать команды
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd
непонятно.
Если ввожу login, появляется password:, который не вводится клавиатура не активна.
И по Scrcpy ничего не получается. Наплел с три короба. В двух местах, почему то надо настраивать TCPIP.
Блоггер пьяный был что ли? Короче, туфта полная
Все правильно, снача необходимо авторизоваться. Я упустил этот момент, исправлю. Для подключения по ssh нужно указать логин и пароль пользователя который указали при настройке ssh-сервера. Ввод пароля в командной строке не показывается, но он вводится. После того как авторизуетесь, набирайте команды.
В двух местах настраивал tcpip потому-что: 1.нам необходим доступ к консоли андройд, я это сделал через ssh.
2. через консоль просим adb принимать команды по протоколу tcp на порт 5555.
И ещё. При запуске scrcpy.exe получаю:
d:\ADBtools\scrcpy-win64>scrcpy.exe
INFO: scrcpy 1.12.1
ERROR: Failed to execute: [d:\ADBtools\platform-tools\], [push], [«d:\ADBtools\scrcpy-win64\scrcpy-server»], [«/data/local/tmp/scrcpy-server.jar»]
ERROR: Could not execute «adb push»
Press any key to continue.
Похоже, без рут не получится. «/data/local/tmp/scrcpy-server.jar», должен быть рут доступ.
Когда при подключении по ssh вводите команду su, то получаете права суперпользователя — это и есть root-доступ.
Команду SU можно выполнить только на рутированном устройстве, потому чио на не рутированном SU нет и быть не может. Так и пишите в шапке, что устройство должно быть рутировано.
Рафаэль всё правильно рассписал
Я собираюсь взять информацию с телефона с разбитым экраном — этот вариант не пойдёт
Здравствуйте. К сожалению не всегда есть время и возможность вносить своевременные корректировки в публикации. Вам спасибо за комментарии — это стимулирует.
Действительно в первом варианте публикации рассматривался вариант настройки adb только через ssh подключение и требовал наличия root-доступа. Чтобы настроить работу adb по tcp протоколу без root-доступа, настройку необходимо выполнять через подключение телефона к usb-порту компьютера.
Но в случае с разбитым экраном вам это всеравно не удастся так как для выполнения отладки по usb на экране телефона появляется запрос на разрешение доступа. Если его не принять, то соединение не будет установлено.
ну та можно мышь по отг подключить и дело в шляпе (если подключится)
Источник
Android tcp ip через usb
Отладку программы для Android можно производить несколькими способами — с помощью эмулятора, через подключение USB и через сетевое подключение TCP/IP (например по Wi-Fi).
[Отладка с помощью эмулятора]
В среду Android Studio уже встроен эмулятор устройств Android, на котором можно отлаживать свои программы. Достоинство такого метода в том, что нет необходимости покупать специально для отладки смартфон или другое устройство с установленной системой Android, и можно точно подобрать конфигурацию эмулируемого устройства. Недостаток состоит в том, что эмулятор работает очень медленно, и он очень требователен к хосту, на котором идет отладка — и к памяти, и к процессорным ресурсам.
[Отладка через USB]
Описание процесса запуска отладки под Windows XP в Android Studio, по шагам:
1. Сначала нужно разрешить режим отладки USB. Войдите в Настройки -> Параметры разработчика -> Поставьте галочку «Отладка USB». Высветится предупреждение, подтвердите положительно — «Да».
2. Нужно на компьютере установить драйвер Android ADB Driver. Это можно сделать, если скачать и запустить программу UsbDriverTool-sfx.exe [4,5]. После запуска укажите папку, куда нужно распаковать утилиту, например c:\temp, утилита распакуется в папку c:\temp\UsbDriverTool\. В папке c:\temp\UsbDriverTool\AndroidUsb\ будет находиться драйвер Android ADB Driver, который нам нужен.
3. Подключите Ваш смартфон с Android через USB к компьютеру. Внимание, это важно: на смартфоне должен определиться режим «Подключен как камера (PTP)», ни в коем случае не как USB Mass Storage устройство/флешка и не Мультимедиа-устройство MTP. Компьютер обнаружит новое устройство, запустится мастер установки драйвера. Подсуньте ему папку c:\temp\UsbDriverTool\AndroidUsb.
Установить драйвер можно также с помощью утилиты UsbDriverTool.exe, которая находится в архиве [5]. Запустите эту программу при подключенном через USB Android-устройстве. На стартовом экране будет отображено устройство SAMSUNG_Android:
Выберите строку с устройством Android и нажмите кнопку Change driver type. Появится следующий экран, где будет предложено выбрать тип драйвера.
Выберите Android ADB Driver и нажмите Install. Через несколько секунд драйвер установится и будет готов к работе.
4. Запустите Android Studio. Откройте Ваш проект программы (или создайте новый). Зайдите в меню Run -> Edit Configurations. слева в дереве настроек выберите Android Application -> MyApplication (Ваше созданное приложение) -> справа выберите в Target Device радиокнопку «USB Device», нажмите OK.
5. Запустите приложение на отладку.
Если в консоли отладки видите сообщение «Waiting for device. USB device not found», и в Android Debug Monitor Вы получаете сообщения типа «Unable to debug device: samsung-gt_n7000-0019a2fe5212ce» или «Missing forwarded port for 0019a2fe5212ce» — переподключите устройство к USB и попробуйте заново запустить отладку.
[Отладка через Wi-Fi]
ADB можно запустить по каналу связи TCP/IP, для чего можно использовать подключение Wi-Fi. Отладка через Wi-Fi является необычайно удобной. Не нужны провода, и отладка программы запускается очень быстро, так же как и при отладке через USB. Означает, что при отладке можно подключить устройство через коннектор USB к зарядке или куда-то еще. Это особенно удобно, когда отлаживаемых устройств Android у Вас больше, чем портов USB, и когда Вы хотели бы тестировать Ваши последние сборки через сеть, с помощью других людей. Подробнее про adb можно прочитать в [7]. Здесь приведено пошаговое руководство, как запустить такую отладку (подразумевается, что у Вас на компьютере уже установлены Android SDK, ADB, и Вы можете осуществлять отладку программ через USB).
1. Подключите устройство Android к Вашему компьютеру через USB в режиме разрешенной отладки через USB (как этот режим включается — см. раздел «Отладка через USB»). Перейдите в папку, где находится утилита adb.exe (на операционных системах Windows это обычно папка c:\Program Files\Android\android-studio\sdk\platform-tools), запустите интерпретатор команд cmd и введите команду:
В ответ должно быть выведено сообщение:
Если у Вас была запущена среда Android Studio, и Вы следили за консолью Devices и логом сообщений logcat, то в этот момент увидите, что подключенное устройство Android исчезло из списка, в logcat перестали появляться новые сообщения. Сейчас Вы разрешили отладку через TCP/IP соединение с использованием порта 5555 (Вы также можете использовать любой другой свободный порт), осталось подключить ADB к устройству Android.
2. Теперь нужно узнать, какой IP-адрес у устройства Android. Этот адрес он получил, когда подключился к сети Wi-Fi. Адрес можно узнать, если зайти в Настройки -> Об устройстве -> Состояние (Settings -> About -> Status).
Итак, у нашего устройства IP-адрес 192.168.0.53. Теперь введите следующую команду:
В ответ получите сообщение:
3. Если Ваш компьютер находится в той же подсети (192.168.0/24), то теперь в среде Android Studio консоль Devices покажет подключенное устройство Android, и Вы свободно можете производить отладку точно так же, как раньше это делали через USB. Состояние моста ADB можно проверить командой:
В ответ должен быть выведен список подключенных устройств:
В Вашей среде разработки теперь доступен лог Logcat, и можно запустить на отладку Ваше разрабатываемое приложение. Будут работать следующие функции (как и при отладке через USB):
• Вывод Logcat.
• Развертывание отлаживаемого приложения на устройстве (копирование его из среды разработки в устройство).
• Отладка приложения.
• Создание скриншотов через ADB.
[Отладка на виртуальном устройстве AVD]
AVD переводится как Android Virtual Device. Программа AVD Manager позволяет создавать такие виртуальные устройства, которые Вы можете использовать при отладке своих программ. Отладка на AVD имеет свои преимущества, потому что позволяет создать множество устройств Android с разными характеристиками (разное разрешение экрана, разные версии операционной системы Android, разный объем памяти и т. п.). Однако отладка на AVD работает чрезвычайно медленно, и очень требовательна к ресурсам хостового компьютера, который запускает AVD (как по памяти, так и по процессорному времени). Ускорить отладку на AVD можно, если запускать виртуальное устройство из снапшотов (это настраивается при создании виртуального устройства), или если применить специальные приемы работы с эмулятором [6], но в любом случае отладка на реальном устройстве предпочтительнее отладки на AVD.
В среде Android Studio виртуальные устройства создаются запуском программы AVD Manager через меню Tools -> Android -> AVD Manager. В Eclipse виртуальные устройства создаются и настраиваются через меню Window -> Android Virtual Device Manager. Также AVD Manager можно запустить из командной строки, если выполнить команду android.bat avd. Скрипт android.bat находится в директории sdk\tools, папка установленного SDK (пакет SDK входит в состав ADT на основе Eclipse и также входит в установку Android Studio).
[LogCat]
Система Android предоставляет мощное средство вывода отладочных сообщений LogCat. LogGat позволяет в режиме реального времени, не останавливая программу, выводить текстовые сообщения в консоль, что дает возможность разобраться — что именно сейчас происходит в программе.
В системе разработки Eclipse консоль LogCat открывается автоматически после запуска отлаживаемой программы.
LogCat поддерживает разные уровни вывода сообщений:
Благодаря наличию уровней сообщений их можно грубо отфильтровать по уровню. Например, вот так это делается в консоли LogCat в среде Eclipse:
Когда Вы запускаете свое приложение в режиме отладки из Eclipse, то Вы можете увидеть множество сообщений, которые появляются в окне консоли LogCat: как сообщения, отправленные Вашим приложением, так и сообщения системы и других приложений, которые работают в этот момент на Вашем устройстве.
Чтобы вывести что-то в лог, сначала определитесь, насколько критичным должно быть выводимое сообщение (должно ли оно быть в категории отладочной информации (d, Debug), или это должно быть просто информационное сообщение (i, Info), или это должно быть предупреждение (w, Warning) или это должно быть сообщение об ошибке (e, Error)? После этого используйте для вывода подходящий метод:
Первый параметр myApp предоставляет текстовую метку, которая позволяет дополнительно отфильтровать сообщения в логе. Это может оказаться полезным, когда сообщений слишком много, и найти нужное сообщение будет проще, если заранее знать её метку. В консоли LogCat Eclipse такой фильтр можно создать кнопкой с зеленым плюсиком «Add new logcat filter».
Примечание: после отладочного запуска приложения в Eclipse один такой фильтр создается автоматически по имени пакета приложения. В этот фильтр попадут сообщения, которые система Android сама сгенерирует в ответ на события, относящиеся к Вашему приложению.
и в файл Android.mk добавьте строку
После этого для вывода в LogCat можете использовать функции __android_log_vprintf и __android_log_printf. Однако эти функции напрямую вызывать достаточно неудобно, поэтому есть смысл создать для них специальный класс Log:
Источник