Android 使用 Google Play .der 证书编译 APK(无密码保护)

Android Compile APK with Google Play .der Certificates (without password-protect)

我正在尝试使用 GOOGLE PLAY CONSOLE 颁发的证书(.der 格式)签署我的 APK。我可以将证书放入带有密码的受保护 .jks 容器中,但在编译时我被一条消息打断,消息说 "certificate is not protected by a password".

我试图通过删除参数 "keyPassword" 来编辑文件 "build.gradle" 的重新配置(但在编译时我再次被中断,通知我缺少参数。我也试过将参数留空,将其设置为 "false",设置为 "null",甚至设置为“000000”(我承认后者是绝望的。Kkk ...),在这些最后的尝试中我告诉他们编译总是被相同的消息打断,指出 "certificate is not protected by a password ".

我想可能有一个 keyPassword 的代理参数作为 keyEmpty 或 keyIgore 可以让编译器理解证书实际上不受密码保护,但这不是错误。但是我在 Google 搜索中没有找到任何东西...

我想也许我可以 "clone" 通过创建一个带有密码的克隆来 Google 提供的证书。这将解决我的问题......但我没有找到任何可以通过输入密码克隆证书的工具(也许这甚至不存在,因为在实践中我会违反证书本身,对吗?)

有没有人遇到过这种情况?你能帮我个忙吗?我已经尝试了一切我不知道还能做什么...

我认为 Google Play 应用程序始终已签名。因此,必须有一个我没有填写的简单且合乎逻辑的解决方案......

我当前的代码(不起作用)如下所示:

**release {
    keyAlias ​​"deployment"
    keyPassword *null*
    storeFile file (keystoreProperties ['storeFile'])
    storePassword keystoreProperties ['storePassword']
}**

如果有人真的能给我提示我哪里出错了!我将不胜感激...

证书不包含私钥,因此不能用于签署 APK。

您可以阅读 我前段时间写的关于应该阐明这些证书是什么的主题。

您应该使用与您用于签署第一个 APK/Bundle 上传到 Play 管理中心的密钥库相同的密钥库来签署您的 APK 或 App Bundle。

如果您丢失了该密钥库,您可以请求重置该密钥。请参阅 official documentation 中的 重置丢失或泄露的上传私钥