当我创建第一个Android版应用程序(顺便说一下,使用Unity 2018)时,我对密钥库一无所知。所以我的游戏是使用默认的unsigned(debug)签名构建的。
正如我现在意识到的那样,开发人员控制台不应该允许使用debug.keystore发布APK。但是那天该应用程序以某种方式发布了。我什至可以使用具有相同debug.keystore的APK来多次更新我的应用。
但是从今天开始,我不再能够更新应用程序。当我上传新的APK时,出现错误:
“您上传了在调试模式下签名的APK。您需要在发布模式下对APK进行签名”
起初,我认为我的新版本有问题。但是,当我尝试上传旧的APK(实际上是已经上传并发布的相同APK)时,发生了相同的错误!
所以我知道问题不在于我的APK。开发者控制台中的某些更改。 2天前,它允许我使用debug.keystore发布APK,而现在却没有
所以主要问题是:
为什么开发者控制台允许我发布使用默认debug.keystore签名的APK?
为什么从今天开始不再允许
我应该怎么做才能再次更新我的应用?
还需要提及的是,我已经尝试创建新的密钥库。在这种情况下,错误不会出现。但是发生另一个错误,这意味着APK无法上传到开发者控制台,因为新密钥与旧密钥不匹配
是的,我正在使用Google App签名。
不,Unity构建未在“开发构建”中设置,MV Studio也处于发布模式。
答案 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
}
}