获取具有签名保护级别的Android权限
根据android开发者文档,如果调用应用程序获取具有签名保护级别的Android权限,android,Android,根据android开发者文档,如果调用应用程序B使用与A签名相同的密钥签名,则可以获得应用程序A中具有签名的保护级别的权限。同样根据,android具有签名保护级别的权限无法被第三方应用程序获取,但在中,有一个名为REQUEST\u INSTALL\u PACKAGES的权限,其保护级别为签名。我见过许多代码在其代码中声明此权限: <uses-permission android:name="REQUEST_INSTALL_PACKAGES" /> 那怎么可能呢?少了什么 那
B
使用与A
签名相同的密钥签名,则可以获得应用程序A
中具有签名的保护级别的权限。同样根据,android具有签名
保护级别的权限无法被第三方应用程序获取,但在中,有一个名为REQUEST\u INSTALL\u PACKAGES
的权限,其保护级别为签名
。我见过许多代码在其代码中声明此权限:
<uses-permission android:name="REQUEST_INSTALL_PACKAGES" />
那怎么可能呢?少了什么
那怎么可能呢
他们有可能在清单中包含该元素,因为他们的开发人员能够输入该元素
仅仅因为一个应用程序有一个
元素并不意味着他们获得了权限。这取决于许多因素,包括protectionLevel
在请求安装\u软件包
的特定情况下,保护级别
没有签名
值。它有签名| appop
。appop是一个令人困惑的值,但它可以归结为“应用程序可以通过一些奇怪的方式行使权限”。在这种情况下,Android 8.0+上的软件包安装程序将完全拒绝任何未请求此权限的应用程序,并尝试使用ACTION\u VIEW
或ACTION\u INSTALL\u软件包
。否则,它将提示用户确认此应用程序可以请求安装软件包
注意:|appop
部分不会出现在JavaDocs中,但会出现在平台清单中,这在运行时很重要
那怎么可能呢
他们有可能在清单中包含该元素,因为他们的开发人员能够输入该元素
仅仅因为一个应用程序有一个
元素并不意味着他们获得了权限。这取决于许多因素,包括protectionLevel
在请求安装\u软件包
的特定情况下,保护级别
没有签名
值。它有签名| appop
。appop是一个令人困惑的值,但它可以归结为“应用程序可以通过一些奇怪的方式行使权限”。在这种情况下,Android 8.0+上的软件包安装程序将完全拒绝任何未请求此权限的应用程序,并尝试使用ACTION\u VIEW
或ACTION\u INSTALL\u软件包
。否则,它将提示用户确认此应用程序可以请求安装软件包
注意:|appop
部分不会出现在JavaDocs中,但它会出现在平台清单中,这在运行时很重要。您如何发现保护级别是签名| appop
而不是签名
?你知道appop的意思吗?文档中没有提到这一点。@MehranTorki:“您是如何发现保护级别是signature | appop的”--我查看了平台清单文件,其中定义了这些权限。例如“你知道appop的含义吗?”——正如我在回答中所说,“应用程序可以通过一些奇怪的方式来行使权限”。例如,这些权限的行为与普通的危险
运行时权限不同。您是如何发现保护级别是签名| appop
而不是签名
?你知道appop的意思吗?文档中没有提到这一点。@MehranTorki:“您是如何发现保护级别是signature | appop的”--我查看了平台清单文件,其中定义了这些权限。例如“你知道appop的含义吗?”——正如我在回答中所说,“应用程序可以通过一些奇怪的方式来行使权限”。例如,这些权限的行为与普通的危险的运行时权限不同。