题
从签名文档处 https://developer.android.com/studio/publish/index.html:
当系统正在为应用程序安装更新时,如果新版本中的任何证书与旧版本中的任何证书匹配,则系统允许更新。
这表明可以使用多个证书签署应用程序。
这是一个有趣的选择,允许多个实体签署应用程序。例如:设备制造商最初签署的系统应用程序。开发人员可以签署进一步的更新。
我是在误读文档还是真的有可能?如果是这样,怎么样?
是否还有其他方法可以支持不同的证书,并有两个或多个实体签名?
解决方案
如果您在签名过程中使用不同的别名,则可以使用不同的证书签名。
这将在Meta-Inf文件夹中创建不同的文件。我不知道对Android市场内的更新过程有何影响。
其他提示
我找到了解决方案,不是那么漂亮,而是一个解决方案。
签名的APK文件包括:
- 用给定证书签名的文件
- 带有公共证书密钥的元INF文件夹
拥有带有多个证书的APK:
- 每个聚会都签署APK
- 收集每个APK的元I-INF内容
- 创建了一个新的APK(这只是一个ZIP文件),并且Meta-Inf文件夹包含所有证书
这将允许任何签名方更新APK。
一个注意,没有可能在更新中添加证书。
不隶属于 StackOverflow