如何解决adb授权权限错误问题

5
我希望给我的apk文件授予权限android.permission.CHANGE_CONFIGURATION
我使用的adb命令是:

adb shell pm grant myPackageName android.permission.CHANGE_CONFIGURATION

但是总是出现相同的错误:

操作不允许:java.lang.SecurityException:myPackageName未请求权限android.permission.CHANGE_CONFIGURATION

Manifest.xml
<uses-sdk 
    android:minSdkVersion="14" 
    android:targetSdkVersion="22"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> 

权限已经被授予:

grantedPermissions:
  android.permission.READ_EXTERNAL_STORAGE
  android.permission.GET_TASKS
  android.permission.WRITE_EXTERNAL_STORAGE
  android.permission.ACCESS_WIFI_STATE
  android.permission.RECEIVE_SMS
  android.permission.READ_CONTACTS
  android.permission.GET_ACCOUNTS
  android.permission.CALL_PHONE
  android.permission.WRITE_CONTACTS
  android.permission.AUTHENTICATE_ACCOUNTS
  android.permission.READ_PHONE_STATE
  android.permission.READ_SMS
  android.permission.RECEIVE_BOOT_COMPLETED
  android.permission.CAMERA
  android.permission.ACCESS_FINE_LOCATION
  android.permission.MANAGE_ACCOUNTS
  android.permission.BROADCAST_STICKY
  android.permission.RECORD_AUDIO
  android.permission.WAKE_LOCK
  android.permission.ACCESS_NETWORK_STATE
  android.permission.USE_CREDENTIALS
  com.skype.android.app.permission.C2D_MESSAGE
  com.google.android.c2dm.permission.RECEIVE
  android.permission.MODIFY_AUDIO_SETTINGS
  android.permission.READ_SYNC_STATS
  android.permission.READ_PROFILE
  android.permission.DISABLE_KEYGUARD
  android.permission.WRITE_SYNC_SETTINGS
  android.permission.SYSTEM_ALERT_WINDOW
  android.permission.WRITE_SETTINGS
  android.permission.BLUETOOTH
  android.permission.INTERNET
  android.permission.CHANGE_WIFI_STATE
  com.skype.permission.ACCOUNT
  android.permission.READ_SYNC_SETTINGS
  android.permission.VIBRATE
  com.skype.android.app.permission.RECEIVE_ADM_MESSAGE

这个问题有什么解决方案吗?我在谷歌上找不到有用的帖子。先感谢您了。

https://dev59.com/qGEi5IYBdhLWcg3wpdjJ - IntelliJ Amiya
1
@IntelliJAmiya 这个链接不是用来授予权限的,它只是显示权限。我的意思是当我授予权限时出现了这个错误。 - Almett
你使用的是哪个设备和 Android 版本?我已经在使用 Android 6(MRA58N)的 Nexus 6 上测试了“pm grant”命令,它可以正常工作。 - cuihtlauac
@cuihtlauac 我正在使用 Nexus 5 Android 4.4,但它无法工作。我不知道为什么?你有任何想法吗? - Almett
3个回答

0

如果您需要在Android 10+上授予权限,请尝试使用USB调试(安全模式)或USB安装,因为我的设备是Redmi 11上的Android 11。

---- 在开关使用授权 ------

Exception occurred while executing 'grant':
java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
    

0

我的手机运行的是安卓派(Android Pie),并且没有被root。我安装的一个应用程序要求我使用adb授予权限。最初,我遇到了以下错误:

java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.

在搜索我的开发者选项后,有一个看起来很有趣的选项 - 禁用权限监视。它没有启用。启用后,运行以下命令:

adb -d shell pm grant packageName android.permission.DUMP

它运行成功了!


1
在运行“grant”时出现错误,问题要求解决方案。请仔细阅读后再回答。 - ishandutta2007

0

我在开发者选项中没有“禁用权限监控”的选项,我的手机是Pixel 4a,安卓版本为12。


请在您的回答中提供更多细节。目前的写法让人难以理解您的解决方案。 - Community
如果您有新的问题,请单击提问按钮进行提问。如果它有助于提供背景信息,请包含此问题的链接。 - Stefano Sansone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接