Бежать за телефоном, чтобы посмотреть что же там на него пришло – удел прошлого. Нужен лишь любой Android-смартфон и Windows. Всё!
Функция управления смартфоном с ПК довольно давно тестируется владельцами устройств Samsung, но как быть, если у вас гаджет другого производителя? Очень прискорбно, но даже мой эталонный Google Pixel не поддерживает подобную функцию без применения стороннего программного обеспечения. Что ж, пусть сотрудничество Microsoft и Samsung продолжается, а мы с вами воспользуемся альтернативным решением задачи.
Сложно поверить, но нам с вами не придётся устанавливать каких-либо приложений на смартфон, ему даже не нужно иметь Root-доступа!
Scrcpy — программа с открытым исходным кодом от разработчика с GitHub, которая позволяет не только транслировать изображение с дисплея Android-смартфона на ПК, но и управлять смартфоном прямо с компьютера, на который транслируется изображение. По заявлениям разработчика, трансляция картинки происходит с малой задержкой (35~70 мс), высокой плавностью (30~60 кб/c) и в родном разрешении.
Установка и запуск scrcpy.
Чтобы установить программу, нужно проделать следующие действия:
1. Скачать последнюю версию:
- Имя файла: scrcpy-win64-v1.22.zip
- Размер файла: 33,6 МБайт
- Требование: OS Windows x64
- MD5: 7a7ab506fa6c5e6fee558d53a641faae
- Имя файла: scrcpy-win32-v1.22.zip
- Размер файла: 21,7 МБайт
- Требование: OS Windows x86
- MD5: 1a8dbded2b8882e56e64a092f5fdb475
2. Создать на диске папку “scrcpy“.
3. Скопировать содержимое архива туда.
На этом установка программы завершена! Перед использованием нужно настроить смартфон с которого вы будете транслировать картинку:
- Пройдите в пункт “О телефоне” и включите там режим разработчика. Для этого необходимо 7 раз нажать либо на номер сборки устройства, если у вас “чистый” Android, либо на версию MIUI, если у вас MIUI.
- В меню разработчика нужно включить параметры “Отладка по USB”, “Отладка по USB (Настройки безопасности)” и “Установка через USB” (если вам понадобится звук).
- Подключите смартфон к компьютеру по USB-кабелю.
- Обязательно установите галочку “Всегда разрешать отладку с этого компьютера” и нажмите “Разрешить”.
Теперь устройство готово к трансляции картинки на ПК. Теперь сделаем так, чтобы ПК смог установить связь со смартфоном:
- Запустите “Командную строку” нажав Win+R и введя “cmd”.
- Перейдите в папку scrcpy, введя “cd c:/scrcpy”, если папка находится в корне диска c:/ и запустите команду “adb shell ip route“ чтобы получить IP-адрес устройства, нажмите Enter.
- Введите “adb tcpip 5555“, снова нажмите Enter.
Теперь можно отключить провод смартфона от компьютера. Подключитесь к устройству посредством команды “adb connect DEVICE_IP:5555“ (где DEVICE_IP — IP-адрес устройства. В итоге должно получиться что-то наподобие: “adb connect 192.168.0.2:5555“).
Наконец, запустите трансляцию командой “scrcpy“, вновь нажав Enter на клавиатуре.
Если всё сделано правильно, должно появиться окно с содержимым дисплея вашего смартфона в той ориентации, как у самого смартфона.
Настройка параметров трансляции.
Программа позволяет задать некоторые параметры для передаваемого изображения. Коснёмся основных:
- Изменение разрешения: “scrcpy -m 1024“. После -m задаётся количество пикселей по вертикали, программа автоматически подберёт количество пикселей по горизонтали в соответствии с соотношением сторон вашего устройства.
- Смена битрейта: “scrcpy -b 2M“. После -b задаётся необходимый битрейт, который по умолчанию составляет 8 Мбит.
- Ограничение количества кадров: “scrcpy –max-fps 15“. После –max-fps задаётся необходимое количество кадров.
Чтобы применить несколько параметров сразу, нужно написать их последовательно, например, следующим образом: “scrcpy -m 1024 -b 2M –max-fps 15“.
Полный список параметров можно посмотреть на странице GitHub,
Трансляция звука.
Чтобы передавался звук, нужно установить и запустить программу sndcpy, которую также можно скачать с GitHub (нужно скачать архив под названием “sndcpy-with-adb-windows”). Стоит уточнить, что для передачи звука нужен Android 10 и установленный на компьютере плеер VLC.
- Установите sndcpy по аналогии с scrcpy.
- Подключите смартфон к компьютеру по USB-кабелю
- Нажмите Win+R и в открывшемся окне введите “cmd“, нажмите ОК.
- В командной строке введите “cd c:/sndcpy“, нажмите Enter.
- Затем введите “sndcpy”, снова нажмите Enter.
- На ваш смартфон установится программа, которая запросит разрешение на трансляцию звука, нажмите “Начать”.
- В командной строке нажмите Enter. VLC может выдать ошибку, просто проигнорируйте её.
Звук продолжит играть со смартфона, чтобы избавиться от этого, просто убавьте громкость до нуля. Она регулируется на двух устройствах независимо друг от друга. Чтобы остановить передачу звука, нужно либо отключить кабель от устройства, либо нажать соответствующую кнопку на панели уведомлений смартфона.
scrcpy — это бесплатная программа, которая позволяет показывать экран телефона на компьютере. Также она позволяет управлять телефоном — запускать приложения и выполнять все обычные действия, как если бы вы держали телефон в руках.
scrcpy работает на Windows, Linux и Mac.
Где скачать scrcpy
Вы можете скачать scrcpy с GitHub. Для ПК с Windows прокрутите вниз ссылку на загрузку Windows и загрузите либо ссылку scrcpy-win64 для 64-разрядных версий Windows, либо приложение scrcpy-win32 для 32-разрядных версий Windows.
Как установить scrcpy
scrcpy это портативная программа, то есть она не требует установки.
Распакуйте содержимое архива в папку на вашем компьютере. Чтобы запустить scrcpy, вам просто нужно дважды щёлкнуть файл scrcpy.exe. Но если вы запустите его без подключения телефона Android к компьютеру, вы просто получите сообщение об ошибке. (Этот файл будет отображаться как «scrcpy», если у вас есть скрытые расширения файлов.)
Для её работы требуется включить Отладку USB на телефоне. Если вы ещё этого не сделали, то смотрите подробности в статье «Как получить доступ к Параметрам разработчика и включить Отладку USB на Android».
Сочетания клавиш scrcpy
Ctrl+f
Переключение в полноэкранный режим
Ctrl+Курсорная клавиша влево
Повернуть экран налево
Ctrl+Курсорная клавиша вправо
Повернуть экран направо
Ctrl+g
Изменить размер экрана на 1:1 (pixel-perfect)
Ctrl+x
Изменяет размер экрана для удаления чёрных полос. Это же самое можно сделать если дважды кликнуть на чёрные полосы.
Ctrl+h или клик средней кнопки мышки
Соответствует нажатие клавиши посередине («ДОМОЙ»).
Ctrl+b или Ctrl+Backspace или Клик правой кнопкой мышки (когда экран включен) или ESC
Соответствует нажатию кнопки НАЗАД.
Ctrl+s
Показывает список приложений. Клик на APP_SWITCH
Ctrl+m
Клик на МЕНЮ.
Ctrl+Курсорная клавиша вверх
Клик на кнопку повышение громкости.
Ctrl+Курсорная клавиша вниз
Клик на кнопку понижение громкости.
Ctrl+p
Клик на ВКЛЮЧЕНИЕ (включает и отключает экран).
Правый клик мышки (когда экран выключен)
Включение экрана
Ctrl+o
Отключает экран устройства на телефоне, но продолжает показывать на компьютере.
Ctrl+Shift+o
Включает экран устройства.
Ctrl+r
Поворачивает экран устройства.
Ctrl+n
Разворачивает панель уведомлений (сдвигает шторку вниз).
Ctrl+Shift+n
Сворачивает панель уведомлений.
Ctrl+c
Копирует буфер обмена устройства на компьютер.
Ctrl+v
Вставляет содержимое буфера обмена компьютера в буфер обмена на устройстве.
Ctrl+Shift+v
Копирует содержимое буфера обмена компьютера и вставляет на устройство.
Ctrl+i
Включает/отключает счётчик FPS (печатает кадры/секунду в журналах).
Перетаскивание APK файла с компьютера на телефон
Устанавливает APK с компьютера.
Как передать файл на телефон
Для того, чтобы скопировать файл с компьютера на телефон схватите его мышкой и переместите на экран телефона на компьютере. Затем отпустите файл.
Визуально ничего не изменится, но файл будет скопирован на в папку /sdcard/ на телефоне, то есть во внутреннюю память устройства.
Запись экрана и использование опций scrcpy
Подробную инструкцию о записи экрана и о том, как указать опции при запуске scrcpy, вы найдёте в статье «Как записать экран телефона на компьютере».
Опции scrcpy
—always-on-top
Делает окно scrcpy всегда наверху (поверх других окон).
—crop ШИРИНА:ВЫСОТА:x:y
Обрезает экран устройства на сервере.
Эти значения выражены в обычной ориентации устройства (для телефона это портретный режим, а для планшета это ландшафтный режим).
Любые значения —max-size значения вычисляются по обрезанным размерам.
-f, —fullscreen
Запустить в полноэкранном режиме.
—lock-video-orientation ЗНАЧЕНИЕ
Блокирует ориентацию видео на ЗНАЧЕНИЕ. Возможными вариантами ЗНАЧЕНИЯ являются: -1 (без блокировки), 0, 1, 2 и 3.
Нормальная ориентация устройства это 0, и каждое увеличение добавляет поворот на 90 градусов против часовой стрелки. По умолчанию равно -1.
-n, —no-control
Отключает контроль устройства. То есть устройство переводится в режим только чтение — можно видеть, что происходит на экране, но нельзя управлять, например, нажимать на экран.
—rotation ЗНАЧЕНИЕ
Устанавливает начальный поворот дисплея. Возможные значения это 0, 1, 2 и 3. Каждое увеличение добавляет поворот на 90 против часовой стрелки.
-s, —serial СЕРИЙНЫЙ НОМЕР
Серийный номер устройства, которое нужно использовать. Это нужно только если к adb подключено несколько устройств.
-S, —turn-screen-off
Немедленное отключение экрана.
-t, —show-touches
Включает «показ касаний» при запуске. Показывает только физические касания (не показывает клики от scrcpy).
-w, —stay-awake
Держит экран устройства включённым пока запущен scrcpy.
—window-borderless
Убирает все элементы окна, кроме экрана телефона. Показывает окно без окаймления. В этом случае чтобы закрыть программу вернитесь в консоль (командную строку) и нажмите там Ctrl+c. Или нажмите Alt+F4 когда в фокусе окно с экраном телефона.
—window-title НАЗВАНИЕ
Устанавливает НАЗВАНИЕ заголовка окна.
—window-x ЗНАЧЕНИЕ
Устанавливает начальную горизонтальную позицию окна. По умолчанию «auto».
—window-y ЗНАЧЕНИЕ
Устанавливает начальную вертикальную позицию кона. По умолчанию «auto».
—window-width ЗНАЧЕНИЕ
Устанавливает начальную ширину окна. По умолчанию равно 0 (автоматически).
—window-height ЗНАЧЕНИЕ
Устанавливает начальную высоту окна. По умолчанию равно 0 (автоматически).
Связанные статьи:
- Как записать экран телефона на компьютере (97.7%)
- Как вывести экран телефона на компьютер и управлять телефоном с компьютера (80.9%)
- Как использовать телефон с Android для Интернет-доступа на компьютере без Wi-Fi (51.6%)
- Как подключить компьютер к Интернету по Bluetooth в Windows (51.6%)
- Как подключить AirPods к ПК, Mac, телефону Android или другому устройству (51.6%)
- Как защитить архив паролем (RANDOM — 14.2%)
scrcpy (v1.25)
pronounced «screen copy«
Read in another language
This application provides display and control of Android devices connected via
USB or over TCP/IP. It does not require any root access.
It works on GNU/Linux, Windows and macOS.
It focuses on:
- lightness: native, displays only the device screen
- performance: 30~120fps, depending on the device
- quality: 1920×1080 or above
- low latency: 35~70ms
- low startup time: ~1 second to display the first image
- non-intrusiveness: nothing is left installed on the Android device
- user benefits: no account, no ads, no internet required
- freedom: free and open source software
Its features include:
- recording
- mirroring with Android device screen off
- copy-paste in both directions
- configurable quality
- Android device as a webcam (V4L2) (Linux-only)
- physical keyboard simulation (HID)
- physical mouse simulation (HID)
- OTG mode
- and more…
Requirements
The Android device requires at least API 21 (Android 5.0).
Make sure you enable adb debugging on your device(s).
On some devices, you also need to enable an additional option to
control it using a keyboard and mouse.
Get the app
Summary
- Linux:
apt install scrcpy
- Windows: download
- macOS:
brew install scrcpy
Build from sources: BUILD (simplified process)
Linux
On Debian and Ubuntu:
On Arch Linux:
A Snap package is available: scrcpy
.
For Fedora, a COPR package is available: scrcpy
.
For Gentoo, an Ebuild is available: scrcpy/
.
You can also build the app manually (simplified
process).
Windows
For Windows, a prebuilt archive with all the dependencies (including adb
) is
available:
scrcpy-win64-v1.25.zip
SHA-256:db65125e9c65acd00359efb7cea9c05f63cc7ccd5833000cd243cc92f5053028
It is also available in Chocolatey:
choco install scrcpy
choco install adb # if you don't have it yet
And in Scoop:
scoop install scrcpy
scoop install adb # if you don't have it yet
You can also build the app manually.
macOS
The application is available in Homebrew. Just install it:
You need adb
, accessible from your PATH
. If you don’t have it yet:
brew install android-platform-tools
It’s also available in MacPorts, which sets up adb
for you:
You can also build the app manually.
Run
Plug an Android device into your computer, and execute:
It accepts command-line arguments, listed by:
Features
Capture configuration
Reduce size
Sometimes, it is useful to mirror an Android device at a lower resolution to
increase performance.
To limit both the width and height to some value (e.g. 1024):
scrcpy --max-size=1024
scrcpy -m 1024 # short version
The other dimension is computed so that the Android device aspect ratio is
preserved. That way, a device in 1920×1080 will be mirrored at 1024×576.
Change bit-rate
The default bit-rate is 8 Mbps. To change the video bitrate (e.g. to 2 Mbps):
scrcpy --bit-rate=2M
scrcpy -b 2M # short version
Limit frame rate
The capture frame rate can be limited:
This is officially supported since Android 10, but may work on earlier versions.
The actual capture framerate may be printed to the console:
It may also be enabled or disabled at any time with MOD+i.
Crop
The device screen may be cropped to mirror only part of the screen.
This is useful, for example, to mirror only one eye of the Oculus Go:
scrcpy --crop=1224:1440:0:0 # 1224x1440 at offset (0,0)
If --max-size
is also specified, resizing is applied after cropping.
Lock video orientation
To lock the orientation of the mirroring:
scrcpy --lock-video-orientation # initial (current) orientation scrcpy --lock-video-orientation=0 # natural orientation scrcpy --lock-video-orientation=1 # 90° counterclockwise scrcpy --lock-video-orientation=2 # 180° scrcpy --lock-video-orientation=3 # 90° clockwise
This affects recording orientation.
The window may also be rotated independently.
Encoder
Some devices have more than one encoder, and some of them may cause issues or
crash. It is possible to select a different encoder:
scrcpy --encoder=OMX.qcom.video.encoder.avc
To list the available encoders, you can pass an invalid encoder name; the
error will give the available encoders:
Capture
Recording
It is possible to record the screen while mirroring:
scrcpy --record=file.mp4 scrcpy -r file.mkv
To disable mirroring while recording:
scrcpy --no-display --record=file.mp4
scrcpy -Nr file.mkv
# interrupt recording with Ctrl+C
«Skipped frames» are recorded, even if they are not displayed in real time (for
performance reasons). Frames are timestamped on the device, so packet delay
variation does not impact the recorded file.
v4l2loopback
On Linux, it is possible to send the video stream to a v4l2 loopback device, so
that the Android device can be opened like a webcam by any v4l2-capable tool.
The module v4l2loopback
must be installed:
sudo apt install v4l2loopback-dkms
To create a v4l2 device:
sudo modprobe v4l2loopback
This will create a new video device in /dev/videoN
, where N
is an integer
(more options are available
to create several devices or devices with specific IDs).
To list the enabled devices:
# requires v4l-utils package v4l2-ctl --list-devices # simple but might be sufficient ls /dev/video*
To start scrcpy
using a v4l2 sink:
scrcpy --v4l2-sink=/dev/videoN scrcpy --v4l2-sink=/dev/videoN --no-display # disable mirroring window scrcpy --v4l2-sink=/dev/videoN -N # short version
(replace N
with the device ID, check with ls /dev/video*
)
Once enabled, you can open your video stream with a v4l2-capable tool:
ffplay -i /dev/videoN
vlc v4l2:///dev/videoN # VLC might add some buffering delay
For example, you could capture the video within OBS.
Buffering
It is possible to add buffering. This increases latency, but reduces jitter (see
#2464).
The option is available for display buffering:
scrcpy --display-buffer=50 # add 50 ms buffering for display
and V4L2 sink:
scrcpy --v4l2-buffer=500 # add 500 ms buffering for v4l2 sink
Connection
TCP/IP (wireless)
Scrcpy uses adb
to communicate with the device, and adb
can connect to a
device over TCP/IP. The device must be connected on the same network as the
computer.
Automatic
An option --tcpip
allows to configure the connection automatically. There are
two variants.
If the device (accessible at 192.168.1.1 in this example) already listens on a
port (typically 5555) for incoming adb connections, then run:
scrcpy --tcpip=192.168.1.1 # default port is 5555
scrcpy --tcpip=192.168.1.1:5555
If adb TCP/IP mode is disabled on the device (or if you don’t know the IP
address), connect the device over USB, then run:
scrcpy --tcpip # without arguments
It will automatically find the device IP address and adb port, enable TCP/IP
mode if necessary, then connect to the device before starting.
Manual
Alternatively, it is possible to enable the TCP/IP connection manually using
adb
:
-
Plug the device into a USB port on your computer.
-
Connect the device to the same Wi-Fi network as your computer.
-
Get your device IP address, in Settings → About phone → Status, or by
executing this command:adb shell ip route | awk '{print $9}'
-
Enable
adb
over TCP/IP on your device:adb tcpip 5555
. -
Unplug your device.
-
Connect to your device:
adb connect DEVICE_IP:5555
(replaceDEVICE_IP
with the device IP address you found). -
Run
scrcpy
as usual.
Since Android 11, a Wireless debugging option allows to bypass
having to physically connect your device directly to your computer.
If the connection randomly drops, run your scrcpy
command to reconnect. If it
says there are no devices/emulators found, try running adb connect DEVICE_IP:5555
again, and then scrcpy
as usual. If it still says there are
none found, try running adb disconnect
, and then run those two commands again.
It may be useful to decrease the bit-rate and the resolution:
scrcpy --bit-rate=2M --max-size=800
scrcpy -b2M -m800 # short version
Multi-devices
If several devices are listed in adb devices
, you can specify the serial:
scrcpy --serial=0123456789abcdef
scrcpy -s 0123456789abcdef # short version
The serial may also be provided via the environment variable ANDROID_SERIAL
(also used by adb
).
If the device is connected over TCP/IP:
scrcpy --serial=192.168.0.1:5555
scrcpy -s 192.168.0.1:5555 # short version
If only one device is connected via either USB or TCP/IP, it is possible to
select it automatically:
# Select the only device connected via USB scrcpy -d # like adb -d scrcpy --select-usb # long version # Select the only device connected via TCP/IP scrcpy -e # like adb -e scrcpy --select-tcpip # long version
You can start several instances of scrcpy for several devices.
Autostart on device connection
You could use AutoAdb:
Tunnels
To connect to a remote device, it is possible to connect a local adb
client to
a remote adb
server (provided they use the same version of the adb
protocol).
Remote ADB server
To connect to a remote adb server, make the server listen on all interfaces:
adb kill-server
adb -a nodaemon server start
# keep this open
Warning: all communications between clients and the adb server are
unencrypted.
Suppose that this server is accessible at 192.168.1.2. Then, from another
terminal, run scrcpy
:
# in bash export ADB_SERVER_SOCKET=tcp:192.168.1.2:5037 scrcpy --tunnel-host=192.168.1.2
:: in cmd set ADB_SERVER_SOCKET=tcp:192.168.1.2:5037 scrcpy --tunnel-host=192.168.1.2
# in PowerShell $env:ADB_SERVER_SOCKET = 'tcp:192.168.1.2:5037' scrcpy --tunnel-host=192.168.1.2
By default, scrcpy
uses the local port used for adb forward
tunnel
establishment (typically 27183
, see --port
). It is also possible to force a
different tunnel port (it may be useful in more complex situations, when more
redirections are involved):
scrcpy --tunnel-port=1234
SSH tunnel
To communicate with a remote adb server securely, it is preferable to use an
SSH tunnel.
First, make sure the adb server is running on the remote computer:
Then, establish an SSH tunnel:
# local 5038 --> remote 5037 # local 27183 <-- remote 27183 ssh -CN -L5038:localhost:5037 -R27183:localhost:27183 your_remote_computer # keep this open
From another terminal, run scrcpy
:
# in bash export ADB_SERVER_SOCKET=tcp:localhost:5038 scrcpy
:: in cmd set ADB_SERVER_SOCKET=tcp:localhost:5038 scrcpy
# in PowerShell $env:ADB_SERVER_SOCKET = 'tcp:localhost:5038' scrcpy
To avoid enabling remote port forwarding, you could force a forward connection
instead (notice the -L
instead of -R
):
# local 5038 --> remote 5037 # local 27183 --> remote 27183 ssh -CN -L5038:localhost:5037 -L27183:localhost:27183 your_remote_computer # keep this open
From another terminal, run scrcpy
:
# in bash export ADB_SERVER_SOCKET=tcp:localhost:5038 scrcpy --force-adb-forward
:: in cmd set ADB_SERVER_SOCKET=tcp:localhost:5038 scrcpy --force-adb-forward
# in PowerShell $env:ADB_SERVER_SOCKET = 'tcp:localhost:5038' scrcpy --force-adb-forward
Like for wireless connections, it may be useful to reduce quality:
scrcpy -b2M -m800 --max-fps=15
Window configuration
Title
By default, the window title is the device model. It can be changed:
scrcpy --window-title='My device'
Position and size
The initial window position and size may be specified:
scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600
Borderless
To disable window decorations:
scrcpy --window-borderless
Always on top
To keep the scrcpy window always on top:
Fullscreen
The app may be started directly in fullscreen:
scrcpy --fullscreen
scrcpy -f # short version
Fullscreen can then be toggled dynamically with MOD+f.
Rotation
The window may be rotated:
Possible values:
0
: no rotation1
: 90 degrees counterclockwise2
: 180 degrees3
: 90 degrees clockwise
The rotation can also be changed dynamically with MOD+←
(left) and MOD+→ (right).
Note that scrcpy manages 3 different rotations:
- MOD+r requests the device to switch between portrait
and landscape (the current running app may refuse, if it does not support the
requested orientation). --lock-video-orientation
changes the mirroring
orientation (the orientation of the video sent from the device to the
computer). This affects the recording.--rotation
(or MOD+←/MOD+→)
rotates only the window content. This affects only the display, not the
recording.
Other mirroring options
Read-only
To disable controls (everything which can interact with the device: input keys,
mouse events, drag&drop files):
scrcpy --no-control scrcpy -n
Display
If several displays are available, it is possible to select the display to
mirror:
The list of display ids can be retrieved by:
adb shell dumpsys display # search "mDisplayId=" in the output
The secondary display may only be controlled if the device runs at least Android
10 (otherwise it is mirrored as read-only).
Stay awake
To prevent the device from sleeping after a delay when the device is plugged in:
scrcpy --stay-awake scrcpy -w
The initial state is restored when scrcpy is closed.
Turn screen off
It is possible to turn the device screen off while mirroring on start with a
command-line option:
scrcpy --turn-screen-off scrcpy -S
Or by pressing MOD+o at any time.
To turn it back on, press MOD+Shift+o.
On Android, the POWER
button always turns the screen on. For convenience, if
POWER
is sent via scrcpy (via right-click or MOD+p),
it will force to turn the screen off after a small delay (on a best effort
basis). The physical POWER
button will still cause the screen to be turned
on.
It can also be useful to prevent the device from sleeping:
scrcpy --turn-screen-off --stay-awake scrcpy -Sw
Power off on close
To turn the device screen off when closing scrcpy:
scrcpy --power-off-on-close
Power on on start
By default, on start, the device is powered on.
To prevent this behavior:
Show touches
For presentations, it may be useful to show physical touches (on the physical
device).
Android provides this feature in Developers options.
Scrcpy provides an option to enable this feature on start and restore the
initial value on exit:
scrcpy --show-touches scrcpy -t
Note that it only shows physical touches (by a finger on the device).
Disable screensaver
By default, scrcpy does not prevent the screensaver from running on the
computer.
To disable it:
scrcpy --disable-screensaver
Input control
Rotate device screen
Press MOD+r to switch between portrait and landscape
modes.
Note that it rotates only if the application in foreground supports the
requested orientation.
Copy-paste
Any time the Android clipboard changes, it is automatically synchronized to the
computer clipboard.
Any Ctrl shortcut is forwarded to the device. In particular:
- Ctrl+c typically copies
- Ctrl+x typically cuts
- Ctrl+v typically pastes (after computer-to-device
clipboard synchronization)
This typically works as you expect.
The actual behavior depends on the active application though. For example,
Termux sends SIGINT on Ctrl+c instead, and K-9 Mail
composes a new message.
To copy, cut and paste in such cases (but only supported on Android >= 7):
- MOD+c injects
COPY
- MOD+x injects
CUT
- MOD+v injects
PASTE
(after computer-to-device
clipboard synchronization)
In addition, MOD+Shift+v injects the computer
clipboard text as a sequence of key events. This is useful when the component
does not accept text pasting (for example in Termux), but it can break
non-ASCII content.
WARNING: Pasting the computer clipboard to the device (either via
Ctrl+v or MOD+v) copies the content
into the Android clipboard. As a consequence, any Android application could read
its content. You should avoid pasting sensitive content (like passwords) that
way.
Some Android devices do not behave as expected when setting the device clipboard
programmatically. An option --legacy-paste
is provided to change the behavior
of Ctrl+v and MOD+v so that they
also inject the computer clipboard text as a sequence of key events (the same
way as MOD+Shift+v).
To disable automatic clipboard synchronization, use
--no-clipboard-autosync
.
Pinch-to-zoom
To simulate «pinch-to-zoom»: Ctrl+click-and-move.
More precisely, hold down Ctrl while pressing the left-click button.
Until the left-click button is released, all mouse movements scale and rotate
the content (if supported by the app) relative to the center of the screen.
Technically, scrcpy generates additional touch events from a «virtual finger»
at a location inverted through the center of the screen.
Physical keyboard simulation (HID)
By default, scrcpy uses Android key or text injection: it works everywhere,
but is limited to ASCII.
Alternatively, scrcpy
can simulate a physical USB keyboard on Android to
provide a better input experience (using USB HID over AOAv2): the
virtual keyboard is disabled and it works for all characters and IME.
However, it only works if the device is connected via USB.
Note: On Windows, it may only work in OTG mode, not while mirroring (it
is not possible to open a USB device if it is already open by another process
like the adb daemon).
To enable this mode:
scrcpy --hid-keyboard
scrcpy -K # short version
If it fails for some reason (for example because the device is not connected via
USB), it automatically fallbacks to the default mode (with a log in the
console). This allows using the same command line options when connected over
USB and TCP/IP.
In this mode, raw key events (scancodes) are sent to the device, independently
of the host key mapping. Therefore, if your keyboard layout does not match, it
must be configured on the Android device, in Settings → System → Languages and
input → Physical keyboard.
This settings page can be started directly:
adb shell am start -a android.settings.HARD_KEYBOARD_SETTINGS
However, the option is only available when the HID keyboard is enabled (or when
a physical keyboard is connected).
Physical mouse simulation (HID)
Similarly to the physical keyboard simulation, it is possible to simulate a
physical mouse. Likewise, it only works if the device is connected by USB.
By default, scrcpy uses Android mouse events injection with absolute
coordinates. By simulating a physical mouse, a mouse pointer appears on the
Android device, and relative mouse motion, clicks and scrolls are injected.
To enable this mode:
scrcpy --hid-mouse
scrcpy -M # short version
You can also add --forward-all-clicks
to forward all mouse
buttons.
When this mode is enabled, the computer mouse is «captured» (the mouse pointer
disappears from the computer and appears on the Android device instead).
Special capture keys, either Alt or Super, toggle
(disable or enable) the mouse capture. Use one of them to give the control of
the mouse back to the computer.
OTG
It is possible to run scrcpy with only physical keyboard and mouse simulation
(HID), as if the computer keyboard and mouse were plugged directly to the device
via an OTG cable.
In this mode, adb
(USB debugging) is not necessary, and mirroring is disabled.
To enable OTG mode:
scrcpy --otg
# Pass the serial if several USB devices are available
scrcpy --otg -s 0123456789abcdef
It is possible to enable only HID keyboard or HID mouse:
scrcpy --otg --hid-keyboard # keyboard only scrcpy --otg --hid-mouse # mouse only scrcpy --otg --hid-keyboard --hid-mouse # keyboard and mouse # for convenience, enable both by default scrcpy --otg # keyboard and mouse
Like --hid-keyboard
and --hid-mouse
, it only works if the device is
connected by USB.
Text injection preference
Two kinds of events are generated when typing text:
- key events, signaling that a key is pressed or released;
- text events, signaling that a text has been entered.
By default, letters are injected using key events, so that the keyboard behaves
as expected in games (typically for WASD keys).
But this may cause issues. If you encounter such a problem, you
can avoid it by:
(but this will break keyboard behavior in games)
On the contrary, you could force to always inject raw key events:
These options have no effect on HID keyboard (all key events are sent as
scancodes in this mode).
Key repeat
By default, holding a key down generates repeated key events. This can cause
performance problems in some games, where these events are useless anyway.
To avoid forwarding repeated key events:
This option has no effect on HID keyboard (key repeat is handled by Android
directly in this mode).
Right-click and middle-click
By default, right-click triggers BACK (or POWER on) and middle-click triggers
HOME. To disable these shortcuts and forward the clicks to the device instead:
scrcpy --forward-all-clicks
File drop
Install APK
To install an APK, drag & drop an APK file (ending with .apk
) to the scrcpy
window.
There is no visual feedback, a log is printed to the console.
Push file to device
To push a file to /sdcard/Download/
on the device, drag & drop a (non-APK)
file to the scrcpy window.
There is no visual feedback, a log is printed to the console.
The target directory can be changed on start:
scrcpy --push-target=/sdcard/Movies/
Audio forwarding
Audio is not forwarded by scrcpy. Use sndcpy.
Also see issue #14.
Shortcuts
In the following list, MOD is the shortcut modifier. By default, it’s
(left) Alt or (left) Super.
It can be changed using --shortcut-mod
. Possible keys are lctrl
, rctrl
,
lalt
, ralt
, lsuper
and rsuper
. For example:
# use RCtrl for shortcuts scrcpy --shortcut-mod=rctrl # use either LCtrl+LAlt or LSuper for shortcuts scrcpy --shortcut-mod=lctrl+lalt,lsuper
Super is typically the Windows or Cmd key.
Action | Shortcut |
---|---|
Switch fullscreen mode | MOD+f |
Rotate display left | MOD+← (left) |
Rotate display right | MOD+→ (right) |
Resize window to 1:1 (pixel-perfect) | MOD+g |
Resize window to remove black borders | MOD+w | Double-left-click¹ |
Click on HOME |
MOD+h | Middle-click |
Click on BACK |
MOD+b | Right-click² |
Click on APP_SWITCH |
MOD+s | 4th-click³ |
Click on MENU (unlock screen)⁴ |
MOD+m |
Click on VOLUME_UP |
MOD+↑ (up) |
Click on VOLUME_DOWN |
MOD+↓ (down) |
Click on POWER |
MOD+p |
Power on | Right-click² |
Turn device screen off (keep mirroring) | MOD+o |
Turn device screen on | MOD+Shift+o |
Rotate device screen | MOD+r |
Expand notification panel | MOD+n | 5th-click³ |
Expand settings panel | MOD+n+n | Double-5th-click³ |
Collapse panels | MOD+Shift+n |
Copy to clipboard⁵ | MOD+c |
Cut to clipboard⁵ | MOD+x |
Synchronize clipboards and paste⁵ | MOD+v |
Inject computer clipboard text | MOD+Shift+v |
Enable/disable FPS counter (on stdout) | MOD+i |
Pinch-to-zoom | Ctrl+click-and-move |
Drag & drop APK file | Install APK from computer |
Drag & drop non-APK file | Push file to device |
¹Double-click on black borders to remove them.
²Right-click turns the screen on if it was off, presses BACK otherwise.
³4th and 5th mouse buttons, if your mouse has them.
⁴For react-native apps in development, MENU
triggers development menu.
⁵Only on Android >= 7.
Shortcuts with repeated keys are executed by releasing and pressing the key a
second time. For example, to execute «Expand settings panel»:
- Press and keep pressing MOD.
- Then double-press n.
- Finally, release MOD.
All Ctrl+key shortcuts are forwarded to the device, so they are
handled by the active application.
Custom paths
To use a specific adb
binary, configure its path in the environment variable
ADB
:
To override the path of the scrcpy-server
file, configure its path in
SCRCPY_SERVER_PATH
.
To override the icon, configure its path in SCRCPY_ICON_PATH
.
Why the name scrcpy?
A colleague challenged me to find a name as unpronounceable as gnirehtet.
strcpy
copies a string; scrcpy
copies a screen.
How to build?
See BUILD.
Common issues
See the FAQ.
Developers
Read the developers page.
Licence
Copyright (C) 2018 Genymobile
Copyright (C) 2018-2022 Romain Vimont
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Articles
- Introducing scrcpy
- Scrcpy now works wirelessly
Contact
If you encounter a bug, please read the FAQ first, then open an issue.
For general questions or discussions, you can also use:
- Reddit:
r/scrcpy
- Twitter:
@scrcpy_app
Translations
Translations of this README in other languages are available in the wiki.
Only this README file is guaranteed to be up-to-date.
На данный момент в 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. Информацию о подключенных устройствах получаем следующей командой:
adb devices
Если вы забыли подтвердить разрешение отладки по USB на экране телефона, то соединение устанавливаться не будет и появится сообщение о том, что устройство не авторизовано.
Переключаем ADB в режим работы TCP
adb tcpip 5555
Теперь телефон можно отключить от 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
setprop service.adb.tcp.port 5555
stop adbd
start adbd
Команда su переключает консоль в режим работы от имени superuser и предполагает наличие root-доступа.
Для этого необходимо выяснить текущий ip адрес телефона. Обычно его можно посмотреть так: «Настройки > О телефоне > Статус».
Выполняем команду adb connect, указав ip-адрес телефона и tcp порт adb.
adb connect 192.168.11.123:5555
Теперь, когда соединение с Android установлено запускаем Scrcpy.exe и открывается экран для удаленного управления устройством.
Scrcpy — программа с открытым исходным кодом от разработчика с GitHub, которая позволяет транслировать изображение с дисплея Android-смартфона на ПК. К тому же, она позволяет управлять смартфоном прямо с компьютера, на который транслируется изображение. Для того, чтобы пользоваться scrcpy, не нужно устанавливать дополнительные программы на устройство или настраивать Root-доступ. По заявлениям разработчика, трансляция картинки происходит с приятно малой задержкой (35~70 мс), высокой плавностью (30~60 к/c) и в родном разрешении.
Передача картинки между смартфоном и компьютером в основном осуществляется через USB-соединение и ADB (Android Device Bridge).
Установка и запуск scrcpy
Чтобы установить программу, нужно проделать следующие действия:
- Скачать последнюю версию с GitHub.
- Создать на диске C папку «scrcpy».
- Скопировать содержимое архива туда.
- Возможно, понадобится установить драйвера ADB для вашего смартфона (их можно найти на специализированных ресурсах).
На этом установка программы завершена, но перед её использованием нужно настроить смартфон, с которого вы будете транслировать картинку:
- Пройдите в пункт «О телефоне» и включите там режим разработчика. Для этого вам нужно 7 раз нажать либо на номер сборки устройства, если у вас «чистый» Android, либо на версию MIUI, если у вас MIUI.
- В меню разработчика нужно включить параметры «Отладка по USB», «Отладка по USB (Настройки безопасности)» и «Установка через USB» (если вам понадобится звук).
- Подключите смартфон к компьютеру по USB-кабелю.
Теперь устройство готово к трансляции картинки на ПК. Использование программы по кабелю осуществляется следующим образом:
- Нажмите Win+R и в открывшемся окне введите «cmd», нажмите ОК.
- В открывшейся командной строке введите «cd c:/scrcpy», нажмите Enter.
- Затем введите «scrcpy», снова нажмите Enter.
- Если всё сделано правильно, должно появиться окно с содержимым дисплея вашего смартфона.
Также можно транслировать картинку и по беспроводу. Scrcpy работает через adb, который позволяет управлять устройством без кабеля:
- Подключите смартфон к компьютеру по USB-кабелю. Это нужно для того, чтобы получить его IP-адрес.
- Подключитесь к той же сети Wi-Fi, к которой подключён ваш компьютер.
- В командной строке введите «cd c:/scrcpy», нажмите Enter.
- Затем введите «adb shell ip route» чтобы получить IP-адрес устройства, нажмите Enter.
- Введите «adb tcpip 5555», снова нажмите Enter.
- Отсоедините USB-кабель от смартфона.
- Подключитесь к устройству посредством команды «adb connect DEVICE_IP:5555» (где DEVICE_IP — IP-адрес устройства. В итоге должно получиться что-то наподобие: «adb connect 192.168.1.1:5555»).
- Затем введите «scrcpy» и вновь нажмите Enter.
Настройка параметров трансляции
Программа позволяет задать некоторые параметры для передаваемой картинки. Полный список таких параметров можно посмотреть на странице GitHub, здесь же я опишу самые основные:
- Изменение разрешения картинки: «scrcpy -m 1024». После -m задаётся количество пикселей по вертикали, программа автоматически подберёт количество пикселей по горизонтали в соответствии с соотношением сторон вашего устройства.
- Смена битрейта: «scrcpy -b 2M». После -b задаётся необходимый битрейт, который по умолчанию составляет 8 Мбит.
- Ограничение количества кадров: «scrcpy —max-fps 15». После —max-fps задаётся необходимое количество кадров.
Чтобы применить несколько параметров сразу, нужно написать их последовательно, например, следующим образом: «scrcpy -m 1024 -b 2M —max-fps 15».
Трансляция не только картинки, но и звука
Чтобы передавался ещё и звук, нужно установить и запустить программу sndcpy, которую также можно скачать с GitHub (нужно скачать архив под названием «sndcpy-with-adb-windows»). Стоит уточнить, что для передачи звука нужен Android 10 и установленный на компьютере плеер VLC.
- Установите sndcpy по аналогии с scrcpy.
- Подключите смартфон к компьютеру по USB-кабелю
- Нажмите Win+R и в открывшемся окне введите «cmd», нажмите ОК.
- В командной строке введите «cd c:/sndcpy», нажмите Enter.
- Затем введите «sndcpy», снова нажмите Enter.
- На ваш смартфон установится программа, которая запросит разрешение на трансляцию звука, нажмите «Начать».
- В командной строке нажмите «Enter». VLC может выдать ошибку, просто проигнорируйте её.
Звук продолжит играть со смартфона, чтобы избавиться от этого, просто убавьте громкость до нуля. Она регулируется на двух устройствах независимо друг от друга. Чтобы остановить передачу звука, нужно либо отключить кабель от устройства, либо нажать соответствующую кнопку на панели уведомлений смартфона.
Scrcpy — один из лучших инструментов дублирования экрана для Android. Он позволяет отображать ваш Android-телефон на ПК и напрямую управлять им с помощью периферийных устройств ПК, таких как клавиатура и мышь. Он поддерживает бесшовное копирование и вставку между вашим телефоном и ПК, работает как на Mac, так и на ПК с Windows, а также абсолютно бесплатно.
Однако для этого требуется элементарное понимание работы с командной строкой ADB. Если вы разработчик, вы, вероятно, уже знаете о Scrcpy, но если вы новичок, это руководство проведет вас через шаги по настройке Scrcpy для Windows.
Приложение Microsoft Your Phone также является достойным вариантом для зеркалирования телефонов Android на ПК с Windows, но оно по-прежнему ограничено некоторыми телефонами, а в Scrcpy все еще есть несколько дополнений.
Также проверьте: Как отразить телефон с помощью приложения вашего телефона на ПК с Windows
Как настроить ADB на ПК с Windows
- Скачать Инструменты платформы для Windows и распакуйте их в любую папку на вашем компьютере.
- Включите параметры разработчика на своем телефоне Android и включите «Отладку по USB». Теперь подключите телефон к компьютеру через USB-кабель.
- Shift + щелкните правой кнопкой мыши в любом месте папки, в которую вы извлекли инструменты платформы, и выберите здесь открыть окно команд (или «Открыть Powershell здесь» в Windows 10).
- Теперь пиши ‘Устройства adb’ в командном окне или напишите ‘ . adb устройства ‘ или же ‘ . adb.exe устройства ‘в окне PowerShell и разрешите подключение ADB на вашем телефоне.
- Отметьте опцию «запомнить этот компьютер» при авторизации доступа по adb.
Как настроить Scrcpy для зеркалирования телефона Android на ПК с Windows
Теперь, когда вы авторизовали adb-соединение на своем телефоне. Выполните следующие действия, чтобы настроить scrcpy.
Шаг 1: Загрузите последний выпуск scrcpy от GitHub. Прокрутите вниз до ресурсов и выберите из файлов, выделенных ниже.
Шаг 2: Теперь извлеките zip-папку в ту же папку инструментов платформы, которую вы извлекли для adb.
Шаг 3: При необходимости выберите замену файлов в папке инструментов платформы.
Шаг 4: Теперь просто откройте файл Scrcpy, добавленный в инструменты платформы, и ваш зеркальный телефон появится на вашем компьютере.
Вот и все. В следующий раз вы можете просто подключить свой телефон к компьютеру и напрямую открыть Scrcpy из папки платформы.
Необходимо управлять Android с Windows компьютер или ноутбука? В этом вам поможет бесплатная утилита Scrcpy!
Если у вас частично работает дисплей Android и необходимо извлечь данные, либо есть необходимо управлять смартфоном из под Windows. То тогда вам понадобиться установить Scrcpy!
- Установите Java JDK на ваш Windows компьютер
- Для запуска управления Android включите «отладку по USB«
- Подключите Android к Windows
- Скачайте архив scrcpy-windows-with-deps-vX.X.zip с программой scrcpy и распакуйте его
- Перейдите в папку с утилитой и запустите ее кликнув по файлу
scrcpy.exe
, после чего откроется окно с изображением из Android устройства - Для управления Android используете комбинацию клавиш (помимо мыши):
- Кнопка «Домой» —
Ctrl
+h
- Кнопка «Назад» —
Ctrl
+b
илиESC
- Кнопка «Запущенные приложения» —
Ctrl
+m
- Заблокировать и погасить экран Android —
Ctrl
+p
- Включить экран Android — правый клик мыши
- Вставить текст —
Ctrl
+v
- Кнопка «Домой» —
Если Scrcpy оказался сложным для использования, то попробуйте другую утилиту — Vyzor.
У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!
Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Это приложение обеспечивает отображение и управление устройствами Android, подключенными к USB. Он не требует никакого корневого доступа. Он работает на GNU / Linux, Windows , MacOS.
Требования
Для части Android требуется как минимум API 21 (Android 5.0).
Вам нужен adb (достаточно недавно, чтобы реализовать adb reverse, он работает с 1.0.36).
Он доступен в инструментах платформы Android SDK в вашем дистрибутиве (Android-adb-tools).
В Windows просто загрузите инструменты платформы и извлеките следующие файлы в каталог, доступный из вашего пути:
adb.exe
AdbWinApi.dll
AdbWinUsbApi.dll
Убедитесь, что вы активировали отладку adb на своих устройствах.
Клиент требует FFmpeg и LibSDL2.
Содержание
- Сборка и установка
- Linux
- Debian / Ubuntu
- Fedora
- Arch linux
- Windows
- Mac OS
- Общие этапы
- Предварительно построенный сервер
- Запуск
- Быстрые клавиши
- Скачать scrcpy
Сборка и установка
Системные шаги
Linux
Установите необходимые пакеты из диспетчера пакетов.
Debian / Ubuntu
# sudo apt install ffmpeg libsdl2-2.0.0 # sudo apt install make gcc pkg-config meson libavcodec-dev libavformat-dev libavutil-dev libsdl2-dev # server build dependencies sudo apt install openjdk-8-jdk
Fedora
# sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm # sudo dnf install SDL2-devel ffms2-devel meson gcc make # sudo dnf install java
Arch linux
Пользователями были созданы два пакета AUR:
scrcpy
scrcpy-prebuiltserver
Windows
Для Windows для простоты доступен готовый архив со всеми зависимостями (включая adb):
scrcpy-windows-with-deps-v1.0.zip
.
(SHA-256: bc4bf32600e8548cdce490f94bed5dcba0006cdd38aff95748972e5d9877dd62)
(Это просто переносная версия, включая dll, скопированная с MSYS2.)
Вместо этого вы можете создать его вручную.
Вам нужен MSYS2 для создания проекта.
С терминала MSYS2 установите необходимые пакеты:
# pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-ffmpeg
# pacman -S mingw-w64-x86_64-make mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-meson
Java (> = 7) недоступна в MSYS2, поэтому, если вы планируете строить сервер, установите его вручную и сделайте его доступным из PATH:
export PATH="$JAVA_HOME/bin:$PATH"
Mac OS
Используйте Homebrew для установки пакетов:
# brew install sdl2 ffmpeg
# brew install gcc pkg-config meson
Java (> = 7) недоступна в Homebrew, поэтому, если вы планируете строить сервер, установите его вручную и сделайте его доступным из PATH:
export PATH = "$ JAVA_HOME / bin: $ PATH"
Общие этапы
Установите Android SDK (Android Studio) и установите ANDROID_HOME в свой каталог. Например:
export ANDROID_HOME=~/android/sdk
Затем создайте scrcpy:
meson x --buildtype release --strip -Db_lto=true cd x ninja
Вы можете проверить это здесь:
# ninja run
Или вы можете установить его в систему:
# sudo ninja install
Это устанавливает два файла:
/usr/local/bin/scrcpy
/usr/local/share/scrcpy/scrcpy-server.jar
Просто удалите их, чтобы «удалить» приложение.
Предварительно построенный сервер
Поскольку двоичный файл сервера, который будет вытолкнут на устройство Android, не зависит от вашей системы и архитектуры, вы можете вместо этого использовать предварительно построенный бинарный файл:
scrcpy-server-v1.0.jar
.
(SHA-256: b573b06a6072476b85b6308e3ad189f2665ad5be4f8ca3a6b9ec81d64df20558)
В этом случае сборка не требует Java или Android SDK.
Загрузите предварительно построенный сервер где-нибудь и укажите его путь во время конфигурации Meson:
meson x --buildtype release --strip -Db_lto=true -Dprebuilt_server=/path/to/scrcpy-server.jar cd x ninja sudo ninja install
Запуск
Во время выполнения adb должен быть доступен из вашего PATH.
Если все в порядке, просто подключите Android-устройство и выполните:
# scrcpy
Он принимает аргументы командной строки, перечисленные в:
# scrcpy --help
Например, для уменьшения битрейта видео до 2 Мбит / с (по умолчанию 8 Мбит / с):
# scrcpy -b 2M
Чтобы ограничить размеры видео (например, если устройство имеет размер 2540 × 1440, но экран хоста меньше или не может декодировать такое высокое определение):
# scrcpy -m 1024
Если в устройствах adb указаны несколько устройств, вы должны указать серийный номер:
# scrcpy -s 0123456789abcdef</span>
Для запуска без установки:
# ./run x [опции]
(где x – ваш каталог сборки).
Быстрые клавиши
Действие | Горячая кнопка |
---|---|
включить полноэкранный режим | Ctrl +f |
изменить размер окна до 1: 1 | Ctrl +g |
изменить размер окна, чтобы удалить черные границы Ctrl + x | Ctrl +x |
нажать на HOME |
Ctrl +h |
нажать на BACK |
Ctrl +b |
нажать на APP_SWITCH |
Ctrl +m |
нажать на VOLUME_UP |
Ctrl ++ |
нажать наVOLUME_DOWN |
Ctrl +- |
нажать наPOWER |
Ctrl +p |
повернуть экран | Правый щелчок |
вставьте буфер обмена в компьютер на устройство | Ctrl +v |
включить / отключить счетчик FPS (на stdout) | Ctrl +i |