关于Android对权限组映射的权限问题

时间:2019-02-06 16:58:44

标签: android android-permissions

在测试Android应用程序时,出现以下问题:

我安装了3个测试应用程序,以便更好地了解Android的权限属性映射。 (权限与权限组的关联方式)

每个应用程序都使用相同的密钥签名,并定义了特定的权限(权限X)。但是,权限定义在各个应用程序之间有所不同。 也就是说,app1在权限组A中定义了权限X, app2在权限组B中定义了相同的权限X,并且 app3在权限组C中定义了相同的权限X。

因此,当按以下顺序安装这些应用程序:app1,app2,app3时,权限X的唯一权限组是A,这是合乎逻辑的(因为在存在匹配的应用程序签名的情况下,先定义权限先到先服务)。

但是,在卸载app1时,Android操作系统会随机跳至app2或app3对权限X的定义,即:一旦卸载了app1,权限X就会随机地放入B组或C组。我不知道为什么会有这种随机行为?这是Google想要达到的目标,还是这种行为是意外的?

感谢您的帮助。

App1对权限X的定义

<permission-group android:name="A"/>
<permission
    android:name="X"
    android:permissionGroup="A"
    android:protectionLevel="dangerous" />

App2对权限X的定义

<permission-group android:name="B"/>
<permissionandroid:name="X"
    android:permissionGroup="B"
    android:protectionLevel="normal" />

App3的权限X的定义

<permission-group android:name="C"/>
<permission
    android:name="X"
    android:permissionGroup="C"
    android:protectionLevel="signature" />

0 个答案:

没有答案