【问题标题】:How to grant permission for application which is downloaded from play store?如何授予从 Play 商店下载的应用程序的权限?
【发布时间】:2015-05-09 10:55:39
【问题描述】:

我已经知道 google 拒绝了此转储权限,但 4.1 及更高版本的系统应用程序除外。

但我仍然可以使用以下命令为可调试应用程序授予此转储权限。

命令:

adb shell pm grant "com.packageName" android.permission.DUMP

但我不能对从 Play 商店下载的应用程序做同样的事情,

命令:

adb shell pm grant "com.playStoreApp" android.permission.DUMP

错误:

不允许操作:java.lang.SecurityException: Package com.playStoreApp 没有请求权限 android.permission.DUMP

是否有任何破解或变通方法来授予 Play 商店应用程序的权限?

提前致谢。

【问题讨论】:

  • “是否有任何破解或解决方法来授予 Play 商店应用程序的权限?” -- 不在普通设备上。也许在有根设备上。 DUMPsignature|system|development 权限,就protectionLevel 而言。 development 允许您调整可调试应用程序的值。 system 表示该应用安装在系统分区上,如果您将设备 root 并将应用移到那里,这是可能的。

标签: android shell permissions adb dumpsys


【解决方案1】:

没有解决方法。 android.permission.Dump 受系统、签名和开发权限保护级别的保护。 the source 的第 1993 行向您展示了这一点。如果您的 APK 使用框架证书签名,位于 priv-app 目录中,或者可调试(见下文),您可以使用 pm 服务授予权限,否则代码会特别阻止您要求的内容(第 2624 行source)。

可以通过 build.gradle 在 buildType 上设置 debuggable 属性来创建可调试的 APK。示例 Android DSL:

android {
    ...
    buildTypes {
        debug {
            debuggable true
            ...
        }
        quality_assurance {
            debuggable true
        }
    ...
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-29
  • 2019-12-15
相关资源
最近更新 更多