我从来没有为我的密钥库和别名设置任何密码,那么它们是如何创建的?

时间:2013-09-03 10:16:39

标签: android keytool android-keystore

当我浏览互联网上的一些帖子,了解签署您的Android应用的更多信息时,我发布了如何签署应用等帖子,以及如果您丢失了密钥库文件或密码该怎么办。

我在这里要问的问题是,我从未创建过密钥库,或者它的别名或密码,所以在这个世界上我怎能忘记密码库?

我知道对于Android我们使用密码 android ,所以,如果密码是默认的android怎么会忘记它? (我确信必须有其他方法来创建新的密钥库)。

最后,如果android是默认密码,默认别名是什么?

6 个答案:

答案 0 :(得分:387)

以调试模式登录

Android构建工具提供调试签名模式,使您可以更轻松地开发和调试应用程序,同时仍满足Android系统对APK进行签名的要求。使用调试模式构建应用程序时,SDK工具会调用Keytool来自动创建调试密钥库和密钥。然后,此调试密钥用于自动签署APK,因此您无需使用自己的密钥对软件包进行签名。

SDK工具使用预定的名称/密码创建调试密钥库/密钥:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

如有必要,您可以更改调试密钥库/密钥的位置/名称,或提供要使用的自定义调试密钥库/密钥。但是,任何自定义调试密钥库/密钥必须使用与默认调试密钥相同的密钥库/密钥名称和密码(如上所述)。 (要在Eclipse / ADT中执行此操作,请转到 Windows>首选项> Android>构建。)

警告:使用调试证书签名时,无法向公众发布应用程序。

来源: Developer.Android

答案 1 :(得分:21)

如果你想在gradle中配置它们,它应该看起来像

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}

答案 2 :(得分:3)

当我们在eclipse中运行应用程序时,apk生成符号默认是由android提供的Keystore。

但是如果你想在Play商店上传你的应用程序,你需要创建自己的密钥库。 Eclipse已经提供了GUI接口来创建新的密钥库。您还可以通过命令行创建密钥库。

默认别名为

androiddebugkey

答案 3 :(得分:2)

优于所有选项,您可以将signingConfig设置为等于debug.signingConfig。 要做到这一点,您只需要执行以下操作:

android {
  ...
  buildTypes {
    ...
    wantedBuildType {
      signingConfig debug.signingConfig
    }
  }
}

这样您就不需要知道debug.keystore的位置,即使有人使用不同的环境,该应用也适用于所有团队。

答案 4 :(得分:1)

所有这些答案仍然只有一个缺失。当您在开发控制台的Google API部分中创建身份验证凭据时,请确保您已点击“同意屏幕”选项(特别是如果它是您的第一个)。如果您没有填写“标题”并填写任何其他必填字段,则此选项将失败。

答案 5 :(得分:1)

密钥库名称:“debug.keystore”

密钥库密码:“android”

关键别名:“androiddebugkey”

密码:“android”

我使用此信息并成功生成签名APK。