2012-01-03 55 views
0

我面对关于在device.I签名的应用程序的安装一个问题已经产生了使用Eclipse IDE Android应用程序的.apk文件设备(右键单击项目> Android的工具>导出签署的应用程序包...)并创建密钥库并生成.apk文件。我将密钥存储区和.apk文件复制到Device SD卡并安装,应用程序已安装并正常工作,然后我卸载应用程序并从SD卡中删除密钥存储区,然后再次安装应用程序(现在密钥存储区文件不存在)在这种情况下也应用程序正在安装并正常工作。 我的疑问是,如果应用程序没有使用密钥存储安装,那么生成密钥存储需要什么或此密钥存储文件的用途是什么? 或者是有什么我做错了,以生成签名.apk文件?签名的应用程序是越来越没有密钥库安装在

请帮我解决这个问题。

问候, 皮克斯

回答

4

你不必密钥库复制到您的设备,其实你不应该在任何地方暴露你的关键..Have快速看一下这个link

Android系统使用该证书作为识别的作者的一种手段应用程序之间建立信任关系。

重要性签约:

应用升级 - 如果您想提供您需要使用相同的密钥存储签署无缝升级。

应用模块化 - Android系统允许由同一个证书签名的应用程序在同一个进程中运行。

代码/通过许可数据共享 - 通过使用同一证书签署多个应用程序,并使用基于签名的权限检查,您的应用程序可以在一个安全的方式共享代码和数据。

另外,还要确保你选择适合你的申请表的寿命包名称。

如果您已经安装在一些软件包名称设备的应用程序,并与您的私钥签名,则系统将不会让您安装使用相同的包名称的另一个应用程序,并与其他一些重要的签署。

+0

okie,我明白你所描述的话,但我仍无法理解哪儿我应该使用这个关键,我需要分享这个关键,谁将会使用应用程序,或者它不需要用户?如果我将这个应用程序发布到android市场上,我是否需要发布这个密钥,或者任何人都可以在没有此密钥的情况下使用我的应用程序?所以如果我可以发布这个没有密钥的应用程序,那么我可以说这个密钥只适用于开发/升级应用程序的目的? – piks 2012-01-03 09:05:31

+0

不需要与用户共享密钥。 – 2012-01-03 09:10:20

+0

正如我前面所说,你永远不要在任何地方暴露你的密钥..快速浏览一下这个http://developer.android.com/guide/publishing/app-signing.html#secure-key...它的重要性来当您考虑安装安全性,升级维护和数据/代码共享 – 2012-01-03 09:39:08

1

首先,你不必生成一个密钥存储为ADT创建一个在<user_profile>/.android

然后,您不需要将密钥库复制到您的设备。

相关问题