They say install it via package manager or terminal.
Afterwards. Bring your Android into "developer mode" and enable usb debugging connect to computer and the magic starts.
In my case not.
When opening scrcpy (console) I saw the error: scrcpy could not find any adb device
A internet search told me that I should install the SDK platform tools (via package manager or terminal) and I followed this guide.
In terminal with ./adb devices I saw a device
So again, I run scrcpy (console) but now it said: scrcpy could not invoke method
For this error I found the following: reboot your phone
Thanks, followed all steps, still: ERROR: Could not invoke method
Is this helping:
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 163.8 MB/s (41650 bytes in 0.000s)
[server] INFO: Device: *brand and model of smartphone* (Android 16)
[server] ERROR: Could not invoke method
java.lang.NoSuchMethodException: android.content.IClipboard$Stub$Proxy.addPrimaryClipChangedListener [interface android.content.IOnPrimaryClipChangedListener, class java.lang.String, class java.lang.String, int]
at java.lang.Class.getMethod(Class.java:2934)
at java.lang.Class.getMethod(Class.java:2434)
at com.genymobile.scrcpy.wrappers.ClipboardManager.getAddPrimaryClipChangedListener(ClipboardManager.java:128)
at com.genymobile.scrcpy.wrappers.ClipboardManager.addPrimaryClipChangedListener(ClipboardManager.java:138)
at com.genymobile.scrcpy.Device.<init>(Device.java:100)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:64)
at com.genymobile.scrcpy.Server.main(Server.java:334)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:411)
[server] ERROR: Exception on thread Thread[Thread-2,5,main]
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
at com.genymobile.scrcpy.wrappers.ServiceManager.getInputManager(ServiceManager.java:75)
at com.genymobile.scrcpy.Device.injectEvent(Device.java:192)
at com.genymobile.scrcpy.Device.injectKeyEvent(Device.java:203)
at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:211)
at com.genymobile.scrcpy.Device.pressReleaseKeycode(Device.java:216)
at com.genymobile.scrcpy.Controller.control(Controller.java:66)
at com.genymobile.scrcpy.Server$3.run(Server.java:132)
at java.lang.Thread.run(Thread.java:1564)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ServiceManager.getInputManager(ServiceManager.java:72)
... 7 more
Caused by: java.lang.NullPointerException
at java.util.Objects.throwNullPointerException(Objects.java:524)
at java.util.Objects.requireNonNull(Objects.java:235)
at android.hardware.input.InputManager.getInstance(InputManager.java:354)
... 9 more
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.AssertionError: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean]
at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:83)
at com.genymobile.scrcpy.ScreenEncoder.createDisplay(ScreenEncoder.java:278)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:84)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:74)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:100)
at com.genymobile.scrcpy.Server.main(Server.java:334)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:411)
Caused by: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean]
at java.lang.Class.getMethod(Class.java:2934)
at java.lang.Class.getMethod(Class.java:2434)
at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:81)
... 7 more
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 25.2.8-0ubuntu0.24.04.1
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2408
WARN: Device disconnected
WARN: Killing the server...
Yes, a lot. Everything in that output says that scrcpy is trying to call on Android API's that do not exist: So, scrcpy 1.25 is not compatible with Android 16.
Having followed that way, it worked today for me.
…
All because there is a cycling app (MyWhoosh) which either runs on Microslop/Mac/Android but they provide not an .exe file, so install via Wine/Bottles was not possible. And only for the download to create a Microslop account was not my desire ...