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



当我在互联网上浏览一些关于签署Android应用程序的帖子时,我收到了一些帖子,比如如何签署应用程序,以及如果您丢失了密钥库文件或密码该怎么办

我在这里要问的问题是,我从未创建过密钥库、别名或密码,那么我怎么能忘记它呢?

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

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

在调试模式下签名

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>Preferences>Android>Build。)

注意:使用调试证书进行签名时,不能向公众发布应用程序。

来源:开发者.安卓

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

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"

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

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

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

默认别名为

androiddebugkey

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

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

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

所有这些答案,仍然只缺少一个。当您在开发控制台的Google API部分创建身份验证凭据时,请确保(尤其是如果这是您的第一个)您已单击"同意屏幕"选项。如果您没有填写"title"和任何其他必填字段,则使用此选项调用将失败。

最新更新