拥有签名保护级别的Android许可

时间:2018-11-06 21:40:40

标签: android

根据android开发人员文档,如果调用应用程序signature与签名A的密钥相同,则可以获取应用程序B中具有A保护级别的权限。同样根据this answer,第三方应用程序无法获取具有signature保护级别的 android 权限,但是在android developer documents中,有一个名为{{ 1}},其中REQUEST_INSTALL_PACKAGES作为保护级别。我已经看到许多代码在其代码中声明了此权限:

signature

那怎么可能呢?缺少什么?

1 个答案:

答案 0 :(得分:1)

  

那怎么可能?

他们有可能在清单中包含该元素,因为他们的开发人员能够输入该元素。

仅仅因为一个应用程序具有一个<uses-permission>元素并不意味着他们获得了许可。这取决于很多因素,包括protectionLevel

REQUEST_INSTALL_PACKAGES的特定情况下,它没有signature的{​​{1}}值。它有protectionLevelsignature|appop是一个令人困惑的值,但是归结为“应用程序可以通过多种方式行使许可权”。在这种情况下,Android 8.0+上的软件包安装程序将彻底拒绝任何不请求此权限并尝试使用appopACTION_VIEW的应用程序。否则,它将提示用户确认此应用可以请求安装程序包。

注意:ACTION_INSTALL_PACKAGE部分不会出现在JavaDocs中,但是会出现在平台清单中,这在运行时很重要。

相关问题