Add README
This commit is contained in:
parent
54d9148a36
commit
9d141a7f50
1 changed files with 110 additions and 0 deletions
110
README.md
Normal file
110
README.md
Normal file
|
@ -0,0 +1,110 @@
|
|||
# ScrCpy
|
||||
|
||||
This project displays screens of Android devices plugged on USB in live.
|
||||
|
||||
|
||||
## Run
|
||||
|
||||
### Runtime requirements
|
||||
|
||||
This projects requires _FFmpeg_, _LibSDL2_ and _LibSDL2-net_.
|
||||
|
||||
#### Linux
|
||||
|
||||
Install the packages from your package manager. For example, on Debian:
|
||||
|
||||
sudo apt install ffmpeg libsdl2-2.0.0 libsdl2-net-2.0.0
|
||||
|
||||
|
||||
#### Windows
|
||||
|
||||
From [MSYS2]:
|
||||
|
||||
pacman -S mingw-w64-x86_64-SDL2
|
||||
pacman -S mingw-w64-x86_64-SDL2_net
|
||||
pacman -S mingw-w64-x86_64-ffmpeg
|
||||
|
||||
[MSYS2]: http://www.msys2.org/
|
||||
|
||||
|
||||
#### MacOS
|
||||
|
||||
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`:
|
||||
|
||||
export PATH="$JAVA_HOME/bin:$PATH"
|
||||
|
||||
### Generate
|
||||
|
||||
Make sure your `ANDROID_HOME` variable is set to your Android SDK directory:
|
||||
|
||||
export ANDROID_HOME=~/android/sdk
|
||||
|
||||
From the project root directory, execute:
|
||||
|
||||
make release
|
||||
|
||||
This will generate the application in `dist/scrcpy/`.
|
||||
|
||||
|
||||
## Run
|
||||
|
||||
Plug a device, and execute:
|
||||
|
||||
./scrcpy
|
||||
|
||||
If several devices are listed in `adb devices`, you must specify the _serial_:
|
||||
|
||||
./scrcpy 0123456789abcdef
|
||||
|
||||
To change the default port (useful to launch several `scrcpy` simultaneously):
|
||||
|
||||
./scrcpy -p 1234
|
Loading…
Reference in a new issue