142

当我浏览互联网上的一些帖子以了解有关签署 Android 应用程序的更多信息时,我收到了诸如如何签署应用程序之类的帖子,以及有关丢失密钥库文件或密码该怎么办的信息。

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

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

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

4

6 回答 6

423

在调试模式下登录

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。)

警告:使用调试证书签名后,您不能向公众发布您的应用程序。

来源: Developer.Android

于 2013-09-03T10:39:01.120 回答
23

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

signingConfigs {
        debug {
            storeFile file('PATH_TO_HOME/.android/debug.keystore')
            storePassword 'android'                   
            keyAlias 'AndroidDebugKey'
            keyPassword 'android'                     
        }
        ...
}
于 2015-07-16T23:47:03.497 回答
4
Keystore name: "debug.keystore"

Keystore password: "android"

Key alias: "androiddebugkey"

Key password: "android"

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

于 2018-04-12T19:42:33.867 回答
3

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

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

默认别名是

androiddebugkey
于 2013-09-03T10:25:12.823 回答
2

比所有选项更好,您可以将您设置signingConfig为等于您的debug.signingConfig. 为此,您只需执行以下操作:

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

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

于 2016-07-14T15:53:26.230 回答
1

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

于 2014-02-12T16:35:59.443 回答