From 93e9fb496c44e5a59ab32d5db638c6e1e856a2ea Mon Sep 17 00:00:00 2001 From: Romain Vimont Date: Tue, 13 Feb 2018 19:31:44 +0100 Subject: [PATCH] Update README Explain how to build, install and run the application. --- README.md | 243 +++++++++++++++++++------------ assets/screenshot-debian-600.jpg | Bin 0 -> 45451 bytes 2 files changed, 152 insertions(+), 91 deletions(-) create mode 100644 assets/screenshot-debian-600.jpg diff --git a/README.md b/README.md index bfd3f2e7..2f429474 100644 --- a/README.md +++ b/README.md @@ -1,141 +1,202 @@ -# ScrCpy +# scrcpy -This project displays screens of Android devices plugged on USB in live. +This project displays screens of Android devices connected on USB, and allow to +control them using the host mouse and keyboard. It does not require any _root_ +access. It works on _GNU/Linux_, _Windows_ and _Mac OS_. + +![screenshot](assets/screenshot-debian-600.jpg) -## Run +## Requirements -### Runtime requirements +The Android part requires at least API 21 (Android 5.0). -This projects requires _FFmpeg_, _LibSDL2_ and _LibSDL2-net_. +You need [adb] (recent enough so that `adb reverse` is implemented, it works +with 1.0.36). It is available in the [Android SDK platform +tools][platform-tools], on packaged in your distribution (`android-adb-tools`). + +On Windows, just download the [platform-tools][platform-tools-windows] and +extract the following files to a directory accessible from your `PATH`: + - `adb.exe` + - `AdbWinApi.dll` + - `AdbWinUsbApi.dll` + +Make sure you [enabled adb debugging][enable-adb] on your device(s). + +[adb]: https://developer.android.com/studio/command-line/adb.html +[enable-adb]: https://developer.android.com/studio/command-line/adb.html#Enabling +[platform-tools]: https://developer.android.com/studio/releases/platform-tools.html +[platform-tools-windows]: https://dl.google.com/android/repository/platform-tools-latest-windows.zip + +The client requires _FFmpeg_ and _LibSDL2_. + + +## Build and install + +### System-specific steps #### Linux -Install the packages from your package manager. For example, on Debian: +Install the required packages from your package manager (here, for Debian): - sudo apt install ffmpeg libsdl2-2.0.0 libsdl2-net-2.0.0 + # 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 -From [MSYS2]: +For Windows, for simplicity, a prebuilt package with all the dependencies +(including `adb`) is available: TODO. - pacman -S mingw-w64-x86_64-SDL2 - pacman -S mingw-w64-x86_64-SDL2_net - pacman -S mingw-w64-x86_64-ffmpeg +Instead, you may want to build it manually. You need [MSYS2] to build the +project. From an MSYS2 terminal, install the required packages: [MSYS2]: http://www.msys2.org/ + # runtime dependencies + pacman -S mingw-w64-x86_64-SDL2 \ + mingw-w64-x86_64-ffmpeg -#### MacOS + # build dependencies + pacman -S mingw-w64-x86_64-make \ + mingw-w64-x86_64-gcc \ + mingw-w64-x86_64-pkg-config \ + mingw-w64-x86_64-meson \ + zip -TODO - - -## Build - -The project is divided into two parts: - - the server, running on the device (in `server/`); - - the client, running on the computer (in `app/`). - -The server is a raw Java project requiring Android SDK. It not an Android -project: the target file is a `.jar`, and a `main()` method is executed with -_shell_ rights. - -The client is a C project using [SDL] and [FFmpeg], built with [Meson]/[Ninja]. - -The root directory contains a `Makefile` to build both parts. - -[sdl]: https://www.libsdl.org/ -[ffmpeg]: https://www.ffmpeg.org/ -[meson]: http://mesonbuild.com/ -[ninja]: https://ninja-build.org/ - - -### Build requirements - -Install the [Android SDK], the JDK 8 (`openjdk-8-jdk`), and the packages -described below. - -[Android SDK]: https://developer.android.com/studio/index.html - - -#### Linux - - sudo apt install make gcc openjdk-8-jdk pkg-config meson zip \ - libavcodec-dev libavformat-dev libavutil-dev \ - libsdl2-dev libsdl2-net-dev - - -#### Windows - -Install these packages: - - pacman -S mingw-w64-x86_64-make - pacman -S mingw-w64-x86_64-gcc - pacman -S mingw-w64-x86_64-pkg-config - pacman -S mingw-w64-x86_64-meson - pacman -S zip - -Java 8 is not available in MSYS2, so install it manually and make it available -from the `PATH`: +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`: export PATH="$JAVA_HOME/bin:$PATH" -### Build +#### Mac OS -Make sure your `ANDROID_HOME` variable is set to your Android SDK directory: +Use [Homebrew] to install the packages: + +[Homebrew]: https://brew.sh/ + + # 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`: + + export PATH="$JAVA_HOME/bin:$PATH" + + +### Common steps + +Install the [Android SDK] (_Android Studio_), and set `ANDROID_HOME` to +its directory. For example: + +[Android SDK]: https://developer.android.com/studio/index.html export ANDROID_HOME=~/android/sdk -From the project root directory, execute: +Then, build `scrcpy`: - make build + meson x --buildtype release --strip -Db_lto=true + cd x + ninja -To run the build: +You can test it from here: - make run + ninja run -It is also pass arguments to `scrcpy` via `make`: +Or you can install it on the system: - make run ARGS="-p 1234" + sudo ninja install # without sudo on Windows -The purpose of this command is to execute `scrcpy` during the development. +This installs two files: + + - `/usr/local/bin/scrcpy` + - `/usr/local/share/scrcpy/scrcpy-server.jar` + +Just remove them to "uninstall" the application. -### Test +#### Prebuilt server -To execute unit tests: +Since the server binary, that will be pushed to the Android device, does not +depend on your system and architecture, you may want to use the prebuilt binary +instead: [`scrcpy-server.jar`](TODO). - make test +In that case, the build does not require Java or the Android SDK. -The server-side tests require JUnit 4: +Download the prebuilt server somewhere, and specify its path during the Meson +configuration: - sudo apt install junit4 - - -### Generate a release - -From the project root directory, execute: - - make release - -This will generate the application in `dist/scrcpy/`. + meson x --buildtype release --strip -Db_lto=true \ + -Dprebuilt_server=/path/to/scrcpy-server.jar + cd x + ninja + sudo ninja install ## Run -Plug a device, and from `dist/scrcpy/`, execute: +_At runtime, `adb` must be accessible from your `PATH`._ - ./scrcpy +If everything is ok, just plug an Android device, and execute: + + scrcpy + +It accepts command-line arguments, listed by: + + scrcpy --help + +For example, to increase video bitrate to 8Mbps (default is 4Mbps): + + scrcpy -b 8M + +To limit the video dimensions (e.g. if the device is 2540×1440, but the host +screen is smaller, or cannot decode such a high definition): + + scrcpy -m 1024 If several devices are listed in `adb devices`, you must specify the _serial_: - ./scrcpy 0123456789abcdef + scrcpy -s 0123456789abcdef -To change the default port (useful to launch several `scrcpy` simultaneously): - ./scrcpy -p 1234 +## Shortcuts -Other options are available, check `scrcpy --help`. + | 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_ | + | enable/disable FPS counter (on stdout) | `Ctrl`+`i` | + + +## Licence + + Copyright (C) 2018 Genymobile + + 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. diff --git a/assets/screenshot-debian-600.jpg b/assets/screenshot-debian-600.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1a30e15e824f29d86f424d16747ed8adcdbbbfac GIT binary patch literal 45451 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 UO`|yw?C-mabxfFo{&(*G0F->