Вы когда-нибудь мечтали о том, чтобы контролировать или зеркально отображать данные смартфона на Android с помощью вашего компьютера? Scrcpy – бесплатная программа с открытым исходным кодом от Genymotion может соответствовать вашим потребностям и работает в Windows, Mac OS или Linux. Вам просто нужно установить (или создать) программу на своем компьютере, подключить свой телефон через USB, переключиться в режим разработчика, включить отладку по USB и запустить программу, которая автоматически установит сервер (файл jar) на вашем телефоне.
Самый простой способ попробовать – с Windows, поскольку разработчики уже предоставляют предварительно созданные двоичные файлы, но мы, для обзора, установим его на Ubuntu 16.04, так как мы используем эту операционную систему ежедневно. Некоторые программные пакеты в Ubuntu 16.04 немного устарели, поэтому потребовалось несколько часов, чтобы успешно установить их, рекомендуем вам, если захотите пользоваться программой, используйте Ubuntu 17.10 или 18.04.
Сначала создадим рабочий каталог и извлечем исходный код
1 2 3 |
mkdir -p ~/edev/sandbox cd ~/edev/sandbox git clone https://github.com/Genymobile/scrcpy |
Нам также нужно установить некоторые зависимости для запуска (первая строка) и сборки (вторая) программы:
1 2 |
sudo apt install ffmpeg libsdl2-2.0.0 sudo apt install make gcc openjdk-8-jdk pkg-config zip libavcodec-dev libavformat-dev libavutil-dev |
В оригинальных инструкциях для Debian также перечислены meson и libsdl2-dev, но в Ubuntu 16.04 установлен Meson 0.29, а нам нужна версия 0.37 или выше. Поэтому используем pip для установки последней версии (0.45):
1 2 |
sudo apt remove meson sudo pip3 install meson |
libsdl2-dev тоже не устанавливался, и пришлось включить xenial-proposed в /etc/apt/sources.list:
1 |
deb http://archive.ubuntu.com/ubuntu/ xenial-proposed restricted main multiverse universe |
перед установкой:
1 2 |
sudo apt update sudo apt install libsdl2-dev |
Эти две проблемы не должны возникать в более поздних версиях Ubuntu.
Также необходимо установить Android SDK, но это только в том случае, если вы планируете создавать серверную часть, и это необязательно. Опишем шаги, которым необходимо следовать, но вы можете и пропустить эту часть.
Скачайте, установите и запустите Android Studio:
1 2 3 4 5 |
pushd /opt sudo unzip android-studio-ide-171.4443003-linux.zip cd android-studio/bin export ANDROID_HOME=~/opt/android-studio/ ./studio.h |
Загрузите последнюю версию Android SDK в Android Studio SDK и примите условия лицензионного соглашения.
Это важный шаг, или сборка завершится неудачно. Однако, в нашем случае, это все равно не удалось сделать, так как есть несоответствие между версией (26.0.2) и используемой нами версией (26.1.1).
Вы не приняли лицензионные соглашения следующих компонентов SDK:
[Android SDK Build-Tools 26.0.2, Android SDK Platform 27].
Пришлось долго искать в чем причина, прежде чем мы поняли, что есть готовый сервер (двоичный файл, который должен быть скопирован на телефон), и просто построили Приложение для Linux:
1 2 3 4 5 6 7 |
popd wget https://github.com/Genymobile/scrcpy/releases/download/v1.0/scrcpy-server-v1.0.jar mv scrcpy-server-v1.0.jar server meson x --buildtype release --strip -Db_lto=true -Dprebuilt_server=/home/jaufranc/edev/sandbox/scrcpy/scrcpy-server.jar cd x ninja sudo ninja install |
Теперь scrcpy должен быть установлен. Убедитесь, что ваш телефон подключен через adb, и в телефоне в настройках разработчика включена USB-отладка
Теперь вы можете дополнительно открыть терминал, чтобы проверить, что ваш телефон обнаружен:
1 2 3 |
adb devices List of devices attached 9c6b9b8e device |
Время запускать программу, просто наберите:
1 |
scrcpy |
В течение нескольких секунд вы увидите, что дисплей вашего телефона появился на рабочем столе…
Вы можете управлять дисплеем с помощью мыши и клавиатуры. Возможно что-то будет отличаться в зависимости от используемого телефона и компьютера. Это также способ отразить ваш телефон на большом экране, используя сенсорный экран для управления. Кроме приложений или действий, требующих multi-touch, можно делать все, что хочется, используя мышь и клавиатуру, отправлять SMS, чат, открывать браузер в интернете, играть в игры и т. д.
Горизонтальный режим также работает, и окно будет автоматически переключаться после изменения направления телефона.
Окно также может быть увеличено, не в полный размер, но близко к нему… звук все равно идет через динамики телефона.
Нет кнопки программного обеспечения для Home, Back и App Switch, поэтому советую вам ознакомиться с несколькими “горячими” клавишами команд, чтобы в полной мере использовать возможности программы:
переключение полноэкранного режима – Ctrl+f
изменить размер окна на 1:1 (pixel-perfect) – Ctrl+g
изменить размер окна, удалив черные границы – Ctrl+x
нажмите на HOME – Ctrl+h
нажмите на BACK – Ctrl+b
нажмите на APP_SWITCH – Ctrl+m
нажмите на VOLUME_UP – Ctrl++
нажмите на VOLUME_DOWN – Ctrl+-
нажмите на POWER – Ctrl+p
повернуть экран – кликнуть по правой кнопкой мыши
вставить буфер обмена компьютера в устройство – Ctrl+v
включить / Выключить счетчик кадров (на stdout) – Ctrl+i
Счетчик fps? Интересно. Включаем его при панорамировании и масштабировании в приложении MAPS.ME.
Частота кадров упала до 30 кадров в секунду, некоторые кадры время от времени пропускались, поэтому не идеально, но все же не так плохо. Советую вам попробовать!
Выражаем свою благодарность источнику с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.