无法在Google Play中更新应用(apk已在调试模式下签名)。可能是密钥库问题

时间:2018-08-03 14:22:51

标签: c# android unity3d build android-keystore

当我创建第一个Android版应用程序(顺便说一下,使用Unity 2018)时,我对密钥库一无所知。所以我的游戏是使用默认的unsigned(debug)签名构建的。

正如我现在意识到的那样,开发人员控制台不应该允许使用debug.keystore发布APK。但是那天该应用程序以某种方式发布了。我什至可以使用具有相同debug.keystore的APK来多次更新我的应用。

但是从今天开始,我不再能够更新应用程序。当我上传新的APK时,出现错误:

“您上传了在调试模式下签名的APK。您需要在发布模式下对APK进行签名”

起初,我认为我的新版本有问题。但是,当我尝试上传旧的APK(实际上是已经上传并发布的相同APK)时,发生了相同的错误!

所以我知道问题不在于我的APK。开发者控制台中的某些更改。 2天前,它允许我使用debug.keystore发布APK,而现在却没有

所以主要问题是:

  1. 为什么开发者控制台允许我发布使用默认debug.keystore签名的APK?

  2. 为什么从今天开始不再允许

  3. 我应该怎么做才能再次更新我的应用?

还需要提及的是,我已经尝试创建新的密钥库。在这种情况下,错误不会出现。但是发生另一个错误,这意味着APK无法上传到开发者控制台,因为新密钥与旧密钥不匹配

是的,我正在使用Google App签名。

不,Unity构建未在“开发构建”中设置,MV Studio也处于发布模式。

2 个答案:

答案 0 :(得分:0)

在这里得到同样的错误。 从我发现的情况来看,新的Android SDK缺少一个工具,因此无法从密钥库中提取密钥(释放密钥)。 我还没有找到解决方案,有人建议降级SDK,但对我没有帮助。

答案 1 :(得分:0)

我今天遇到了同样的问题,好像android默认情况下使用调试密钥对apk进行签名。我在这里得到答案: Google Play error when uploading Flutter app debuggable

在android部分的android / app / build.gradle中添加以下内容:

 signingConfigs {
            release {
                storeFile file("xxpath/release.jks")
                storePassword= "******"
                keyAlias= "******"
                keyPassword= "******"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
            }
        }