我终于创造了一个' final'我的应用程序的密钥库。由于我的应用程序使用的是谷歌地图,我需要更新所有布局以使用应用程序产生的新API密钥。
现在我完全了解导出已签名的APK以供发布的要求,但之后是什么?我的想法是,对于进一步的开发和测试,如果我可以将Eclipse配置为使用我的最终密钥库而不是调试密钥库,那将是最简单的......但我发现没有办法做到这一点?它只允许我配置一个替代方案'调试密钥,但我想这不一样。
如果我在这里完全误解了某些内容,我会感到很困惑。
答案 0 :(得分:70)
您可以通过转到Preferences - >配置自定义密钥库,以用于Eclipse中的调试版本(单击Run ...时发生的版本)。 Android - >在“自定义调试密钥库”选项中构建并输入文件名。
但是,它必须遵守与传统调试密钥库相同的规则,主要是:
因此,虽然可以使用与导出相同的密钥库在调试中签署您的应用程序,但它要求您的生产密钥库看起来像一个调试存储,如果有人得到ahold文件(如果会更容易检查和猜测密码。)
HTH
答案 1 :(得分:61)
我能够将我的Google Play发布密钥库用作我的自定义调试密钥库,以帮助调试应用内购买功能。毫无疑问,同样适用于调试谷歌地图的东西。
作为Devunwired mentioned,有一些警告。但我的解决方案是:
答案 2 :(得分:4)
为了让Eclipse在部署时自动为您签名,您需要设置一个行为类似于调试密钥库的密钥库。这意味着必须有一个' androiddebugkey'密钥和密钥库密码必须是' android'。因此,我建议如下:
keystore
的完整路径< / LI>
keytool -storepasswd -keystore iap.keystore
android
作为新密码android
作为密码androiddebugkey
(在下一个命令中使用您当前的密钥名称替换Old_Key_Store_Name
)
keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
andorid
)Old_Key_Store_Name
密码(这是您之前设置的密码密码)androiddebugkey
的密码
keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
andorid
)androiddebugkey
密码(这是您之前设置的密码密码)android
作为新密钥密码android
为密码现在,当您启动/调试项目时,它将使用我们刚刚设置的密钥库来签署您的项目。这将允许像IAP这样的东西工作。
当心:这很方便,但当然如果有人抓住您的iap.keystore,他们就可以使用&#39; android&#39;作为密钥库/密钥密码。希望这显然来自上面列出的步骤,但只需花一点时间来了解这对您自己(或您的公司)意味着什么。然后在此基础上决定风险是否可以接受,以及是否需要采取任何额外措施来确保此文件的安全。
答案 3 :(得分:3)
我们设置自定义密钥库用于我们的调试版本。 Eclipse转到首选项 - &gt; Android - &gt;在“自定义调试密钥库”中构建文件名。
在我们为日食习俗创建密钥库时很重要。:
密钥库密码必须是“android” 它必须包含一个名为“androiddebugkey”的密钥 该密钥的密码必须是“android” 因此,尽管可以使用与导出相同的密钥库在调试中对应用程序进行签名,但它要求您的生产密钥库看起来像一个调试存储,如果文件中有人得到了它,则会降低安全性(这会更容易检查并猜测密码。)
如果我们想要更改密钥库密码:$ keytool -storepasswd -keystore my.keystore
如果我们想要更改密钥库别名密码:$ keytool -keypasswd -keystore my.keystore -alias my_name
如果我们想要更改密钥库别名:$ keytool -changealias -keystore my.keystore -alias my_name -destalias my_new_name
Vkj
答案 4 :(得分:0)
这里有一些转换调试密钥库中常规密钥库的说明: https://stackoverflow.com/a/15754187/917362
答案 5 :(得分:0)
您可以使用Google Developers Console(console.developers.google.com)为同一Google API密钥输入调试和版本SHA1。
这样,您将拥有相同的API密钥,并且不再需要在AndroidManifest.xml中更改它。
答案 6 :(得分:0)
前一段时间我们在办公室遇到同样的问题。由于我们经常需要这个,所以我们编写了一个简单的脚本,以便将发布密钥库转换为调试密钥库。
该脚本可在https://github.com/IntellexApps/key2debug
上找到我们现在使用它已经有一段时间了,所以应该非常稳定。
喝彩!