android - 如何使用 adb grant 或 adb revoke?

标签 android adb android-permissions

Android 文档包含以下对 adb grant 和 adb revoke 命令的描述。

grant <PACKAGE_PERMISSION>

授予应用程序权限。只能授予应用程序声明的可选权限。

revoke <PACKAGE_PERMISSION>

撤销对应用程序的权限。只有应用程序声明的可选权限才能被撤销。

谁能举例说明使用它们的正确语法吗?

我假设这将是一个类似于 android.permission.WRITE_EXTERNAL_STORAGE 的权限,或者可能只是 WRITE_EXTERNAL_STORAGE。好吧,我尝试了这些,还有其他几个,但我无法让它工作。

我还尝试了(无济于事)包和权限的几种组合,这对我来说更有意义(这听起来像一个命令会修改一个包的权限,而不是全部)

最佳答案

添加:

adb shell pm grant com.name.app android.permission.READ_PROFILE

删除:

adb shell pm revoke com.name.app android.permission.READ_PROFILE

这在 Android M 版本中发生了变化,因此在 Lollipop 中(在最初编写答案时)您需要先执行 adb shell

adb shell 
pm grant com.name.app android.permission.READ_PROFILE

可以找到完整的权限列表 here .如果您有 android build tools设置您可以查看应用程序正在使用的权限。第一次使用

adb shell pm list packages -f

然后将包复制到您的计算机:

adb pull /path/to/package/from/previous/step.apk

然后获取权限:

aapt d permissions path/to/app/on/computer.apk

关于android - 如何使用 adb grant 或 adb revoke?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16410167/

相关文章:

android - 服务可以在 Android M 中请求权限吗?

java - SimpleDateFormat 忽略 Android 中的 DST 偏移量

android - 操作栏图标未显示在 android 操作栏中

android - Firebase Android 查询和 Java 方法

Android 布局建议(RecyclerView、ViewPager 和 CardView)

android - 戴尔 Streak 7 Eclipse/adb

android - 权限拒绝 : startForeground requires android. 权限.FOREGROUND_SERVICE

android - 失败 - 未安装 0

android - 平板电脑未出现在亚行

flutter - 在 list 中找不到 : []22 - Flutter 的权限