GooglePlay-应用捆绑包的错误签名密钥

And*_*dan 6 android google-play android-studio

我刚刚开始使用应用程序捆绑包。我已经App signing在信息中心的部分中设置了两个证书(签名证书和上传证书)。

我已经构建了一个应用程序捆绑包,并使用上传证书对其进行了签名,但是当我在Android Instant Apps其下上传捆绑包时(这实际上是我切换到应用程序捆绑包的原因),它说:

Your Android App Bundle is signed with the wrong key. Ensure that your app bundle is signed with the correct signing key and try again: xx:xx:xx:xx.....

我已经手动检查了上传密钥库的SHA-1(在终端中使用keytool),它与xx:xx:xx ....相匹配。在错误消息中说。

我究竟做错了什么?该应用程序捆绑包已使用所需的上传证书进行了签名,但Google Play似乎不喜欢它。

有想法吗?

And*_*dan 11

该解决方案是一个非常基本的解决方案。我不得不清理我的项目,然后重建它。

Android Studio正在使用我使用的旧证书对我的应用程序包进行签名。

之前我要做的是Build -> Generate Signed Bundle / APK,将文件选择器中的jks文件更改为新的上载jks。即使我选择了新证书路径,Android Studio似乎也会缓存并使用旧证书路径。可能是AS中的错误。

所以是的...现在,如果我每次更改jks文件时都清理项目,则apk或应用程序捆绑包将使用适当的证书进行签名...


小智 8

我看到有一个答案,但就我而言,我忘了删除

debuggable = true
Run Code Online (Sandbox Code Playgroud)

来自应用程序 build.gradle


小智 7

在我的情况下,问题是 Android App bundle,我忘记versionCode为项目增加并且它没有在控制台上显示该错误。相反,它显示了与证书 SHA 相关的错误。


Blu*_*her 7

我尝试在这里和在这个问题中使用多个答案,但不知何故我收到了这个错误,因为我的文件android/app/build.gradleandroid/gradle.properties文件有一些问题。

您应该检查的两件事(除了这里的其他解决方案)是:

  1. android/gradle.propertiesand 中android/app/build.gradle,确保您的keystore变量完全匹配。
    • 在 中android/gradle.properties,你可能有这样的事情:
      MYAPP_RELEASE_STORE_FILE=<>
      MYAPP_RELEASE_KEY_ALIAS=<>
      MYAPP_RELEASE_STORE_PASSWORD=<>
      MYAPP_RELEASE_KEY_PASSWORD=<>
      
      Run Code Online (Sandbox Code Playgroud)
    • 确保这些变量名称与 中的完全匹配android/app/build.gradle
      android {
          ...
          signingConfigs {
              release {
                  if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                      storeFile file(MYAPP_RELEASE_STORE_FILE)
                      storePassword MYAPP_RELEASE_STORE_PASSWORD
                      keyAlias MYAPP_RELEASE_KEY_ALIAS
                      keyPassword MYAPP_RELEASE_KEY_PASSWORD
                  }
              }
          }
      }
      
      Run Code Online (Sandbox Code Playgroud)
  2. android/app/build.gradle,请确保您设置signingConfigsigningConfigs.releaserelease buildTypes
    android {
        ...
        buildTypes {
            debug ...
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

注意:如果您在进行react-native开发并发现自己在这里,请确保按照“发布到 Google Play 商店”中的所有步骤进行操作。我以为我可以跳过几个步骤而不会引起问题,这导致了数小时的调试


nho*_*ass 5

经过一番搜索,我发现我不小心testCoverageEnabled true在我的release构建类型中包含了。

release {
    testCoverageEnabled true
    ...
}
Run Code Online (Sandbox Code Playgroud)

这将使 APK/App Bundle可调试,并且 Google Play 控制台会认为它未签名。删除这个解决了这个问题。


归档时间:

查看次数:

7472 次

最近记录:

6 年,4 月 前