2

关于“systemOrSignature”保护级别似乎存在一些相互矛盾的信息。

如果我有一个由 OEM 包含在图像中的预安装系统应用程序,但由我签名,我的应用程序将具有此保护级别,对吗?这与需要 OEM 签名的“签名”保护级别不同。

如果是这样,我的申请会被授予此权限吗?android.permission.INSTALL_PACKAGES

默认情况下,这似乎设置为 systemOrSignature 级别保护,但 stackoverflow 上的大多数答案都表明需要 OEM 签名,例如:

静默安装应用程序,并授予 INSTALL_PACKAGES 权限

从 /system/app 以编程方式安装具有 INSTALL_PACKAGES 权限的应用程序时出现问题

4

1 回答 1

3

如果我有一个由 OEM 包含在图像中的预安装系统应用程序,但由我签名,我的应用程序将具有此保护级别,对吗?

这就是应该发生的事情。

如果是这样,我的申请会被授予此权限吗?android.permission.INSTALL_PACKAGES

根据当前的源代码,是的:

<permission android:name="android.permission.INSTALL_PACKAGES"
    android:label="@string/permlab_installPackages"
    android:description="@string/permdesc_installPackages"
    android:protectionLevel="signature|system" />

请记住,任何给定权限的规则都可能随着时间而改变。

默认情况下,这似乎设置为 systemOrSignature 级别保护,但 stackoverflow 上的大多数答案都表明需要 OEM 签名

您的第二个链接说安装在固件上就足够了,这与当前的源代码一致。

此外,有时对 SO 的回答和评论会使用一些速记。由于您可以通过查看源代码来判断您需要什么,因此您始终可以自己验证给定权限是否为signature-only。

于 2013-01-15T22:38:48.567 回答