您上传的 APK 未使用上传证书签名 - 即使我使用的是 Google Play Signing

You uploaded an APK that is not signed with the upload certificate - even though I am using Google Play Signing

前言:这个问题在Stack Overflow上已经有很多提问了,但是我的问题比较独特,因为涉及到Google Play Signing。

我使用 Google Play Signing 来发布我的应用程序。因此,我从未创建过密钥库 (.jks) 文件(至少对于此应用程序而言)。我以为 Google Play Signing 会为我处理所有这些。

从 Windows 切换到 Linux 后,我尝试为我的应用发布新的更新。但是,我得到了标题中提到的错误。

这是我项目的唯一签名配置(windows 上的路径不同 - 但它仍然指向调试密钥库)。我从未创造过任何其他人。

signingConfigs {
    config {
        keyAlias 'androiddebugkey'
        keyPassword 'android'
        storeFile file('/home/vedantroy/.android/debug.keystore')
        storePassword 'android'
    }
}

可能是什么问题?无论如何我可以继续发布应用程序的更新吗?

使用 Google Play Signing,您仍然使用每次必须相同的上传密钥对您的应用程序进行签名。然后检查此签名并将其替换为 Google。如果您丢失了上传密钥,可以更改它,请查看 Google 签名站点以获取更多信息。

I used Google Play Signing to release my app. As such, I have never created a keystore (.jks) file (at least for this app).

即使 Google Play 拥有您应用的发布密钥,您仍然需要对上传到 Play 管理中心的 APK 进行签名。这是一个要求。您可能在没有意识到的情况下使用 IDE 自动生成的密钥进行了签名。这就是 Play 管理中心所说的 "upload key"。 Google Play 会确保以后上传的每个 APK 都使用相同的密钥签名。

看来您在更换计算机时没有保留第一次上传时使用的密钥库,但是使用 Google Play signing 幸运的是您可以重置上传密钥。参见 Create a new upload key