什么是Android密钥库文件,它用于什么?

这是一个普遍的问题,但特别是我对Android的使用感兴趣。 什么是密钥库文件,它用于什么?

多个Android应用程序可以使用相同的密钥库来签署他们的应用程序(究竟是什么意思来“签署”一个.apk?),这有什么含义?

我会提供的答案是,一个密钥库文件是要向任何正在问的人进行身份validation。 它不仅限于签署.apk文件,您可以使用它来存储个人证书,签名要传输的数据以及各种身份validation。

根据你对Android的处理方式,以及你提到签名apk文件的时候你可能要找的是什么,这是你的证书。 您正在使用凭证标记您的应用程序。 您可以使用相同的密钥标记多个应用程序,实际上,build议您使用一个证书来标记您编写的多个应用程序。 跟踪哪些应用程序属于您更容易。

我不确定你的意思是什么意思。 我想这意味着除证书持有者外,没有人可以更新你的申请。 这意味着,如果将其释放到野外,则会丢失用于签署应用程序的证书,那么您将无法发布更新,因此请保证证书安全并在需要时进行备份。

但除了签署apks释放到野外,您可以使用它来通过SSLvalidation您的设备到服务器,如果你愿意,(也与Android相关)等function。

Android Market要求您使用公钥/私钥机制(证书使用您的私钥签名)签署所有使用证书发布的应用程序。 这提供了一个安全层,防止远程攻击者将恶意更新推向市场(所有更新都必须使用相同的密钥进行签名)。

从Android开发者网站的应用签名指南 :

一般来说,为所有开发人员推荐的策略是在应用程序的预期使用期限内使用相同的证书签署所有应用程序。 有几个原因,你应该这样做…

使用相同的密钥有几个好处 – 一个是在使用相同密钥签名的应用程序之间共享数据更容易。 另一个原因是它允许使用同一个密钥签署的多个应用程序在同一个进程中运行,所以开发人员可以构build更多的“模块化”应用程序。

你可以在这里find更多关于签名过程的官方Android文档信息: http : //developer.android.com/guide/publishing/app-signing.html

是的,您可以使用相同的密钥库签署多个应用程序。 但是您必须记住一件重要的事情:如果您在Play商店中发布应用程序,则必须使用非debugging证书对其进行签名。 如果有一天你想发布这个应用程序的更新,用于签署apk的密钥库必须是相同的。 否则,您将无法发布更新。

一个keytool的整个想法是签署你的apk与一个唯一的标识符中继该apk的来源。 一个密钥库文件(从我的理解)用于debugging,所以你的apk有一个keytool的function,而无需签署你的apk进行生产。 所以是的,为了debugging的目的,你应该可以用一个keystore来签署多个apk,但是要理解推送到你的产品,你需要唯一的keytools作为每个apk的标识符