根据Android开发者文档,如果调用应用程序使用与签名相同的密钥进行签名,则可以获得signature应用程序中具有保护级别的权限。另外根据这个答案,具有保护级别的android权限不能被第三方应用程序获取,但在android开发人员文档中,有一个名为保护级别的权限。我见过很多代码在其代码中声明了此权限:ABAsignatureREQUEST_INSTALL_PACKAGESsignature
<uses-permission android:name="REQUEST_INSTALL_PACKAGES" />
Run Code Online (Sandbox Code Playgroud)
那怎么可能呢?少了什么东西?
那怎么可能呢?
他们有可能在清单中包含该元素,因为他们的开发人员能够输入它。
仅仅因为应用程序有一个<uses-permission>元素并不意味着它们获得了许可。这取决于很多因素,包括protectionLevel.
在 的具体情况下REQUEST_INSTALL_PACKAGES, 没有 的signature值protectionLevel。它有signature|appop。这appop是一个令人困惑的值,但它归结为“应用程序可以通过奇怪的方式行使权限”。在这种情况下,Android 8.0+ 上的软件包安装程序将彻底拒绝任何不请求此权限并尝试使用ACTION_VIEW或 的应用程序ACTION_INSTALL_PACKAGE。否则,它会提示用户确认该应用程序可以请求安装软件包。
注意:该|appop部分不会出现在 JavaDocs 中,但会出现在平台清单中,这在运行时才是重要的。
| 归档时间: |
|
| 查看次数: |
3130 次 |
| 最近记录: |