如何调试/重置Android 6.0权限?

时间:2015-12-29 14:15:27

标签: android android-permissions android-6.0-marshmallow android-debug runtime-permissions

在迁移我的某个应用程序以使用Android 6.0权限系统时,我发现使用模拟器调试权限非常困难。

调查结果:

  • 在使用requestPermissions()方法时,在应用信息屏幕中禁用权限并不会重新显示授予权限对话框。
  • 重新安装应用似乎是让应用再次显示授予权限对话框的唯一方法。

使用Android模拟器调试权限的正确方法是什么?

1 个答案:

答案 0 :(得分:27)

调试Android 6.0权限实际上非常容易。您可以使用以下ADB shell命令将权限重置为当前前台应用程序 所有应用程序的“安装状态”:

adb shell pm reset-permissions

注意: 目前您无法重置特定软件包的运行时权限,软件包管理器(pm)工具帮助部分指出:

  

将所有运行时权限恢复为默认状态。

您可以使用Android Studio中的终端界面轻松执行reset-permissions命令。请注意,仅当ADB目录添加到PATH系统环境变量时,ADB命令才有效(请参阅:add ADB to path variable)。

您还可以使用以下方式重置/撤消特定权限:

adb shell pm revoke com.your.package android.permission.WRITE_EXTERNAL_STORAGE

此命令的缺点是它将重新启动您的应用程序,但这不会重置所有应用程序的运行时权限。要授予权限,请将revoke替换为grant