Принудительное разрешение READ_PRIVILEGED_PHONE_STATE на Android 10 (Q) на эмуляторе и / или на корневом устройстве - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь запустить некоторые тесты на пользовательских SIM-картах и ​​хочу изменить конфигурацию карт, вставленных в телефоны Android 10. Я понимаю, что это разрешение недоступно для стороннего программного обеспечения.

Я пытался использовать команду grant для принудительного получения этого разрешения, но я получаю следующую ошибку. Есть ли обходной путь для предоставления этого разрешения (с использованием встроенного программного обеспечения, такого как XPposed)?

1|generic_x86:/ $ pm grant pl.itger.dualsimcard android.permission.READ_PRIVILEGED_PHONE_STATE                                                                                                                                                                                                                                                                      
Security exception: Permission android.permission.READ_PRIVILEGED_PHONE_STATE requested by pl.itger.dualsimcard is not a changeable permission type

java.lang.SecurityException: Permission android.permission.READ_PRIVILEGED_PHONE_STATE requested by pl.itger.dualsimcard is not a changeable permission type
        at com.android.server.pm.permission.BasePermission.enforceDeclaredUsedAndRuntimeOrDevelopment(BasePermission.java:429)
        at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:2096)
        at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:120)
        at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.grantRuntimePermission(PermissionManagerService.java:2999)
        at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:5734)
        at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:1955)
        at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:230)
        at android.os.ShellCommand.exec(ShellCommand.java:104)
        at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21729)
        at android.os.Binder.shellCommand(Binder.java:881)
        at android.os.Binder.onTransact(Binder.java:765)
        at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4860)
        at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4014)
        at android.os.Binder.execTransactInternal(Binder.java:1021)
        at android.os.Binder.execTransact(Binder.java:994)
...