github.com-Genymobile-scrcpy_-_2018-03-10_17-20-02
Item Preview
Share or Embed This Item
- Publication date
- 2018-03-10
Display and control your Android device
scrcpy
This application provides display and control of Android devices connected onUSB. It does not require any root access. It works on GNU/Linux, Windowsand MacOS.
Requirements
The Android part requires at least API 21 (Android 5.0).
You need [adb] (recent enough so that adb reverse
is implemented, it workswith 1.0.36). It is available in the Android SDK platformtools, on packaged in your distribution (android-adb-tools
).
On Windows, just download the platform-tools andextract the following files to a directory accessible from your PATH
: - adb.exe
- AdbWinApi.dll
- AdbWinUsbApi.dll
Make sure you enabled adb debugging on your device(s).
The client requires FFmpeg and LibSDL2.
Build and install
System-specific steps
Linux
Install the required packages from your package manager (here, for Debian):
```bash
runtime dependencies
sudo apt install ffmpeg libsdl2-2.0.0
build dependencies
sudo apt install make gcc openjdk-8-jdk pkg-config meson zip \ libavcodec-dev libavformat-dev libavutil-dev \ libsdl2-dev```
Windows
For Windows, for simplicity, a prebuilt archive with all the dependencies(including adb
) is available:
scrcpy-windows-with-deps-v1.0.zip
.
(SHA-256: bc4bf32600e8548cdce490f94bed5dcba0006cdd38aff95748972e5d9877dd62)
(It's just a portable version including _dll copied from MSYS2.)_
Instead, you may want to build it manually. You need [MSYS2] to build theproject. From an MSYS2 terminal, install the required packages:
```bash
runtime dependencies
pacman -S mingw-w64-x8664-SDL2 \ mingw-w64-x8664-ffmpeg
build dependencies
pacman -S mingw-w64-x8664-make \ mingw-w64-x8664-gcc \ mingw-w64-x8664-pkg-config \ mingw-w64-x8664-meson \ zip```
Java (>= 7) is not available in MSYS2, so if you plan to build the server,install it manually and make it available from the PATH
:
bashexport PATH="$JAVA_HOME/bin:$PATH"
Mac OS
Use [Homebrew] to install the packages:
```bash
runtime dependencies
brew install sdl2 ffmpeg
build dependencies
brew install gcc pkg-config meson zip```
Java (>= 7) is not available in Homebrew, so if you plan to build the server,install it manually and make it available from the PATH
:
bashexport PATH="$JAVA_HOME/bin:$PATH"
Common steps
Install the [Android SDK] (Android Studio), and set ANDROID_HOME
toits directory. For example:
bashexport ANDROID_HOME=~/android/sdk
Then, build scrcpy
:
bashmeson x --buildtype release --strip -Db_lto=truecd xninja
You can test it from here:
bashninja run
Or you can install it on the system:
bashsudo ninja install # without sudo on Windows
This installs two files:
/usr/local/bin/scrcpy
/usr/local/share/scrcpy/scrcpy-server.jar
Just remove them to "uninstall" the application.
Prebuilt server
Since the server binary, that will be pushed to the Android device, does notdepend on your system and architecture, you may want to use the prebuilt binaryinstead:
scrcpy-server-v1.0.jar
.
(SHA-256: b573b06a6072476b85b6308e3ad189f2665ad5be4f8ca3a6b9ec81d64df20558)
In that case, the build does not require Java or the Android SDK.
Download the prebuilt server somewhere, and specify its path during the Mesonconfiguration:
bashmeson x --buildtype release --strip -Db_lto=true \ -Dprebuilt_server=/path/to/scrcpy-server.jarcd xninjasudo ninja install
Run
At runtime, adb
must be accessible from your PATH
.
If everything is ok, just plug an Android device, and execute:
bashscrcpy
It accepts command-line arguments, listed by:
bashscrcpy --help
For example, to decrease video bitrate to 2Mbps (default is 8Mbps):
bashscrcpy -b 2M
To limit the video dimensions (e.g. if the device is 2540×1440, but the hostscreen is smaller, or cannot decode such a high definition):
bashscrcpy -m 1024
If several devices are listed in adb devices
, you must specify the serial:
bashscrcpy -s 0123456789abcdef
To run without installing:
bash./run x [options]
(where x
is your build directory).
Shortcuts
| Action | Shortcut | | ------------------------------------- | -------------:| | switch fullscreen mode | Ctrl
+f
| | resize window to 1:1 (pixel-perfect) | Ctrl
+g
| | resize window to remove black borders | Ctrl
+x
| | click on HOME
| Ctrl
+h
| | click on BACK
| Ctrl
+b
| | click on APP_SWITCH
| Ctrl
+m
| | click on VOLUME_UP
| Ctrl
++
| | click on VOLUME_DOWN
| Ctrl
+-
| | click on POWER
| Ctrl
+p
| | turn screen on | Right-click | | paste computer clipboard to device | Ctrl
+v
| | enable/disable FPS counter (on stdout) | Ctrl
+i
|
Why scrcpy?
A colleague challenged me to find a name as unpronounceable as [gnirehtet].
[strcpy
] copies a string; scrcpy
copies a screen.
Developers
Read the [developers page].
Licence
Copyright (C) 2018 GenymobileLicensed 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.0Unless required by applicable law or agreed to in writing, softwaredistributed 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 andlimitations under the License.
Article
To restore the repository download the bundle
wget https://archive.org/download/github.com-Genymobile-scrcpy_-_2018-03-10_17-20-02/Genymobile-scrcpy_-_2018-03-10_17-20-02.bundle
and run: git clone Genymobile-scrcpy_-_2018-03-10_17-20-02.bundle
Source: https://github.com/Genymobile/scrcpy
Uploader: Genymobile
Upload date: 2018-03-10
- Addeddate
- 2018-03-11 06:14:59
- Identifier
- github.com-Genymobile-scrcpy_-_2018-03-10_17-20-02
- Originalurl
-
https://github.com/Genymobile/scrcpy
- Pushed_date
- 2018-03-10 17:20:02
- Scanner
- Internet Archive Python library 1.5.0
- Uploaded_with
- iagitup - v1.0
- Year
- 2018