configurationEclipse以使用签名密钥库

我终于为我的应用程序创build了一个“final”keystore。 当我的应用程序使用Google地图时,我必须更新所有布局才能使用应用程序产生的新API密钥。

现在我完全意识到需要导出已签名的APK以进行发布,但之后呢? 我的想法是,进一步的开发和testing,如果我可以configurationEclipse来使用我的最终密钥库而不是debugging密钥库是最简单的,但我发现没有办法做到这一点? 它只允许我configuration一个“替代”debugging键,但我想这不是一回事。

对不起,如果我在这里完全误解了一些东西,我太困惑了。

我能够将我的Google Play版本密钥库用作我的自定义debugging密钥库,以帮助您debugging应用内购买function。 无疑,这同样适用于debuggingGoogle地图的东西。

正如Devunwired所说 ,有一些警告。 但我的解决scheme是这样的:

  1. 在某处复制你的释放键。
  2. 按照此处的说明更改密钥库密码/密钥密钥和密钥别名(也遵循Devunwired的build议,使其看起来像debugging密钥库)。
  3. 将Eclipse的“首选项”>“Android”>“生成”>“自定义密钥库”设置更改为步骤1中创build的副本的path。
  4. 完成!

您可以通过转到首选项 – > Android – >生成并在“自定义debugging密钥库”选项中input文件名,来configuration自定义密钥库以用于Eclipse中的debugging版本(在单击“运行…”时发生的debugging版本) 。

但是 ,有一点要注意,它必须遵循与传统debugging密钥库相同的规则,主要是:

  1. 密钥库密码必须是“android”
  2. 它必须包含一个名为“androiddebugkey”
  3. 该密钥的密码必须是“android”

因此,尽pipe可以在debugging时使用与Export一样的密钥存储库对应用程序进行签名,但它要求您的生产密钥库看起来像一个debugging存储区,如果有人查看了该文件(这样会更容易些检查和猜测密码)。

HTH

为了使Eclipse在部署时自动为您签名,您需要设置一个与debugging密钥库行为相似的密钥库。 这意味着必须有一个“androiddebugkey”,密钥和密钥库密码必须是“android”。 因此,我build议如下:

  1. 制作你的密钥库副本,我把它复制到一个名为iap.keystore的文件中
  2. 使用path上的keytool打开terminal/命令窗口(对于我来说,path是D:\ NVPACK \ jdk1.6.0_45 \ bin \ keytool.exe),或者在下面的命令中使用完整path来keystore
  3. 将您的密钥库密码更改为“android”:
    • keytool -storepasswd -keystore iap.keystore
    • 按提示input您的旧密钥库密码
    • 按提示inputandroid作为新密码
    • 按提示确认android作为密码
  4. 将您的密钥重命名为androiddebugkey在下一个命令中用您当前的密钥名称replaceOld_Key_Store_Name
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • 按提示input您的密钥库密码(现在是andorid
    • 按照提示input您的Old_Key_Store_Name密码(这是您之前将密钥密码设置为的任何内容)
  5. 更改你的androiddebugkey的密码
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • 按提示input您的密钥库密码(现在是andorid
    • 按照提示input你的androiddebugkey密码(这是你以前的密钥设置为密码)
    • 按提示inputandroid作为新的密钥密码
    • 按提示确认android为密钥
  6. 您现在有一个密钥库(带有密钥),Eclipse可以使用它来自动签署构build器。
  7. 加载Eclipse。
  8. 窗口 – >首选项 – > Android – >生成
  9. 按照“自定义debugging密钥库”浏览到我们以前创build的iap.keystore文件

现在,当您启动/debugging您的项目时,它将使用我们刚刚设置的密钥库来签署您的项目。 这将允许像IAP这样的工作。

注意:这很方便,但是当然如果有人拿着你的iap.keystore,他们就可以用'android'作为密钥库/密钥来签名。 希望这显然是从上面列出的步骤,但只是花一秒钟来欣赏这对自己(或你的公司)意味着什么。 然后据此决定风险是否可以接受,如果您需要采取任何额外的措施来确保这个文件的安全。

我们设置自定义密钥库用于我们的debugging版本。 Eclipse转到“首选项” – >“Android” – >“生成”,然后在“自定义debugging密钥库”中input文件名。

重要的是当我们创build我们的食谱海关的密码存储区:

密钥库密码必须是“android”它必须包含一个名为“androiddebugkey”的密钥该密钥的密码必须是“android”因此,尽pipe可以在debugging时使用与Export一样的密钥库对应用程序进行签名,但它需要您的产品keystore看起来像一个debugging存储,如果有人查看文件(这将更容易检查和猜测密码),这使得它不太安全。

如果我们要更改密钥库密码:$ 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 在这里输入图像说明

这里有一些转换debugging密钥库中的常规密钥库的说明: https : //stackoverflow.com/a/15754187/917362

您可以使用Google Developers Console(console.developers.google.com)为同一个Google API密钥inputdebugging版本和发行版本SHA1。

这样,您将拥有相同的API密钥,并且不再需要在AndroidManifest.xml中对其进行更改。

我们前段时间在我们的办公室也有同样的问题。 由于我们经常需要这个function,所以我们编写了一个简单的脚本,以便将发行版密钥库转换为debugging版本。

该脚本可在https://github.com/IntellexApps/key2debug上find

我们现在使用它一段时间,所以应该相当稳定。

干杯!