android - 如何解决 Android 上的这个 adb 授予权限错误?
问题描述
想将 android.permission.CHANGE_CONFIGURATION 授予我的 apk 文件。
我使用的 adb 命令:
pm grant com.maxmpz.equalizer android.permission.DUMP
但它总是显示这个错误:
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools> ./adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools>
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools> ./adb devices
List of devices attached
69WSMZFEF6WG4DYT device
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools> ./adb shell pm grant com.maxmpz.equalizer android.permission.DUMP
Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
at android.app.ContextImpl.enforce(ContextImpl.java:1955)
at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1983)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:2235)
at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:133)
at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.grantRuntimePermission(PermissionManagerService.java:3332)
at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:6671)
at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:2030)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:238)
at android.os.ShellCommand.exec(ShellCommand.java:104)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24187)
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:5400)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4819)
at com.android.server.pm.OppoPackageManagerService.onTransact(OppoPackageManagerService.java:83)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools> ./adb shell pm grant com.maxmpz.equalizer android.permission.DUMP
Security exception: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
at android.app.ContextImpl.enforce(ContextImpl.java:1955)
at android.app.ContextImpl.enforceCallingOrSelfPermission(ContextImpl.java:1983)
at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:2235)
at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:133)
at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.grantRuntimePermission(PermissionManagerService.java:3332)
at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:6671)
at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:2030)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:238)
at android.os.ShellCommand.exec(ShellCommand.java:104)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24187)
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:5400)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:4819)
at com.android.server.pm.OppoPackageManagerService.onTransact(OppoPackageManagerService.java:83)
at android.os.Binder.execTransactInternal(Binder.java:1021)
at android.os.Binder.execTransact(Binder.java:994)
PS C:\Users\Marhaba\Desktop\Desktop\platform-tools_r30.0.5-windows\platform-tools> ok
解决方案
android.permission.DUMP 只能授予系统应用程序(第三方应用程序不能使用):https ://developer.android.com/reference/android/Manifest.permission#DUMP
推荐阅读
- javascript - React native 返回 Promise 而不是值 Firestore
- ionic3 - 将 Firebase Analytics 与 Ionic 3 集成
- flutter - 更改所选文本的突出显示颜色
- python - 在 Python 中打印队列的内容
- c++ - std::map Why it is not adding key , values in my code
- javascript - JS过滤数组数组
- r - gganimate barchart:替换bar时平滑过渡
- gmail - PHPMailer - 同一页面中的多个电子邮件
- excel - Excel: How do I reference a date when using SUM IF for multiple columns and date rows
- python - /index/ 处的 TypeError -- 'bool' 对象不可调用