首页 文章

配置Eclipse以使用签名密钥库

提问于
浏览
48

我终于为我的应用程序创建了一个“最终”密钥库 . 由于我的应用程序使用谷歌 Map ,我需要更新所有布局以使用应用程序产生的新API密钥 .

现在我完全了解导出已签名的APK以供发布的要求,但之后是什么?我的想法是,对于进一步的开发和测试,如果我可以将Eclipse配置为使用我的最终密钥库而不是调试密钥库,那将是最简单的......但我发现没有办法做到这一点?它只允许我配置一个“替代”调试密钥,但我想这不一样 .

如果我在这里完全误解了一些东西,我会感到很困惑 .

7 回答

  • 3

    我们将自定义密钥库设置为用于我们的调试版本 . Eclipse转到首选项 - > Android - >在“自定义调试密钥库”中构建并输入文件名 .

    当我们为日食习俗创建密钥库时很重要:

    密钥库密码必须是“android”它必须包含一个名为“androiddebugkey”的密钥 . 密钥的密码必须是“android”因此,虽然可以使用与导出相同的密钥库在调试中签署您的应用程序,但它需要您的 生产环境 密钥库看起来像一个调试存储,如果有人得到ahold(如果有的话),它会降低安全性更容易检查和猜测密码) .

    如果我们想要更改密钥库密码:$ 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
    enter image description here

  • 70

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

  • 4

    您可以使用Google Developers Console(console.developers.google.com)为同一Google API密钥输入调试和版本SHA1 .

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

  • 0

    我们前一段时间在办公室遇到同样的问题 . 由于我们经常需要这个,我们编写了一个简单的脚本,以便将发布密钥库转换为调试密钥库 .

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

    我们现在使用它已经有一段时间了,所以应该非常稳定 .

    干杯!

  • 0

    我能够使用我的Google Play发布密钥库作为我的自定义调试密钥库来帮助调试应用内购买功能 . 毫无疑问,同样适用于调试Google Maps的内容 .

    至于Devunwired mentioned,有一些警告 . 但我的解决方案是:

    • 在某处复制释放密钥 .

    • the instructions here之后更改密钥库密码/密钥密码和密钥别名(同样,遵循Devunwired的建议使其看起来像调试密钥库) .

    • 将Eclipse的首选项> Android> Build>自定义密钥库设置更改为在步骤1中创建的副本的路径 .

    • 完成!

  • 0

    您可以通过转到首选项 - > Android - >构建并在“自定义调试密钥库”选项中输入文件名,在Eclipse中配置用于调试版本(在单击Run ...时发生的版本)的自定义密钥库 .

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

    • 密钥库密码必须是"android"

    • 必须包含名为"androiddebugkey"的密钥

    • 该密钥的密码必须为"android"

    因此,虽然可以使用与导出相同的密钥库在调试中签署您的应用程序,但它要求您的 生产环境 密钥库看起来像一个调试存储,这使得如果有人在文件中得到保护它会更不安全(这会更容易检查和猜测密码) .

    HTH

  • 61

    为了让Eclipse在部署时自动为您签名,您需要设置一个行为类似于调试密钥库的密钥库 . 这意味着必须有一个'androiddebugkey',密钥和密钥库密码都必须是'android' . 因此,我建议如下:

    • 制作密钥库的副本,我将其复制到名为iap.keystore的文件中

    • 在路径上使用keytool打开终端/命令窗口(对我来说路径是D:\ NVPACK \ jdk1.6.0_45 \ bin \ keytool.exe)或使用以下命令中的 keystore 的完整路径

    • 将密钥库密码更改为'android':

    • keytool -storepasswd -keystore iap.keystore

    • 按照提示输入旧的密钥库密码

    • 按照提示输入 android 作为新密码

    • 按照提示确认 android 作为密码

    • 将您的密钥重命名为 androiddebugkeyreplace Old_Key_Store_Name with your current key name in the next command)

    • 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 为密钥密码

    • 您现在拥有一个密钥库(带密钥),Eclipse可以使用它来自动签署构建器 .

    • 加载Eclipse .

    • Window - > Preferences - > Android - > Build

    • 按照'Custom debug keystore'浏览到我们之前创建的iap.keystore文件

    • 好的

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

    BEWARE: 这很方便,但当然如果有人 grab 你的iap.keystore,他们就可以使用'android'作为密钥库/密钥密码来签名 . 希望这显然来自上面列出的步骤,但只需花一点时间来了解这对您自己(或您的公司)意味着什么 . 然后根据该决定风险是否可以接受,以及是否需要执行任何额外措施以确保此文件的安全性 .

相关问题