我已经制作了两个版本的应用程序,一个“大”版本和一个“迷你”/“精简版”。
我是否应该使用相同的密钥签署这两个密钥?或者我应该为每个人签一个唯一的密钥?
使用相同的密钥签署多个应用程序会产生什么影响?
答案 0 :(得分:26)
签名主要用于识别应用程序的开发人员。如果有的话,您可以使用相同的密钥对所有应用程序进行签名。
Android系统要求所有已安装的应用程序都使用其私钥由应用程序开发人员持有的证书进行数字签名。 Android系统使用证书作为识别应用程序作者和在应用程序之间建立信任关系的手段。证书不用于控制用户可以安装的应用程序。证书不需要由证书颁发机构签名:Android应用程序使用自签名证书是完全允许的,也是典型的。
在这里阅读所有内容: http://developer.android.com/guide/publishing/app-signing.html
答案 1 :(得分:14)
请仅使用相同的证书对您的应用进行签名,以防您需要共享数据或其他资源。使用相同证书签名的一些缺点:
如果您的应用证书遭到入侵,您的所有应用都会面临危险。证书持有者可以为您的应用创建虚假更新,以窃取用户数据等。
如果您想要销售其中一个应用,则必须将您的证书泄露给买方。
如果您丢失了证书,您将无法对所有应用进行更新。您将被迫为所有这些包创建新包(新应用程序)。
如果您的某个应用具有signature level permission或允许user id sharing,则您的所有应用都可以利用此功能!
快乐签约!
答案 2 :(得分:12)
使用相同的密钥对应用程序进行签名允许他们访问彼此的数据。