установка приложения заблокирована функцией Play Protect

При попытке установить подписанное приложение (app-release.apk) отображается предупреждение «Заблокировано Play Protect» и приложение не устанавливается. Однако неподписанное приложение (app-debug.apk) можно установить без проблем.

Сообщение об ошибке:

Play Protect не распознает разработчика этого приложения. Приложения от неизвестных разработчиков иногда могут быть небезопасными.

Почему произошла эта ошибка? Какое решение?

изображение ошибки


person Mostafa Azadi    schedule 28.06.2018    source источник
comment
Я также столкнулся с такой же проблемой с моим приложением. Хотя моя учетная запись Google была заблокирована, когда я попытался опубликовать свое приложение. Насколько я понимаю, контрольный список Google update play protect с приостановленным именем пакета, а затем, если вы попытаетесь установить то же имя пакета, play protect начнет выдавать поддельное предупреждение. Я создал новое приложение с приостановленным именем пакета и только с основным действием, без добавления другого кода. Подписал с приостановленным хранилищем ключей apk и попытался установить. Как ни странно, защита игры показала опасное предупреждение, как показано в вашем вопросе. Я также попытался создать новый пакет со всеми классами приостановленных приложений, но без предупреждения по игре.   -  person Panache    schedule 06.12.2018
comment
См. Решение здесь: stackoverflow.com/a/54976730/984471   -  person Manohar Reddy Poreddy    schedule 04.03.2019
comment
та же проблема для меня, но нашел другое хранилище ключей, которое даже не опубликовало приложение для игры в Google, правильно подписать приложение, и это диалоговое окно не появляется! даже если вы создаете новое приложение, проблема возникает из коробки. У меня несколько приложений, и другое хранилище ключей корректно работает с моим новым приложением! Я не знаю, как гуглу решать, разработчик приложений неизвестен! У меня никогда не было учетной записи на консоли Google Play.   -  person hamed hosiny    schedule 24.05.2020
comment
вы нашли основную причину проблемы?   -  person Mighty    schedule 17.06.2021


Ответы (11)


Я нашел решение: перейдите по ссылке ниже и отправьте заявку.

Форма подачи апелляций Play Protect

Через несколько дней проблема будет устранена

person Mostafa Azadi    schedule 08.07.2018
comment
@MostafaAzadi В чем была точная причина? - person Behnam Maboudi; 01.08.2018
comment
причина в том, что вы не используете SSL и включили в манифесте передачу открытого текста. - person DaniloDeQueiroz; 23.10.2018
comment
Если у вас есть проблема с URL-адресом для загрузки файла APK, это полезно: stackoverflow.com/a/56513945/9710197 - person Mostafa Azadi; 09.06.2019
comment
@DaniloDeQueiroz Вы абсолютно уверены, что проблема в передаче открытого текста? Значит, удаление android:usesCleartextTraffic="true" должно решить проблему, верно? Спасибо. - person AnthoPak; 04.11.2019
comment
@AnthoPak при удалении android: usesCleartextTraffic = true, приложение вылетало в android 9 - person Mostafa Azadi; 04.11.2019
comment
@MostafaAzadi Если я не заменю все HTTP-вызовы на HTTPS, верно? - person AnthoPak; 04.11.2019
comment
Привет. Я не могу подать апелляцию на приложение Play Protect. Как закачать apk? Я получаю электронное письмо о том, что apk не может быть загружен, хотя я предоставляю прямые ссылки для скачивания через GitHub. - person SayantanRC; 17.11.2019
comment
почему мы предоставляем apk, который мы не хотим им давать? У меня уже есть приложения в игровом магазине с той же учетной записью, которую я подписал в студии Android, но этот я не хочу, а также не хочу предоставлять им apk. Любое другое решение? - person Ahmad; 07.04.2020
comment
Сколько времени нужно, чтобы решить проблему? Должен ли я делать это для каждой версии или обновления, которое я хочу выпустить? - person Farid Rjb; 22.07.2021

Попробуйте создать новое хранилище ключей и заменить его старым, а затем заново создать новый подписанный APK.

Обновление. Обратите внимание, что если вы используете HTTP-соединение с сервером, вам следует использовать SSL.

Взгляните на: https://developer.android.com/distribute/best-practices/develop/understand-play-policies

person Amirhosein Heydari    schedule 29.06.2018
comment
Я создаю новое хранилище ключей, сначала хорошо и без ошибок, но через день показываю ту же ошибку - person Mostafa Azadi; 30.06.2018
comment
Возможно, это из-за того, что максимальный срок действия большинства купленных сертификатов примерно в последние годы. Установите срок годности более 50 лет. - person Amirhosein Heydari; 30.06.2018
comment
Я создал это приложение в этом месяце и установил срок действия подписи 25 лет. - person Mostafa Azadi; 30.06.2018
comment
@MostafaAzadi, Amirhosein, у меня здесь такая же проблема. вы что-нибудь нашли? - person Behnam Maboudi; 05.07.2018
comment
Это начало происходить и с нашим приложением, пока не известно, как решить эту проблему, кроме отключения Google Play Protect в Play Store, что на самом деле не является решением для всех наших пользователей бета-версии. - person zsmb13; 05.07.2018
comment
Да, это кажется смешным. Что еще хуже, это всплывающее окно появляется только при первой установке приложения. Даже если я приму его и установлю, при следующей установке он автоматически регистрирует «Установка заблокирована», и я получаю сообщение «Приложение не установлено» в пользовательском интерфейсе. В этот момент только полное отключение Play Protect или очистка данных Play Store из настроек снова вызывает всплывающее окно. Это происходит с ключом, который мы создали с помощью того же сценария, что и десятки других наших приложений, которые есть в Play Store и работают нормально. - person zsmb13; 05.07.2018
comment
@Amirhosein Спасибо за ответ. мое приложение еще даже не опубликовано в playstore. Так что это не могло быть нарушением политики магазина игр. У меня эта проблема только с одним из моих ключей подписи (который еще не выпущен), а zsmb13 имеет эту проблему с их выпущенным приложением. также опишите, как соединение без SSL запускает функцию защиты от игры, прежде чем запускать приложение в первый раз. - person Behnam Maboudi; 07.07.2018
comment
Это сработало для меня !!! у старого файла знака есть проблема, и я создаю новый знак, тогда проблема решена !!! Спасибо. - person Masoud Mokhtari; 17.07.2018
comment
@MasoudMokhtari У меня такая же проблема. Можете ли вы показать мне используемую вами команду подписи и срок ее действия? - person Dave Cruise; 19.07.2019
comment
@MoHammaDReZaDehGhani Это потому, что мы живем в Иране. - person ʍѳђઽ૯ท; 16.01.2021

Есть три способа избавиться от этого предупреждения:

  1. Вам необходимо отключить Play Protect в Play Store -> Play Protect -> Значок настроек -> Сканировать устройство на наличие угроз безопасности.
  2. Опубликовать приложение в Google Play Store
  3. Отправьте апелляцию в Play Protect.
person Ali    schedule 18.04.2019

Google play находит вас как разработчика через ваше хранилище ключей.

и, возможно, IP-адрес вашей страны запрещен в Google при создании нового хранилища ключей.

измените свой IP-адрес и создайте новое хранилище ключей, проблема будет устранена.

если у вас не получилось, используйте другой Gmail в Android Studio и создайте новое хранилище ключей.

person Meisam Beiranvand    schedule 11.07.2018
comment
Вы это делали? потому что у меня есть эта проблема, и мои приложения прошли аутентификацию из Ирана и не могут отправить заявку из апелляции (они не могут ее проверить), так как я могу ее решить? Спасибо чувак - person Nima habibkhoda; 07.08.2018
comment
У меня не получилось! Я использую keytool для создания хранилища ключей - person Amir Shabani; 10.09.2018
comment
это не решение, потому что новое хранилище ключей тоже заблокировано через день. лучший способ подать приложение в апелляцию на сайте защиты Google. - person Meisam Saba; 14.11.2020

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

Google предоставляет api проверки устройства безопасности, который вам нужно вызвать только один раз в вашем приложении, и после этого ваше приложение не будет заблокировано функцией Play Protect:

Вот ссылки:

https://developer.android.com/training/safetynet/attestation#verify-attestation-response

Ссылка на проект образца кода:

https://github.com/googlesamples/android-play-safetynet

person Mr. Patel    schedule 12.06.2019
comment
@ Ахмад, конечно, работает, все мои коллеги используют этот api для решения проблемы, которую мы передали клиентам до сих пор, и он работает отлично - person Mr. Patel; 08.04.2020

единственное решение сработало для меня - использовать java keytool и создать файл .keystore в командной строке, а затем использовать этот .keystore файл для подписи моего приложения

вы можете найти java keytool в этом каталоге C:\Program Files\Java\jre7\bin

откройте командное окно, переключитесь в этот каталог и введите такую ​​команду

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

Keytool предложит вам ввести пароли для хранилища ключей, ваше имя, компанию и т. Д. обратите внимание, что в последнем запросе вам нужно ввести да.

Затем он создает хранилище ключей в виде файла с именем my-release-key.keystore в каталоге, в котором вы находитесь. Хранилище ключей и ключ защищены паролями, которые вы ввели. Хранилище ключей содержит единственный ключ, действительный в течение 10000 дней. Псевдоним - это имя, которое вы будете использовать позже, чтобы ссылаться на это хранилище ключей при подписании вашего приложения.

Дополнительную информацию о Keytool см. В документации по адресу: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

а дополнительную информацию о подписании приложений Android можно найти здесь: http://developer.android.com/tools/publishing/app-signing.html.

person alireza easazade    schedule 27.01.2019
comment
если есть отрицательный голос, я хотел бы знать, почему. если я делаю что-то не так, мне хотелось бы знать - person alireza easazade; 28.01.2019
comment
К сожалению, это не решило мою проблему, я предполагаю, что есть несколько вариантов использования, ведущих к одной и той же проблеме. - person Amaury Liet; 16.06.2021

Если вы используете трекеры, такие как google analytics или amplitude, и пытаетесь выпустить свое приложение на других платформах, кроме Google Play, эта ошибка появляется для пользователей. Итак, есть два возможных решения:

  1. Используйте специальные трекеры в своем приложении (firebase и appmetrica протестированы и все в порядке)
  2. Выпустите свое приложение через Google Play
person majran    schedule 04.02.2019

решение заключается в создании нового ключа при генерации подписанного apk. это сработало для меня без суеты.

  1. нажмите на Build
  2. нажмите "Создать подписанный пакет / APK" ...
  3. выберите Bundle / APK (в моем случае APK) и нажмите Next
  4. нажмите на создать новый (убедитесь, что у вас есть путь к хранилищу ключей на машине)
  5. после всего, нажмите «Готово», чтобы сгенерировать подписанный apk

при установке предупреждение не придет.

person K.D. MBEDOBE    schedule 29.12.2018

это связано с истекшим сроком действия сертификата отладки, просто удалите debug.keystore, расположенный в

C:\Users\.android\

после этой сборки вашего проекта инструменты сборки регенерируют новый ключ, и он будет работать нормально. вот ссылка:

https://developer.android.com/studio/publish/app-signing
person Jasbin Karki    schedule 15.02.2020

Я решил эту проблему, изменив имя пакета приложения в соответствии с данными сертификата подписи. Сначала я создал приложение с com.foo.xyz, но моя организация сертификации была «bar». Поэтому я меняю имя своего пакета на com.bar.xyz, и теперь предупреждения о защите от Google Play не отображается!

person Artin Artin    schedule 12.02.2021

Это не решение, но вы можете использовать ключ отладки для подписания выпусков сборок, чтобы избежать блокировки установки из Google Play Protect. Похоже, Play Protect не предупреждает о сборках, подписанных автоматически созданным debug.keystore.

Обратите внимание, что ваши отладочные сборки не являются неподписанными, они просто подписаны ключом debug.

Конечно, вы не можете использовать сборку для производственного распространения (Google Play, Amazon и т. Д.), Но она все же стоит для предпроизводственного внутреннего тестирования, которое требует высокочастотного цикла обратной связи.

Вы можете добавить задачу для сборки выпуска с помощью debug.keystore, добавив конфигурацию в build.gradle, например:

android {
  buildTypes {
    // add after the `release` definition
    releaseDebugKey { initWith release }
  }

  signingConfigs {
    // use debug.keystore for releaseDebugKey builds
    releaseDebugKey { initWith debug }
  }
}

затем выполните ./gradlew assembleReleaseDebugKey, чтобы построить сборку выпуска с ключом отладки.

person tnj    schedule 11.04.2019