Android权限,签名和开发人员的密钥

时间:2013-02-15 11:34:17

标签: android android-permissions

我正在开发一个包含许多组件的应用程序,每个组件都将是一个单独的Android应用程序。 “核心”应用程序将使用内容提供程序提供对数据库的访问,并且阅读权限文档“签名”保护是我想要的方式。

我已经为我的权限定义了一个组,主要是因为我的权限会很好地显示在App Info的“权限”部分中我自己的图标。与android:protectionLevel="normal"他们表现得很好。但是当我使用android:protectionLevel="signature"时,它们会消失。

<permission-group
    android:name="com.example.permissions.GROUP"
    android:label="@string/lblGroup"
    android:description="@string/descGroup"
    android:icon="@drawable/ic_menu_permissions_group" />

<permission
    android:name="com.example.permission.CONFIG_READ"
    android:permissionGroup="com.example.permissions.GROUP"
    android:protectionLevel="signature"
    android:label="@string/lblConfigRead"
    android:description="@string/descConfigRead" />
<permission
    android:name="com.example.permission.CONFIG_WRITE"
    android:permissionGroup="com.example.permissions.GROUP"
    android:protectionLevel="signature"
    android:label="@string/lblConfigWrite"
    android:description="@string/descConfigWrite" />

鉴于我目前正在开发并因此使用开发人员密钥,我是否需要跳过一些其他的环节以使“签名”保护级别适用于开发人员?

一如既往地感谢您的帮助

史蒂夫

1 个答案:

答案 0 :(得分:4)

  

但是当我使用android:protectionLevel =&#34;签名&#34;他们消失了。

这是因为用户不需要批准它们。根据应用程序的签名自动授予和拒绝签名级权限。

  

我是否需要跳过一些其他的箍以获得&#34;签名&#34;保护级别为开发人员工作?

它已经适用于您自己的应用程序。如果&#34;开发人员&#34;是第三方,您不能使用签名级权限,因为他们将使用自己的签名密钥进行签名。