Genymobile / scrcpy

Display and control your Android device
Apache License 2.0
109.17k stars 10.5k forks source link

Display mirroring doesn't work for Onyx Boox device #5309

Open PiotrRichter opened 16 hours ago

PiotrRichter commented 16 hours ago

Environment

Describe the bug

Despite fix being merged to 2.7 version, display mirroring still doesn't work for Onyx Boox device. Terminal output:

$ scrcpy
scrcpy 2.7 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  3188981A                        device  TabUltraCPro
C:\Android tools ADB\scrcpy\scrcpy-win64-v2.7\scrcpy-serve... file pushed, 0 skipped. 44.4 MB/s (71200 bytes in 0.002s)
[server] INFO: Device: [QUALCOMM] Onyx TabUltraCPro (Android 12)
[server] ERROR: Given calling package android does not match caller's uid 2000
java.lang.SecurityException: Given calling package android does not match caller's uid 2000
        at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
        at android.os.Parcel.createException(Parcel.java:2410)
        at android.os.Parcel.readException(Parcel.java:2393)
        at android.os.Parcel.readException(Parcel.java:2335)
        at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:5956)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:7127)
        at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:3317)
        at android.content.ContentResolver.acquireProvider(ContentResolver.java:2513)
        at android.provider.Settings$ContentProviderHolder.getProvider(Settings.java:2737)
        at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:2910)
        at android.provider.Settings$Global.getStringForUser(Settings.java:15089)
        at android.provider.Settings$Global.getString(Settings.java:15077)
        at android.provider.Settings$Global.getInt(Settings.java:15282)
        at android.hardware.input.InputManager.setupPointerNaturalRolling(InputManager.java:383)
        at android.hardware.input.InputManager.registerPointerSettingObserver(InputManager.java:352)
        at android.hardware.input.InputManager.<init>(InputManager.java:314)
        at android.hardware.input.InputManager.getInstance(InputManager.java:448)
        at android.view.KeyCharacterMap.load(KeyCharacterMap.java:352)
        at com.genymobile.scrcpy.control.Controller.<init>(Controller.java:45)
        at com.genymobile.scrcpy.Server.scrcpy(Server.java:159)
        at com.genymobile.scrcpy.Server.internalMain(Server.java:290)
        at com.genymobile.scrcpy.Server.main(Server.java:245)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.am.ContentProviderHelper.getContentProvider(ContentProviderHelper.java:124)
        at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:6147)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2483)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2535)
        at android.os.Binder.execTransactInternal(Binder.java:1179)

ERROR: Could not retrieve device information
ERROR: Server connection failed

At the same time, running in terminal scrcpy --video-source=camera works fine.

rom1v commented 8 hours ago

OK, that's another problem on ONYX. Try with --no-audio (see #4639).

PiotrRichter commented 7 hours ago

I did try and it's not working. I get the same error as in issue's description.