Genymobile / scrcpy

Display and control your Android device
Apache License 2.0
105.36k stars 10.23k forks source link

Given calling package android does not match caller's uid #4639

Open tomaszstachera opened 5 months ago

tomaszstachera commented 5 months ago

Environment

Describe the bug Cannot share device screen. It suddenly stopped working.

scrcpy -v
scrcpy 2.3.1 <https://github.com/Genymobile/scrcpy>

Dependencies (compiled / linked):
 - SDL: 2.28.5 / 2.28.5
 - libavcodec: 60.3.100 / 60.3.100
 - libavformat: 60.3.100 / 60.3.100
 - libavutil: 58.2.100 / 58.2.100
 - libusb: - / 1.0.26
 adb devices -l
List of devices attached
D545DC1E               device usb:336592896X product:BOOX model:TabUltraC device:BOOX transport_id:6
emulator-5554          offline transport_id:2
scrcpy -d -V debug
scrcpy 2.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO:     -->   (usb)  D545DC1E                        device  TabUltraC
INFO:         (tcpip)  emulator-5554                  offline
DEBUG: Device serial: D545DC1E
DEBUG: Using server: /usr/local/Cellar/scrcpy/2.3.1/share/scrcpy/scrcpy-server
/usr/local/Cellar/scrcpy/2.3.1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 31.9 MB/s (66007 bytes in 0.002s)
[server] INFO: Device: [ONYX] ONYX TabUltraC (Android 11)
[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:2374)
        at android.os.Parcel.createException(Parcel.java:2358)
        at android.os.Parcel.readException(Parcel.java:2341)
        at android.os.Parcel.readException(Parcel.java:2283)
        at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:5808)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:6937)
        at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2912)
        at android.content.ContentResolver.acquireProvider(ContentResolver.java:2470)
        at android.provider.Settings$ContentProviderHolder.getProvider(Settings.java:2596)
        at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:2725)
        at android.provider.Settings$Global.getStringForUser(Settings.java:13469)
        at android.provider.Settings$Global.getString(Settings.java:13457)
        at android.provider.Settings$Global.getInt(Settings.java:13662)
        at android.hardware.input.InputManager.setupPointerNaturalRolling(InputManager.java:321)
        at android.hardware.input.InputManager.registerPointerSettingObserver(InputManager.java:291)
        at android.hardware.input.InputManager.<init>(InputManager.java:283)
        at android.hardware.input.InputManager.getInstance(InputManager.java:357)
        at android.view.KeyCharacterMap.load(KeyCharacterMap.java:334)
        at com.genymobile.scrcpy.Controller.<init>(Controller.java:35)
        at com.genymobile.scrcpy.Server.scrcpy(Server.java:127)
        at com.genymobile.scrcpy.Server.internalMain(Server.java:244)
        at com.genymobile.scrcpy.Server.main(Server.java:199)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:399)
Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:7715)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2425)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2926)
        at android.os.Binder.execTransactInternal(Binder.java:1154)
        at android.os.Binder.execTransact(Binder.java:1123)

DEBUG: Server disconnected
DEBUG: Server terminated
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
DEBUG: Receiver stopped
INFO: Renderer: metal
DEBUG: Trilinear filtering disabled (not an OpenGL renderer
DEBUG: Using icon: /usr/local/Cellar/scrcpy/2.3.1/share/icons/hicolor/256x256/apps/scrcpy.png
DEBUG: Demuxer 'video': starting thread
DEBUG: Demuxer 'audio': starting thread
ERROR: Demuxer 'video': stream disabled due to connection error
ERROR: Demuxer 'audio': stream disabled due to connection error
ERROR: Demuxer error
DEBUG: quit...
rom1v commented 5 months ago

By any chance, is the device rooted? #1606

tomaszstachera commented 5 months ago

Nope

tomaszstachera commented 5 months ago
 adb -d shell id
uid=2000(shell) gid=2000(shell) groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:shell:s0
fivesprites commented 4 months ago

Having exact same issue.

OS: Windows 11 Scrcpy: V2.3.1 Device: Boox Note Air2 Plus

Note: DevTools Android App used to enable Developer options and USB debugging (https://play.google.com/store/apps/details?id=cn.trinea.android.developertools&pcampaignid=web_share)

[server] INFO: Device: [ONYX] ONYX NoteAir2P (Android 11) [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:2374) at android.os.Parcel.createException(Parcel.java:2358) at android.os.Parcel.readException(Parcel.java:2341) at android.os.Parcel.readException(Parcel.java:2283) at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:5808) at android.app.ActivityThread.acquireProvider(ActivityThread.java:6937) at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:2912) at android.content.ContentResolver.acquireProvider(ContentResolver.java:2470) at android.provider.Settings$ContentProviderHolder.getProvider(Settings.java:2596) at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:2725) at android.provider.Settings$Global.getStringForUser(Settings.java:13469) at android.provider.Settings$Global.getString(Settings.java:13457) at android.provider.Settings$Global.getInt(Settings.java:13662) at android.hardware.input.InputManager.setupPointerNaturalRolling(InputManager.java:321) at android.hardware.input.InputManager.registerPointerSettingObserver(InputManager.java:291) at android.hardware.input.InputManager.(InputManager.java:283) at android.hardware.input.InputManager.getInstance(InputManager.java:357) at android.view.KeyCharacterMap.load(KeyCharacterMap.java:334) at com.genymobile.scrcpy.Controller.(Controller.java:35) at com.genymobile.scrcpy.Server.scrcpy(Server.java:127) at com.genymobile.scrcpy.Server.internalMain(Server.java:244) at com.genymobile.scrcpy.Server.main(Server.java:199) at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:399) Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:7715) at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2425) at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2926) at android.os.Binder.execTransactInternal(Binder.java:1154) at android.os.Binder.execTransact(Binder.java:1123)

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

rom1v commented 4 months ago

Check in your system settings or developer options if there is an option to give a permission related to clipboard.

fivesprites commented 4 months ago

Just had a dig through and can't find anything in any settings related to clipboard.

havogt commented 4 months ago

It seems (if you don't need audio) scrcpy --no-audio works as suggested in #4527.

zzfhadr commented 1 month ago
scrcpy --video-source=camera --no-audio
scrcpy 2.4 <https://github.com/Genymobile/scrcpy>
INFO: Camera video source: control disabled
INFO: ADB device found:
INFO:     -->   (usb)  3414257783000YW                 device  V2148A
F:\little tools\scrcpy-win64-v2.4\scrcpy-server: 1 file pushed, 0 skipped. 48.6 MB/s (69007 bytes in 0.001s)
[server] INFO: Device: [vivo] vivo V2148A (Android 13)
[server] INFO: Using camera '0'
[server] ERROR: Exception on thread Thread[video,5,main]
java.lang.SecurityException: Given calling package android does not match caller's uid 2000
        at android.os.Parcel.createExceptionOrNull(Parcel.java:3025)
        at android.os.Parcel.createException(Parcel.java:3009)
        at android.os.Parcel.readException(Parcel.java:2992)
        at android.os.Parcel.readException(Parcel.java:2934)
        at android.app.IActivityManager$Stub$Proxy.getContentProvider(IActivityManager.java:6142)
        at android.app.ActivityThread.acquireProvider(ActivityThread.java:7689)
        at android.app.ContextImpl$ApplicationContentResolver.acquireProvider(ContextImpl.java:3503)
        at android.content.ContentResolver.acquireProvider(ContentResolver.java:2542)
        at android.provider.Settings$ContentProviderHolder.getProvider(Settings.java:2955)
        at android.provider.Settings$NameValueCache.getStringForUser(Settings.java:3182)
        at android.provider.Settings$Global.getStringForUser(Settings.java:16192)
        at android.provider.Settings$Global.getString(Settings.java:16166)
        at android.hardware.camera2.vivo_ext.VivoCameraUtils.sendStartPreviewBroadCast(VivoCameraUtils.java:199)
        at android.hardware.camera2.CameraManager.openCameraDeviceUserAsync(CameraManager.java:770)
        at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:1035)
        at android.hardware.camera2.CameraManager.openCameraForUid(CameraManager.java:1056)
        at android.hardware.camera2.CameraManager.openCamera(CameraManager.java:871)
        at com.genymobile.scrcpy.CameraCapture.openCamera(CameraCapture.java:241)
        at com.genymobile.scrcpy.CameraCapture.init(CameraCapture.java:86)
        at com.genymobile.scrcpy.SurfaceEncoder.streamScreen(SurfaceEncoder.java:55)
        at com.genymobile.scrcpy.SurfaceEncoder.lambda$start$0$com-genymobile-scrcpy-SurfaceEncoder(SurfaceEncoder.java:253)
        at com.genymobile.scrcpy.SurfaceEncoder$$ExternalSyntheticLambda0.run(Unknown Source:4)
        at java.lang.Thread.run(Thread.java:1015)
Caused by: android.os.RemoteException: Remote stack trace:
        at com.android.server.am.ContentProviderHelper.getContentProvider(ContentProviderHelper.java:174)
        at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:7413)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2840)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3158)
        at android.os.Binder.execTransactInternal(Binder.java:1346)
INFO: Renderer: direct3d
ERROR: Demuxer 'video': stream disabled due to connection error
ERROR: Demuxer error
rom1v commented 1 month ago

Same as https://github.com/Genymobile/scrcpy/issues/4349#issuecomment-2108631069 (I don't know the cause)