Genymobile / Genymobile/scrcpy
Some problems to Work with an Android 11 Poco M3
- Dominant language
- C
- Stars
- 150k
- Forks
- 13.7k
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 2
Description
- [ x ] I have read the [FAQ](https://github.com/Genymobile/scrcpy/blob/master/FAQ.md).
- [ x ] I have searched in existing [issues](https://github.com/Genymobile/scrcpy/issues).
**Environment**
- OS: Windows 7 x64
- scrcpy version: 1.24
- installation method: Zip Extract
- device model: POCO M3 4gb RAM
- Android version: 11
**Describe the bug**
I just use scrcpy to not touch too much the phones, works great with these arguments on others phones, like Huawei P20 Android 10, and Hyundai e504/RedmiGo Android 8.1, Samsung/ZTE/BLU Android 7, Samsung/LG/BLU Android 6 and LG Android 5.1 without make any change.
cli: scrcpy --max-fps 30 -b 10M --turn-screen-off --stay-awake -s %ip%:5555 --power-off-on-close
and
cli: scrcpy --max-fps 30 -b 10M --turn-screen-off --stay-awake --power-off-on-close
** Dont let me control the phone, just see while im using it on hand. I think is a problem with something that prevent to send signals of nouse click to the phone.
scrcpy 1.24
* daemon not running; starting now at tcp:5037
* daemon started successfully
D:\Downloads\Droid APP Install Tools\i...ped. 53.5 MB/s (41159 bytes in 0.001s)
[server] INFO: Device: Xiaomi M2010J19CG (Android 11)
[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.j
ava:110)
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:169)
at com.genymobile.scrcpy.Settings.getAndPutValue(Settings.java:70)
at com.genymobile.scrcpy.Server.initAndCleanUp(Server.java:37)
at com.genymobile.scrcpy.Server.access$000(Server.java:12)
at com.genymobile.scrcpy.Server$2.run(Server.java:121)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.SecurityException: Permission denial: writing to settings r
equires:android.permission.WRITE_SECURE_SETTINGS
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:
732)
... 8 more
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.providers.settings.SettingsProvider.enforceWritePermissio
n(SettingsProvider.java:2105)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(S
ettingsProvider.java:1291)
at com.android.providers.settings.SettingsProvider.insertGlobalSetting(S
ettingsProvider.java:1245)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider
.java:398)
at android.content.ContentProvider.call(ContentProvider.java:2486)
[server] WARN: Could not get and put settings value via ContentProvider, fallbac
k to settings process
com.genymobile.scrcpy.SettingsException: Could not access settings: global put s
tay_on_while_plugged_in 7
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:171)
at com.genymobile.scrcpy.Settings.getAndPutValue(Settings.java:70)
at com.genymobile.scrcpy.Server.initAndCleanUp(Server.java:37)
at com.genymobile.scrcpy.Server.access$000(Server.java:12)
at com.genymobile.scrcpy.Server$2.run(Server.java:121)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.j
ava:110)
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:169)
... 5 more
Caused by: java.lang.SecurityException: Permission denial: writing to settings r
equires:android.permission.WRITE_SECURE_SETTINGS
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:
732)
... 8 more
Caused by: android.os.RemoteException: Remote stack trace:
at com.android.providers.settings.SettingsProvider.enforceWritePermissio
n(SettingsProvider.java:2105)
at com.android.providers.settings.SettingsProvider.mutateGlobalSetting(S
ettingsProvider.java:1291)
at com.android.providers.settings.SettingsProvider.insertGlobalSetting(S
ettingsProvider.java:1245)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider
.java:398)
at android.content.ContentProvider.call(ContentProvider.java:2486)
[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.j
ava:110)
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:169)
at com.genymobile.scrcpy.Settings.putValue(Settings.java:55)
at com.genymobile.scrcpy.Settings.getAndPutValue(Settings.java:80)
at com.genymobile.scrcpy.Server.initAndCleanUp(Server.java:37)
at com.genymobile.scrcpy.Server.access$000(Server.java:12)
at com.genymobile.scrcpy.Server$2.run(Server.java:121)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.SecurityException: Permission denial: writing to settings r
equires:android.permission.WRITE_SECURE_SETTINGS
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:
732)
... 9 more
[server] WARN: Could not put settings value via ContentProvider, fallback to set
tings process
com.genymobile.scrcpy.SettingsException: Could not access settings: global put s
tay_on_while_plugged_in 7
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:171)
at com.genymobile.scrcpy.Settings.putValue(Settings.java:55)
at com.genymobile.scrcpy.Settings.getAndPutValue(Settings.java:80)
at com.genymobile.scrcpy.Server.initAndCleanUp(Server.java:37)
at com.genymobile.scrcpy.Server.access$000(Server.java:12)
at com.genymobile.scrcpy.Server$2.run(Server.java:121)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.j
ava:110)
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvid
er.java:169)
... 6 more
Caused by: java.lang.SecurityException: Permission denial: writing to settings r
equires:android.permission.WRITE_SECURE_SETTINGS
at android.os.Parcel.createExceptionOrNull(Parcel.java:2376)
at android.os.Parcel.createException(Parcel.java:2360)
at android.os.Parcel.readException(Parcel.java:2343)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.
java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:
732)
... 9 more
[server] ERROR: Could not change "stay_on_while_plugged_in"
com.genymobile.scrcpy.SettingsException: Could not access settings: put global s
tay_on_while_plugged_in 7
at com.genymobile.scrcpy.Settings.execSettingsPut(Settings.java:26)
at com.genymobile.scrcpy.Settings.putValue(Settings.java:61)
at com.genymobile.scrcpy.Settings.getAndPutValue(Settings.java:80)
at com.genymobile.scrcpy.Server.initAndCleanUp(Server.java:37)
at com.genymobile.scrcpy.Server.access$000(Server.java:12)
at com.genymobile.scrcpy.Server$2.run(Server.java:121)
at java.lang.Thread.run(Thread.java:923)
Caused by: java.io.IOException: Command [settings, put, global, stay_on_while_pl
ugged_in, 7] returned with value 255
at com.genymobile.scrcpy.Command.exec(Command.java:16)
at com.genymobile.scrcpy.Settings.execSettingsPut(Settings.java:24)
... 6 more
INFO: Renderer: direct3d
INFO: Initial texture: 1080x2336
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0
xfffffff4
[server] INFO: Retrying with -m1920...
[server] INFO: Device screen turned off
INFO: New texture: 888x1920
[server] INFO: Device screen turned on
WARN: Killing the server...
** I hope this is helpful for the proper development of scrcpy, thanks for your work.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the report with a POCO M3 on Android 11 using the listed scrcpy command and review the stack traces in wrappers/ContentProvider.java, Settings.java, and Server.java. Check the settings-permission and MediaCodec failures together; done means the device can be controlled and the reported errors no longer occur, with regression coverage where the project supports it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, c
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100