[1] Comentário enviado por fabio em 26/01/2023 - 06:28h
Ótimo artigo! Vou deixar minha contribuição aqui.
Usando Debian 11 o scrcpy está na versão 1.17, ao executar dá o seguinte erro:
$ scrcpy
INFO: scrcpy 1.17 <
https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed. 0.8 MB/s (34015 bytes in 0.042s)
[server] INFO: Device: samsung SM-S908E (Android 13)
INFO: Renderer: opengl
INFO: OpenGL version: 4.6.0 NVIDIA 470.161.03
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2312
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.AssertionError: java.lang.reflect.InvocationTargetExceptionWARN: Device disconnected
at com.genymobile.scrcpy.wrappers.SurfaceControl.setDisplaySurface(SurfaceControl.java:75)
at com.genymobile.scrcpy.ScreenEncoder.setDisplaySurface(ScreenEncoder.java:243)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:91)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
at com.genymobile.scrcpy.Server.main(Server.java:252)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:378)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.SurfaceControl.setDisplaySurface(SurfaceControl.java:73)
... 7 more
Caused by: java.lang.IllegalArgumentException: displayToken must not be null
at android.view.SurfaceControl$Transaction.setDisplaySurface(SurfaceControl.java:3693)
at android.view.SurfaceControl.setDisplaySurface(SurfaceControl.java:2489)
... 9 more
WARN: Killing the server...
Para resolver foi necessário remover essa versão defasada e instalar uma versão superior a 1.18:
$ sudo apt remove scrcpy
Instale as dependências para compilar a última release do GitHub:
$ sudo apt install ffmpeg libsdl2-2.0-0 adb wget gcc git pkg-config meson ninja-build libsdl2-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev libusb-1.0-0 libusb-1.0-0-dev
Em seguida:
$ git clone
https://github.com/Genymobile/scrcpy
$ cd scrcpy
$ ./install_release.sh
E agora instale o scrcpy:
$ ./install_release.sh
Fontes:
https://github.com/Genymobile/scrcpy/issues/2129
https://github.com/Genymobile/scrcpy/blob/master/BUILD.md#simple
Lembrando aos leitores que se o scrcpy foi instalado via snap, deverá ser removido com 'sudo snap remove' , em vez de 'sudo apt remove'
Não conhecia este comando 'git clone'. Adorei!!