Giter VIP home page Giter VIP logo

Comments (72)

guydoron avatar guydoron commented on July 26, 2024 1

OK, According to scrcpy this error is harmless. Well, I got it to work using this:
(shit, that easy) ... sorry for the inconvenience. Thank's alot drauggres!!! 👍

Control issues
Mouse and keyboard do not work
On some devices, you may need to enable an option to allow simulating input. In developer options, enable:

USB debugging (Security settings)
Allow granting permissions and simulating input via USB debugging

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Hi.
First question as always: have you tried original scrcpy with your device?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Sure, It worked with remote control no issue .. Should original scrcpy need to be also installed?

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Sure, It worked with remote control no issue

That is good.

Should original scrcpy need to be also installed?

No, this project includes modified version, you don't need original.

To debug this we will need at first to confirm that browser generates events and sends them over websocket:

  • open dev tools
  • navigate to Network tab
  • find active websocket connection (if it is not visible - reload the page)
  • select websocket connection, open Messages tab
  • generate some events (click, drag, press home button, etc.)
  • see if there are any messages sent

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Yep, Events sent

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Can you also try to press Expand panel/Collapse panel buttons (they are under More (three dots) menu)?
It could be that touch events have incorrect coordinates, but these two buttons generate simple commands.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Expand/Collapse worked (Expand/Collapse notification bar)

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Good. Can you turn on Pointer location in the Developer options on your device?
Than do some "control" in web interface to verify my "incorrect coordinates" theory.

BTW what decoder are you using? Is there the same problem with others?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Where can I find the developer option (Do you mean in an android device)?
All decoders worked the same actually, all was shown but no remote control.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Yes, Developer options on your android device.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

done, what to look for? also on the viewer and on ADB connected device.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Try to draw anything on device screen using browser, with Pointer location enabled you will see where events land, if they do.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Couldn't see any issue there. Look. https://drive.google.com/file/d/1rvEwthtcb6n44OcfiJ3bbjG3BBQKmwsH/view?usp=sharing

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

That doesn't look like chrome on mac :-)

I need Pointer location to be enabled on the device you are trying to control, no the one with browser.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Yes, also tested using a real android device as a viewer. here is the mac.chrome: https://drive.google.com/file/d/1nh7dXNd0p_OAwjot-QF7rOkH6rjir3lb/view?usp=sharing

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

So that we understand each other: did you drew this line direcly on device with finger and it does not appear than you drew it from browser?

Screenshot.

Screen Shot

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Drew it with the actual controlled android device directly.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

OK. Maybe we can find something in the scrcpy-server logs.

  1. stop node server
  2. adb shell 'killall app_process'
  3. adb push dist/server/vendor/Genymobile/scrcpy/scrcpy-server.jar /data/local/tmp
  4. adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'
  5. start node server
  6. open browser, try to draw something, look at the server output (in adb shell)

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

If there is nothing useful there, next step will be to connect to the scrcpy-server with a debugger and see what actually happens with these events.

Let me know if you are willing to do that, I can describe the steps how to do it and where to look at.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Don't see any log on the terminal nor the shell from the browser ... maybe I do not look at the right place?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

If there is nothing useful there, next step will be to connect to the scrcpy-server with a debugger and see what actually happens with these events.

Let me know if you are willing to do that, I can describe the steps how to do it and where to look at.

Of-Course

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

It should look something like this:

Terminal

terminal

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Yes, it is already running as per of your last instructions.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

And there are no additional logs than you "draw" from the browser?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Nothing, also from directly on the device nothing. https://drive.google.com/file/d/1LXCAfX_tOVLN71-PV5ym6dX60oC8DEac/view?usp=sharing

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

OK, then we go debugging.
You will need:

  • install Android Studio.
  • clone https://github.com/NetrisTV/scrcpy
  • open the project in the studio
  • create Remote Run/Debug configuration: Host: localhost, Port: 5005
  • connect you android device to your host with adb
  • forward debug port:
    adb forward tcp:5005 tcp:5005
  • if your device is running android 9 and above:
    adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -XjdwpProvider:internal -XjdwpOptions:transport=dt_socket,suspend=y,server=y,address=5005 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'
  • if your device is running android 8 and below:
    adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=5005 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'
  • Press Debug button in the studio

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Events should arrive here:
https://github.com/NetrisTV/scrcpy/blob/531b190706a7f8188cb66478025c9985a15fc018/server/src/main/java/com/genymobile/scrcpy/WebSocketConnection.java#L224

And here touch events are handled:
https://github.com/NetrisTV/scrcpy/blob/531b190706a7f8188cb66478025c9985a15fc018/server/src/main/java/com/genymobile/scrcpy/Controller.java#L162

You will need to set break point there, generate event (simple click should be enough) and then step by step trace what is going wrong.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

drauggres, I Opened the project on Studio all is fine. When trying to debug I always get Unable to open debugger port (localhost:5005): java.io.IOException "handshake failed - connection prematurely closed"

Tried with both remote machine connected to ADB and local machine

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Android 8.1 (Xiomi), using your instruction i used this :
if your device is running android 8 and below:
adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=5005 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Event :
Connected to the target VM, address: 'localhost:5005', transport: 'socket'

and immediately :

Disconnected from the target VM, address: 'localhost:5005', transport: 'socket'

and I see the ADB shell on the terminal showing "Aborted"

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

(localhost:5005): java.io.IOException "handshake failed - connection prematurely closed"

Did you do adb forward tcp:5005 tcp:5005?

and I see the ADB shell on the terminal showing "Aborted"

scrcpy-server.jar delete itself after execution. You need to push it again or rename it (and use new name in the commands).

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Did you do adb forward tcp:5005 tcp:5005?
Yes
scrcpy-server.jar delete itself after execution. You need to push it again or rename it (and use new name in the commands).

When should I do it? Just do ADB push scrcpy-server.jar ?

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Anytime before adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=5005 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'

Yes, just adb push dist/server/vendor/Genymobile/scrcpy/scrcpy-server.jar /data/local/tmp (assuming you are in the ws-scrcpy directory and did npm dist)

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Im on my dev computer and don't have the ws-scrcpy here, only the clone https://github.com/NetrisTV/scrcpy which you guided me. So i also need to close ws-scrcpy here and push the scrcpy-server.jar?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

close=clone

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

You can download prebuild version of scrcpy-server.jar here instead: https://github.com/NetrisTV/ws-scrcpy/raw/master/vendor/Genymobile/scrcpy/scrcpy-server.jar

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Thank you. Now i get an error on terminal for :
[server] INFO: Device: Xiaomi Redmi 5 Plus (Android 8.1.0)
[server] ERROR: WebSocket error
java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:442)
at sun.nio.ch.Net.bind(Net.java:434)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:224)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:67)
at org.java_websocket.server.WebSocketServer.doSetupSelectorAndServerThread(WebSocketServer.java:505)
at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:315)
at com.genymobile.scrcpy.WebSocketConnection.(WebSocketConnection.java:23)
at com.genymobile.scrcpy.Server.main(Server.java:144)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:388)

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024
  1. stop node server
  2. adb shell 'killall app_process'

These two steps apply here as well.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Great. Now it's working. Now. What is the web address or how to work with the app in order to debug?

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Now you need to start ws-scrcpy node server.
If it is on the other machine than the one you have device connected to, you will not see the device in the table.
You will need to open stream link directly, something like:
http://ws-scrcpy-host:8000/#!action=stream&decoder=broadway&ip=127.0.0.1&port=8886 in your browser, where in the ip parameter you specify your android device ip address.

P.S. or you can do adb forward tcp:8886 tcp:8886 and leave it 127.0.0.1

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Great. I'm debugging. There are no any errors, it does get a point and inject the event's yet not working :)

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Let me know what should i look to.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

I just tried to do the same and noticed that I'm not able to see event value while debugging.

  1. you will need to build debug version of the server (see 1 in the screenshot how to do it)
  2. use it instead of scrcpy-server.jar:
    adb push server/build/outputs/apk/debug/server-debug.apk /data/local/tmp/scrcpy-server.jar
Studio

studio

Debugging this version makes more sense

Debugger

debugger

You can also debug original scrcpy (doc) and try to spot the difference.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Yes You Right. Will do that. Anyway here is a log i have from logcat. Maybe u can spot somthing.

2020-10-08 13:53:19.240 5089-5089/? W/app_process: miui_dex2oat: OatFile: /data/local/tmp/oat/arm64/scrcpy-server.odex Compiler-Filter = quicken
2020-10-08 13:53:29.437 5089-5089/? D/AndroidRuntime: Calling main entry com.genymobile.scrcpy.Server
2020-10-08 13:53:29.608 5089-5089/? D/scrcpy: Server started!
2020-10-08 13:53:30.024 5103-5103/? W/app_process: miui_dex2oat: OatFile: /data/local/tmp/oat/arm64/scrcpy-server.odex Compiler-Filter = quicken
2020-10-08 13:53:39.700 1552-1861/? E/AppScanObserverService: Result available, null observers for user: 0
2020-10-08 13:53:42.178 1552-1642/? W/ActivityManager: Sending non-protected broadcast miui.intent.action.KEYCODE_EXTERNAL from system 1552:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:20372 com.android.server.am.ActivityManagerService.broadcastIntent:20559 android.app.ContextImpl.sendBroadcastAsUser:1140 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2309 android.os.Handler.handleCallback:794 
2020-10-08 13:53:42.314 1552-1642/? W/ActivityManager: Sending non-protected broadcast android.intent.action.KEYCODE_POWER_UP from system 1552:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:20372 com.android.server.am.ActivityManagerService.broadcastIntent:20559 android.app.ContextImpl.sendBroadcastAsUser:1140 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2309 android.os.Handler.handleCallback:794 
2020-10-08 13:53:42.704 3179-3335/? W/LocationUsageServer: requestLocationVerity:bad
2020-10-08 13:53:42.810 1552-1642/? W/Looper: Dispatch took 114ms on android.ui, h=Handler (com.android.server.am.ActivityManagerService$UiHandler) {6be1ed2} cb=null msg=53
2020-10-08 13:53:43.835 1552-1642/? W/ActivityManager: Sending non-protected broadcast android.intent.action.KEYCODE_POWER_UP from system 1552:system/1000 pkg android. Callers=com.android.server.am.ActivityManagerService.broadcastIntentLocked:20372 com.android.server.am.ActivityManagerService.broadcastIntent:20559 android.app.ContextImpl.sendBroadcastAsUser:1140 com.android.server.policy.BaseMiuiPhoneWindowManager$16.run:2309 android.os.Handler.handleCallback:794 
2020-10-08 13:53:46.262 1552-1695/? W/WindowManager: Exception when adding starting window
    java.lang.IllegalArgumentException: View=DecorView@774a2ac[settings] not attached to window manager
        at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:529)
        at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:438)
        at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:126)
        at com.android.server.policy.PhoneWindowManager.addSplashScreen(PhoneWindowManager.java:3119)
        at com.android.server.wm.SplashScreenStartingData.createStartingSurface(SplashScreenStartingData.java:55)
        at com.android.server.wm.AppWindowContainerController.lambda$-com_android_server_wm_AppWindowContainerController_4951(AppWindowContainerController.java:154)
        at com.android.server.wm.-$Lambda$BZ2VS-iDndcG7vPLoU3v6-jrb6s.$m$4(Unknown Source:4)
        at com.android.server.wm.-$Lambda$BZ2VS-iDndcG7vPLoU3v6-jrb6s.run(Unknown Source:27)
        at android.os.Handler.handleCallback(Handler.java:794)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:176)
        at android.os.HandlerThread.run(HandlerThread.java:65)
        at com.android.server.ServiceThread.run(ServiceThread.java:46)
2020-10-08 13:53:46.984 1552-1861/? E/AppScanObserverService: Result available, null observers for user: 0
2020-10-08 13:53:52.035 1552-1552/? W/android.display: type=1400 audit(0.0:4397): avc: denied { write } for name="logd" dev="tmpfs" ino=15404 scontext=u:r:system_server:s0 ```

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

No, there is nothing interesting here: our process has id 5089 (5089-5089/? D/scrcpy: Server started!), other lines are not related.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Yes Now it is working. I think the point's location is not well calculated, it's about half the x/y it should be.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

It was on MSE decoder on Broadband it's rather fine. Not accurate but still should of work..Not sure what to look for. All is rather fine.

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

BTW, do you have this problem only with this particular device or other too (including emulator)?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

No, sorry on broadband as well the controlMessage.position is not good. the point and screen size are wrong :

Position{point=Point{x=407, y=436}, screenSize=Size{width=464, height=928}}

the point should be : x:913, y:1019 and screenSize is width: 1080 and height: 2160

What can be done to fix this?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

BTW, do you have this problem only with this particular device or other too (including emulator)?

Checked only with 1 device. ill check

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Position{point=Point{x=407, y=436}, screenSize=Size{width=464, height=928}}

the point should be : x:913, y:1019 and screenSize is width: 1080 and height: 2160

Actually it is not. These values are translated to the point on the real screen by
Point point = device.getPhysicalPoint(position);

If you run original scrcpy with max-size parameter (e.g. --max-size 800) you will see the same behaviour

Studio

point

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Got it. Tested with another device - Xiaomi 7 android 10. Same behavior. I have another firm device but have some issues with connecting ADB to it. Also tried with an emulator, which no stream worked maybe it is because it is on the same computer...

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

With emulator you need to forward the port (adb forward tcp:8886 tcp:8886) and use 127.0.0.1 instead of the device ip address.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

On emulator i get :

[server] INFO: Device: unknown Android SDK built for x86 (Android 6.0) [server] ERROR: WebSocket error java.net.BindException: bind failed: EADDRINUSE (Address already in use) at libcore.io.IoBridge.bind(IoBridge.java:99) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:132) at java.net.ServerSocket.bind(ServerSocket.java:336) at java.net.ServerSocket.bind(ServerSocket.java:296) at org.java_websocket.server.WebSocketServer.doSetupSelectorAndServerThread(WebSocketServer.java:505) at org.java_websocket.server.WebSocketServer.run(WebSocketServer.java:315) at com.genymobile.scrcpy.WebSocketConnection.<init>(WebSocketConnection.java:23) at com.genymobile.scrcpy.Server.main(Server.java:144) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251) Caused by: android.system.ErrnoException: bind failed: EADDRINUSE (Address already in use) at libcore.io.Posix.bind(Native Method) at libcore.io.ForwardingOs.bind(ForwardingOs.java:56) at libcore.io.IoBridge.bind(IoBridge.java:97) ... 9 more

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

No need to start server manually, just try does it work on the emulator or not?

But if you want:

  1. stop node server
  2. adb shell 'killall app_process'

ws-scrcpy tracks new devices (emulators) and runs server on them automaticaly.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

OK, Now i got an error from npm start:

Listening on: http://guys-MacBook-Pro.local:8000 http://127.0.0.1:8000 http://[::1]:8000 http://[fe80::1]:8000 http://[fe80::aede:48ff:fe00:1122]:8000 http://[fe80::1862:6e87:c399:40e8]:8000 http://192.168.1.8:8000 http://[fe80::8802:ffff:fea4:e634]:8000 http://[fe80::8802:ffff:fea4:e634]:8000 http://[fe80::4adb:2b04:fe59:ca9c]:8000 http://[fe80::6307:7d47:d9fd:2394]:8000
[emulator-5556] stdout: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ClipboardManager.getPrimaryClip(ClipboardManager.java:47)
at com.genymobile.scrcpy.wrappers.ClipboardManager.getText(ClipboardManager.java:64)
at com.genymobile.scrcpy.Device.getClipboardText(Device.java:221)
at com.genymobile.scrcpy.Device$2.dispatchPrimaryClipChanged(Device.java:95)
at android.content.IOnPrimaryClipChangedListener$Stub.onTransact(IOnPrimaryClipChangedListener.java:51)
at android.os.Binder.execTransact(Binder.java:453)
Caused by: java.lang.SecurityException: Calling uid 0 does not own package com.android.shell
at android.os.Parcel.readException(Parcel.java:1599)
at android.os.Parcel.readException(Parcel.java:1552)
at android.content.IClipboard$Stub$Proxy.getPrimaryClip(IClipboard.java:187)
... 7 more

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

I guess this happens because of the old android version (x86 (Android 6.0)) and the original scrcpy will also crash.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Nope, Also with newer version it happens maybe it's because the web port and debug port are the same :

adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=8886 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=8886 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'

Yep, this is incorrect. Don't do that. Use 5005 for debug and 8886 for websocket server.
Here is the debug port: agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=<HERE>
And here is the websocket port: 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web <HERE>

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

I changed it because i get on android studio :
Error running 'REMOTE ANDROID': Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refused (Connection refused)

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

adb shell 'CLASSPATH=/data/local/tmp/scrcpy-server.jar app_process -agentlib:jdwp=transport=dt_socket,suspend=y,server=y,address=5005 / com.genymobile.scrcpy.Server 1.16-ws1 DEBUG 0 8000000 60 -1 false - false true 0 false false - web 8886'

This is not working

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

What happens if you just do:

  1. start the emulator
  2. run adb forward tcp:8886 tcp:8886
  3. run npm start in ws-scrcpy directory
  4. open http://127.0.0.1:8000/#!action=stream&decoder=broadway&ip=127.0.0.1&port=8886 in the browser

Does the contol work?

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

IT shows the dashboard and when clicking on broadway stream its not showing at all ... i even change the ip on the querystring to 127.0.0.1

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

you need to reload the page after you change the ip, it is not in the querystring it is in hash (#!, not ?) and its changes is not handled automatically

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Added the UUID now it works. Also remote control works .....

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

So it is issue with real devices .... maybe need's root access to inject the events ?

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Root is not required.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Did you test it with a real device before? if so which one? maybe some debug properties that you change?

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

Did you test it with a real device before? if so which one? maybe some debug properties that you change?

Of course. I have it running on about a dozen of different manufacturers and models (xiaomi, huawei, samsung, google, lg...) right now (kind of a test farm). No, didn't change anything special. If the original scrcpy is working, then there is nothing you should change on a device to get this working.

I can only suggest to keep debugging and comparing with original scrcpy:

  • run it with --max-size 720 for example
  • click in the right-bottom corner and remember point value after Point point = device.getPhysicalPoint(position);

Then

  • run ws-scrcpy
  • open stream page in the browser
  • in the more menu set max width and max height to the same value as max-size before, click Change video settings.
  • click in the right-bottom corner and compare point value with what you got before.

from ws-scrcpy.

guydoron avatar guydoron commented on July 26, 2024

Something happened to scrscpy now there is no remote control also. I got error on terminal :

java.io.FileNotFoundException: /data/system/theme_config/theme_compatibility.xml (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:200) at java.io.FileInputStream.<init>(FileInputStream.java:150) at java.io.FileInputStream.<init>(FileInputStream.java:103) at java.io.FileReader.<init>(FileReader.java:58) at miui.content.res.ThemeCompatibilityLoader.getVersion(ThemeCompatibilityLoader.java:108) at miui.content.res.ThemeCompatibilityLoader.getConfigDocumentTree(ThemeCompatibilityLoader.java:126) at miui.content.res.ThemeCompatibilityLoader.loadConfig(ThemeCompatibilityLoader.java:59) at miui.content.res.ThemeCompatibility.<clinit>(ThemeCompatibility.java:31) at miui.content.res.ThemeCompatibility.isThemeEnabled(ThemeCompatibility.java:111) at android.content.res.MiuiResourcesImpl.<clinit>(MiuiResourcesImpl.java:40) at android.content.res.Resources.<init>(Resources.java:259) at android.content.res.MiuiResources.<init>(MiuiResources.java:49) at android.content.res.Resources.getSystem(Resources.java:182) at android.app.LoadedApk.<init>(LoadedApk.java:207) at android.app.ContextImpl.createSystemContext(ContextImpl.java:2256) at android.app.ActivityThread.getSystemContext(ActivityThread.java:2195) at java.lang.reflect.Method.invoke(Native Method) at com.genymobile.scrcpy.Workarounds.fillAppInfo(Workarounds.java:66) at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:56) at com.genymobile.scrcpy.Server.scrcpy(Server.java:34) at com.genymobile.scrcpy.Server.main(Server.java:163) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:388) INFO: Initial texture: 1080x2160

from ws-scrcpy.

drauggres avatar drauggres commented on July 26, 2024

I'm glad you solved it.

TODO: add link to https://github.com/Genymobile/scrcpy/blob/master/FAQ.md to my Readme.md

from ws-scrcpy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.