签署两个应用程序使用相同的密钥 [英] Signing two apps with the same key

查看:185
本文介绍了签署两个应用程序使用相同的密钥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我建立两个应用程序的第一个应用com.pakname.pak1,第二个具有com.pakname.pak2包的名字,然后我得到了一个关键mykey.keystore。

I build two apps first app com.pakname.pak1 and the second with com.pakname.pak2 package name, then I got one key mykey.keystore.

如果我签了这两个应用程序使用相同的密钥,并将它们发布到Android Market会发生什么?

What happens if I sign the both apps with the same key and publish them to the android market ?

这是好习惯?我想是不是,但我没有得到签名的应用程序来自同一个公司的角度用不同的密钥。

is this good habit ? I guess is not but I do not get the point of signing apps from same company with different keys.

有人可以解释我这样的场景

can someone explain me this kind of scenario

感谢

推荐答案

阅读

签署战​​略

应用程序签名的某些方面可能会影响你如何对待你的应用程序的开发,特别是如果你正计划推出多个应用程序。

Some aspects of application signing may affect how you approach the development of your application, especially if you are planning to release multiple applications.

在一般情况下,推荐的策略对所有开发商签署所有应用程序使用同一证书,在整个应用程序的预期寿命。有几个原因,你应该这样做:

In general, the recommended strategy for all developers is to sign all of your applications with the same certificate, throughout the expected lifespan of your applications. There are several reasons why you should do so:

  • 应用升级 - 当你发布的更新到你的应用程序,你会想继续签署更新使用同一证书或证书集合,如果希望用户能够无缝地升级到新版本。当该系统安装的更新的应用程序,它比较在新版本中与那些在现有版本的证书(多个)。如果证书严丝合缝,包括证书数据和命令,那么该系统允许更新。如果不使用匹配的证书签署新的版本,你还需要一个不同的包名称分配给应用程序 - 在这种情况下,用户安装新版本作为一个完全新的应用程序

  • Application upgrade – As you release updates to your application, you will want to continue to sign the updates with the same certificate or set of certificates, if you want users to upgrade seamlessly to the new version. When the system is installing an update to an application, it compares the certificate(s) in the new version with those in the existing version. If the certificates match exactly, including both the certificate data and order, then the system allows the update. If you sign the new version without using matching certificates, you will also need to assign a different package name to the application — in this case, the user installs the new version as a completely new application.

应用模块化 - Android系统可以说是由同一证书签名的应用程序在同一个进程中运行,如果应用程序请求,以便系统将它们视为一个单一的应用程序。这样,您就可以部署模块应用程序,并且用户可以根据需要单独更新每个模块。

Application modularity – The Android system allows applications that are signed by the same certificate to run in the same process, if the applications so requests, so that the system treats them as a single application. In this way you can deploy your application in modules, and users can update each of the modules independently if needed.

通过权限code /数据共享。而Android系统提供的基于签名的权限执行,这样应用程序可以公开的功能到与指定的证书签名的另一个应用程序。通过签署多个应用程序具有相同的证书,并使用基于特征的权限检查,你的应用程序可以在一个安全的方式共享code和数据。

Code/data sharing through permissions . The Android system provides signature-based permissions enforcement, so that an application can expose functionality to another application that is signed with a specified certificate. By signing multiple applications with the same certificate and using signature-based permissions checks, your applications can share code and data in a secure manner.

这篇关于签署两个应用程序使用相同的密钥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆