Пакет Android App Bundle подписан неправильным ключом. Убедитесь, что ваш комплект приложений подписан правильным ключом подписи, и повторите попытку

Как подписать пакет приложений для Android с помощью правильного ключа подписи?

Удалось ли вам сбросить ключ в Play Console? У меня такая же проблема, и служба поддержки не отвечает на мой запрос на сброс ключа с их стороны.

rraallvv 14.02.2019 00:22

@rraallvv сейчас на вашем месте - они не вернутся. Это займет время?

Hamish Johnson 09.01.2021 18:16

@HamishJohnson они в конечном итоге сбросили мою учетную запись, хотя я точно не помню, сколько времени мне потребовалось, чтобы решить проблему. Извините, я ничем не могу помочь.

rraallvv 09.01.2021 22:30
50
3
64 441
15

Ответы 15

Ошибка предполагает, что вы ранее загрузили APK или App Bundle. Все артефакты, которые вы загружаете в Play Console, должны быть подписаны одним и тем же хранилищем ключей. Таким образом, ошибка означает, что вы подписали App Bundle с помощью ключа, отличного от того, который вы загрузили ранее. Вам нужно либо найти это хранилище ключей, которое вы использовали ранее, либо сбросить ключ, связавшись со службой поддержки Play Console.

извините, но у меня такая же ошибка, как и в теме. после сброса ключа я не могу продолжить: всегда одна и та же ошибка. Можете ли вы помочь мне (также с личным сообщением) загрузить новый пакет приложений? Я потерял свои оригинальные jks, и я не могу позволить себе подписать пакет приложений с новым ключом SHA1!

Fausto 23.04.2019 13:26

Когда вы сбрасываете ключ, вам нужно было создать новое хранилище ключей и новый ключ в этом хранилище ключей. Затем вы отправили в Google сертификат, связанный с этим ключом. Это ключ, который нужно использовать для подписи приложения.

Pierre 24.04.2019 21:01

ах, хорошо, поэтому я отправляю в Google новый файл .pem, связанный с новым хранилищем ключей .jks. После их ответа я могу использовать этот новый .jks .. Отлично! большое спасибо

Fausto 25.04.2019 17:02

Я бился головой об этом около двух часов. Когда я наконец сдался и заполнял свой запрос «сброса ключа», я понял, что в настоящее время все время пытаюсь загрузить его в неправильный проект.

Итак, шаг первый: подтвердите, что вы пытаетесь загрузить в правильный проект.

Я рад, что прочитал этот комментарий, так как это была моя ошибка, которая привела меня к этому в Google. Всегда умно проверять себя дважды, а?

Steven Matthews 15.10.2019 23:15

Спас мою ночь !!

Abhishek 22.07.2020 19:14

Просто перестройте проект, сгенерируйте подписанный apk еще раз и попробуйте!

Потратил свои 2 дня на это, у меня был ключ хранилища ключей, но все еще показывалась ошибка и запрашивалась ошибка Google для генерации нового ключа .... Прочтите случайный stackoverflow, где он был написан, чтобы перестроить проект и попробовать загрузить еще раз .. ЭТО РАБОТАЛО!

как я могу пересобрать проект? Любые предложения, пожалуйста

rj tubera 11.06.2020 10:25

@rjtubera В Android Studio просто перейдите в Build -> Rebuild Project (я бы рекомендовал сделать Build -> Clean Project перед восстановлением)

Blundering Philosopher 24.06.2020 09:13

Что я сделал, так это исключил мои файлы Android из git, а затем, когда я изменил ветку и перестроил, мой файл build.gradle был перезаписан.

Я пробовал использовать несколько ответов здесь и в этот вопрос, но почему-то получал эту ошибку, потому что у меня были проблемы с моими файлами android/app/build.gradle и android/gradle.properties.

Вы должны проверить две вещи (в дополнение к другим решениям здесь):

  1. В android/gradle.properties и android/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 в вашем releasebuildTypes:
    android {
        ...
        buildTypes {
            debug ...
            release {
                signingConfig signingConfigs.release
            }
        }
    }
    

Большое спасибо, это помогло мне после того, как я переместил свое приложение React Native в другой шаблонный проект для лучшей структуры каталогов, но не смог развернуть новую версию приложения со старым файлом хранилища ключей.

Mahdi A. Bolow 03.06.2020 15:47

Кроме того, запуск ./gradlew clean перед сборкой приложения помогает очистить ранее кэшированные сборки.

Mahdi A. Bolow 03.06.2020 15:50

Большое спасибо. Я понятия не имел, что происходит. Мой signingConfig указывал на signingConfigs.debug. Сработало после смены на релиз.

Chaitanya Bankanhal 23.07.2020 18:17

Ах, большое спасибо !!. Я следовал нативным инструкциям по реакции на reactnative.dev/docs/signed-apk-android. Очень легко пропустить изменение под buildTypes

Casey L 29.01.2021 06:58

Это сработало для меня. Я потратил часы на эту проблему.

Victor Karangwa 27.06.2021 16:18

Я использую Экспо для создания пакета приложений. В моем случае мне пришлось:

  1. Вручную создайте новый файл хранилища ключей. Или загрузите существующее хранилище ключей с помощью команды expo fetch:android:keystore
  2. Загрузите сертификат загрузки моего приложения из Google Play Console
  3. Импортируйте сертификат загрузки приложения во вновь созданный файл хранилища ключей, задав ему псевдоним ключа и пароль. Это легко сделать с помощью java keytool. В MacOS это путь, поэтому запустите keytool -h, чтобы увидеть различные доступные команды.
  4. запустите expo ba -c, выбрал ручной маршрут и, когда его спросили, я указал файл хранилища ключей, созданный на шаге 1.

React Native здесь!

Я получил эту ошибку после попытки загрузить сгенерированный файл .aab с помощью команды ./gradlew bundleRelease. Я исправил это, снова экспортировав файл .aab с помощью Android Studio. Я считаю, что это способ в любом случае загрузить свой первый файл .aab в Google Play. Если вы не знаете как:

В Android Studio:

  1. Откройте папку Android проекта React Native
  2. Перейдите в Build -> Generate Signed Bundle / APK.
  3. Выберите Android App Bundle
  4. Введите данные хранилища ключей (если вы делаете это впервые, установите флажок Экспорт зашифрованного ключа, который можно использовать для подписи приложений Google Play) и нажмите Далее.
  5. Когда Android Studio завершит работу, вы сможете найти созданные файлы.

Теперь, если вы загрузите этот файл .aab, его следует принять.

Я понял, что при загрузке apk выдает более подробную ошибку. так что, возможно, попробуйте решить ошибки, а затем попробуйте пакет приложений.

Надеюсь, это поможет.

Да, это помогает. Если вы попытаетесь загрузить APK вместо .aab, то вы получите подробную ошибку.

pravingaikwad07 24.08.2020 08:59

Прочтите это, вы запросили новый ключ загрузки из Google Play, но по-прежнему получаете эту ошибку (должна работать как для собственного Android, так и для Flutter).

У меня была такая же проблема. И вот шаги, как решить эту проблему:

  1. Мы потеряли ключ загрузки (исходный файл хранилища ключей, возможно .jks), который использовался для подписи приложения.
  2. Мы создали новый файл хранилища ключей и экспортировали созданный сертификат в формат PEM, как указано здесь в документации. Мы отправили запрос в команду Google Play для сброса нашего ключа с прикрепленным файлом .pem.
  3. Когда команда Google Play сбросила ключ, мы попытались использовать новое хранилище ключей .jks, которое мы создали на шаге 2, и ошибка появляется еще раз.

Решение состоит в том, чтобы очистить ваш проект, перестроить его с нуля, чтобы сбросить все кешированные сборки.

В случае Flutter (у нас была эта ошибка при создании приложения с использованием Flutter). Убедитесь, что вы используете

flutter clean

Создайте приложение на симуляторе или устройстве.

Затем запустите:

flutter build appbundle --release

Вот как она решилась в нашем случае.

PS. Это также должно помочь на родном Android.

У меня была такая же ошибка при создании подписанного пакета Android App Bundle. Для целей отладки на локальной машине я включил debuggable в типе сборки выпуска. Похоже, Playstore распознал отладочную сборку и просто сказал, что это недействительный пакет.

build.gradle:

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

Для тех, кто выпустил apk без созданного вручную keystore и столкнулся с этой проблемой при попытке выпустить apk или пакет с другого компьютера, выполните следующие действия:

  1. Copy debug.keystore (C:\Users\username\.android\debug.keystore) from the machine which used to build the first version of the App

  2. Select Build > Generate Signed Bundle/APK

  3. Provide the Key store path to the debug.keystore file

  4. Fill the other fields with the default values mentioned below and build

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

Verify the details as shown in image and body

Это сработало для меня!


While uploading apk/bundle first time to play store you might generated private_key.pepk then your key might be also changed. So if you selected default key alias key0 then make sure you selected proper alias then only proceed. If that steps is correct then your bundle will be upload successfully.


Поздний ответ (для тех, кто, возможно, все еще борется с этой темой) -

Возможно, вы забыли файл .jks этого проекта.

  1. Найдите файлы .jks в проводнике.

  2. Подключите его к своему проекту.

Человек ты легенда. Спасибо

Faizan Kamal 31.05.2021 09:01

@Nilesh Deshmukh Как подключить к проекту другой файл .jks?

gkeenley 05.09.2021 20:49

Если вы публикуете приложение в 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: Потом, Если вы не сгенерировали / не изменили пакет приложений или не перестроили / не очистили проект до достижения текущего состояния, отображаемого на рис., Тогда обязательно создайте новый проект приложения на игровой консоли, поскольку игровая консоль может смешивать два ключа. изображение

После того, как я потратил часы на эту проблему, для меня работает Нижеприведенное решение -

Когда вы создаете подписанный пакет, это сохраняется в каком-то месте, Затем, когда его отвергают, вы снова пошли создавать новый подписанный пакет, Ну вот где и происходит ошибка.

См. когда теперь вы создадите еще один подписанный пакет, вы подписываете другую папку, предполагая, что предыдущий был сделан в прошлый раз, убедитесь, что вы сохранили подписанный ключ в "ЖЕ ПАПКА", Нет необходимости создавать новый путь подписанного ключа, ПРОСТО используйте путь, который вы использовали при выполнении этого в первый раз.

Смотрите это изображение, используйте тот же путь, который вы использовали в первый раз

Используйте те же файлы JKS, которые вы использовали в первый раз. ТЕПЕРЬ, КОГДА ВЫ СОЗДАЕТЕ ФАЙЛ ПАКЕТОВ, БУДЕТ ИМЕТЬ ПРАВИЛЬНЫЙ КЛЮЧ.

Спасибо!!!

Другие вопросы по теме