您的Android应用程序捆绑包使用了错误的密钥签名。确保您的应用捆绑包使用正确的签名密钥签名,然后重试

时间:2018-09-25 21:51:25

标签: android google-play

如何使用正确的签名密钥对我的android应用包进行签名?

15 个答案:

答案 0 :(得分:3)

该错误表明您之前已经上传了APK或应用捆绑包。您上传到Play控制台的所有工件都应使用相同的密钥库签名。 因此,该错误意味着您使用与之前上传的密钥不同的密钥对App Bundle进行了签名。您必须找到以前使用过的密钥库,或者通过与Play控制台支持团队联系来重置密钥。

答案 1 :(得分:2)

在这里反应本地人!

尝试从 ./ gradlew bundleRelease 命令上载生成的.aab文件后出现此错误。我通过再次使用Android Studio导出.aab文件来修复它。我相信这是将您的第一个.aab文件上传到Google Play的方法。如果您不知道怎么做:

在Android Studio中:

  1. 打开您React Native的项目android文件夹
  2. 转到构建->生成签名包/ APK
  3. 选择Android应用程序捆绑包
  4. 输入您的密钥存储详细信息(如果这是您第一次这样做,则必须选中“导出加密密钥”复选框,该复选框可用于Google Play应用签名)
  5. Android Studio完成后,您可以选择查找创建的文件

现在,如果您上传此.aab文件,则该文件应被接受。

答案 2 :(得分:2)

如果您已从Google Play请求一个新的上传密钥,但仍然收到此错误(本机Android和Flutter都应如此)。

我遇到了同样的问题。这是解决问题的步骤:

  1. 我们已经丢失了用于对应用进行签名的上传密钥(初始密钥存储文件,可能是.jks)。
  2. 我们创建了一个新的密钥库文件,并将已创建的证书导出为PEM格式,如here in the docs所述。我们已将请求发送给Google Play小组,以重置我们的密钥附件(.pem)。
  3. 当Google Play团队重置密钥时,我们尝试使用在步骤2中创建的新.jks密钥库,并且错误再次出现。

解决方案是清理您的项目,从头开始重建它,以重置所有缓存的内部版本。

在Flutter的情况下(我们在使用Flutter构建应用时遇到此错误)。确保使用

flutter clean

在模拟器或设备上构建应用程序。

然后运行:

flutter build appbundle --release

这是我们所解决的问题。

PS。这也应该在原生Android上也有帮助。

答案 3 :(得分:2)

迟到的答案(对于任何可能仍在为这个话题苦苦挣扎的人)-

您可能忘记了该项目的 .jks 文件。

  1. 在文件资源管理器中搜索 .jks 文件。

  2. 将其连接到您的项目。

答案 4 :(得分:1)

我在桌子上敲了一下脑袋大约两个小时。当我最终放弃并填写“重置密钥”请求时,我意识到我目前一直在尝试将其始终上传到错误的项目

因此,第一步:确认您正在尝试上传到正确的项目。

答案 5 :(得分:1)

在此上浪费了我的2天时间,虽然拥有我的密钥库密钥,但仍然显示错误并要求google生成新密钥。工作!

只需重建项目并再次生成签名的apk,然后尝试!

答案 6 :(得分:1)

我意识到,当我上传 apk 时,它会给出更详细的错误。因此,也许尝试解决错误,然后再尝试应用捆绑。

希望有帮助。

答案 7 :(得分:0)

我所做的是从git中排除了我的android文件,然后当我更改分支并重建时,我的build.gradle文件被覆盖了。

答案 8 :(得分:0)

我尝试在此处和this question中使用多个答案,但是由于我的android/app/build.gradleandroid/gradle.properties文件存在一些问题,我莫名其妙地收到了这个错误。

除了此处的其他解决方案外,您还应检查两件事:

  1. android/gradle.propertiesandroid/app/build.gradle中,确保您的keystore变量完全匹配。
    • android/gradle.properties中,您可能会遇到以下情况:
      MYAPP_RELEASE_STORE_FILE=<>
      MYAPP_RELEASE_KEY_ALIAS=<>
      MYAPP_RELEASE_STORE_PASSWORD=<>
      MYAPP_RELEASE_KEY_PASSWORD=<>
      
    • 确保这些变量名完全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
                  }
              }
          }
      }
      
  2. android/app/build.gradle中,确保在signingConfig signingConfigs.release中将release设置为buildTypes
    android {
        ...
        buildTypes {
            debug ...
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    

答案 9 :(得分:0)

我正在使用expo构建我的应用包。就我而言,我必须:

  1. 手动创建新的密钥库文件。
    或使用命令expo fetch:android:keystore
  2. 下载现有的密钥库
  3. 从Google Play控制台下载我的应用的上传证书
  4. 将应用程序的“上传”证书导入到新创建的密钥库文件中,为其提供密钥别名和密码。使用java keytool可以轻松完成此操作。在MacOS中,因此请发出keytool -h来查看可用的各种命令。
  5. 运行expo ba -c,采用手动方法,当被问到时,我指定了在步骤1中创建的密钥库文件。

答案 10 :(得分:0)

构建签名的Android应用程序捆绑包时出现相同的错误。
为了在本地计算机上进行调试,我在发布版本类型中启用了debuggable
看来,Playstore识别出一个调试版本,只是说它不是有效的捆绑软件。

build.gradle:

buildTypes {
     release {
         minifyEnabled true
         proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         //debuggable = true  <----- Works like expected when disabled
     }
}

答案 11 :(得分:0)

对于那些没有手动生成的keystore来发布apk并在尝试从另一台计算机上发布apk或捆绑包时遇到此问题的人,请执行以下步骤:

  1. 从用于构建应用程序第一个版本的计算机中复制debug.keystore(C:\ Users \ username \ .android \ debug.keystore)

  2. 选择构建>生成签名包/ APK

  3. 提供密钥存储路径到debug.keystore文件

  4. 使用下面提到的默认值填充其他字段并进行构建

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"

答案 12 :(得分:0)

Verify the details as shown in image and body

这对我有用!


<块引用>

当第一次上传 apk/bundle 到 Play 商店时,您可能会生成 private_key.pepk 那么您的密钥也可能会被更改。因此,如果您选择了默认密钥别名 key0,请确保您选择了正确的别名,然后才能继续。如果这些步骤正确,那么您的捆绑包将成功上传。


答案 13 :(得分:0)

如果您将应用发布到 Playstore 并发现错误 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: 然后, 如果您在达到 pic 中显示的当前状态之前尚未生成/更改应用程序包或重建/清理项目,请确保在播放控制台上创建新的应用程序项目,因为播放控制台可能会混合两个键。 image

答案 14 :(得分:0)

在这个问题上浪费了几个小时之后,下面的解决方案对我有用-

当您创建签名包时,它被保存到某个位置, 然后当它被拒绝时, 你又去制作新的签名包, 嗯,这就是错误发生的地方。

请参阅现在您将创建另一个已签名的捆绑包, 您在另一个文件夹上签名假设上一个文件夹是上次制作的, , 确保您将签名密钥存储在“相同文件夹”中, 无需制作任何新的签名密钥路径, 只需使用您第一次使用时使用的路径。

See this image, use the same path which you have used during first time

使用与您第一次使用相同的 JKS 文件。 现在,当您制作捆绑文件时, 它将拥有正确的密钥。

谢谢!!!