我在设备中安装签名应用程序时遇到一个问题。我使用Eclipse IDE生成了android应用程序的.apk文件(右键单击项目> Android工具>导出签名应用程序包...)和创建密钥库并生成.apk文件。我将密钥存储区和.apk文件复制到Device SD卡并安装它,应用程序已安装并正常工作然后我卸载应用程序并从SD卡中删除密钥存储区并再次安装应用程序(现在密钥存储区文件不存在)在这种情况下,应用程序也正在安装并正常工作。 我怀疑是否在没有密钥存储的情况下安装应用程序,那么生成密钥存储区的需求是什么或者此密钥存储文件的目的是什么? 或者有什么我做错了,以生成签名的.apk文件?
请帮我解决此问题。
此致 皮克斯
答案 0 :(得分:4)
你不必将密钥库复制到你的设备上,事实上你不应该把你的密钥暴露在任何地方..快速浏览一下link
Android系统使用证书作为识别应用程序作者和在应用程序之间建立信任关系的手段。
签署的重要性:
应用程序升级 - 如果要提供无缝升级,则需要使用相同的密钥库进行签名。
应用程序模块化 - Android系统允许由同一证书签名的应用程序在同一进程中运行。
通过权限共享代码/数据 - 通过使用相同证书对多个应用程序进行签名并使用基于签名的权限检查,您的应用程序可以以安全的方式共享代码和数据。
另外,请确保选择适合您应用程序生命周期的软件包名称。
如果您的设备中安装了具有某个软件包名称并使用您的私钥签名的应用程序,则系统将不允许您安装具有相同软件包名称并使用其他密钥签名的其他应用程序。
答案 1 :(得分:1)
首先,您不必生成密钥库,因为ADT在<user_profile>/.android
中创建密钥库。
然后您无需将密钥库复制到您的设备。