我已经开始制作Android应用了,我想把它变成一个APK文件。这样做的时候我检查了android文档,他们谈到了jarsigner和zipalign。我想知道这些是什么以及为什么我需要它们。另外,为什么你需要一个公钥和私钥,他们做了什么?如果有人得到它们,为什么它们会如此危险?
答案 0 :(得分:1)
密钥库是用户,以确保您是唯一发布应用更新的人。当您签署应用并将其发布到Google Play时,您需要确保备份密钥存储区,因为它们无法重新创建,如果您丢失了密钥存储区,则无法发布更新。 Jarsigner只是一个用来“签名”你的应用程序的工具,而zipalign是你的应用程序的优化,与你的密钥库无关(据我所知)
答案 1 :(得分:0)
如果签署您的文件(或任何其他数据,如WLAN数据),则没有人能够修改它们(因为它们无法重新签名文件)。所以这些签名文件告诉每个人你是他们的人。
公开键用于验证您是签名文件或数据的人。它虽然无法用于签名文件(仅用于检查)。
这一切都很棒(而且安全),除非他们拥有您的私有密钥,然后他们也可以在假装他们的同时签署文件。因此,他们可以在您的应用程序中放置一个讨厌的病毒,而无需任何人注意到。因此,当您丢失私钥时,这将是一场灾难。
公钥和私钥(以及使用它们的加密技术)不是特定于Android的,它们用于所有安全通信,数据存储,电子邮件等。
有关详情,请查看this page和/或在互联网上查找“公钥/私钥”。
答案 2 :(得分:0)
您签署了自己的应用,以证明您是该应用的唯一发布商。
您真的不需要担心密钥的细节,如果您使用标准的Android开发工具(ADT),则会有一个向导引导您创建用于发布的密钥你的应用
使用工具导出: 右键单击您的项目 - > Android工具 - >导出已签名的应用程序 点击下一步,然后第二个屏幕将允许您“创建一个新密钥”。选择此项,您就可以创建所需的一切。
您需要使用此密钥进行发布(即使您没有将其放入Play Market,您仍需要签署应用程序以在任何设备上运行它。)
如果您确实发布到Play Market,并丢失了密钥库(或密码) - 您将无法更新该应用。永远,你无能为力。把它保存在某个地方。
有人需要密钥库文件和密码来签署您的应用程序(以及您的Play Market密码),因此单独使用密钥并不重要(显然,您需要保持所有这些内容的安全)。 / p>