При попытке установить подписанное приложение (app-release.apk) отображается предупреждение «Заблокировано Play Protect» и приложение не устанавливается. Однако неподписанное приложение (app-debug.apk) можно установить без проблем.
Сообщение об ошибке:
Play Protect doesn't recognise this app's developer. Apps from unknown developers can sometimes be unsafe.
Почему произошла эта ошибка? Какое решение?

Смотрите решение здесь: stackoverflow.com/a/54976730/984471
та же проблема для меня, но обнаружил другое хранилище ключей, которое даже не опубликовало приложение для игры в Google, правильно подписать приложение, и это диалоговое окно не появляется! даже если вы создаете новое приложение, проблема возникает сразу после установки. У меня несколько приложений, и другое хранилище ключей корректно работает с моим новым приложением! Я не знаю, как гуглу решать, разработчик приложений неизвестен! У меня никогда не было учетной записи на консоли Google Play.
вы нашли основную причину проблемы?
Попробуйте создать новое хранилище ключей и заменить его старым, а затем заново создать новый подписанный APK.
Обновлять: Обратите внимание, что если вы используете HTTP-соединение с сервером, вам следует использовать SSL.
Взгляните на: https://developer.android.com/distribute/best-practices/develop/understand-play-policies
Я создаю новое хранилище ключей, сначала хорошо и без ошибок, но через день показываю ту же ошибку
Возможно, это из-за того, что максимальный срок действия большинства купленных сертификатов примерно в последние годы. Установите срок годности более 50 лет.
Я создал это приложение в этом месяце и установил срок действия подписи 25 лет.
@MostafaAzadi, Amirhosein, у меня здесь такая же проблема. вы что-нибудь нашли?
Это начало происходить и с нашим приложением, пока не известно, как решить эту проблему, кроме отключения Google Play Protect в Play Store, что на самом деле не является решением для всех наших пользователей бета-версии.
Да, это кажется смешным. Что еще хуже, это всплывающее окно появляется только при первой установке приложения. Даже если я приму его и установлю, при следующей установке он регистрирует «Установка заблокирована автоматически», и я получаю сообщение «Приложение не установлено» в пользовательском интерфейсе. В этот момент только полное отключение Play Protect или очистка данных Play Store из настроек снова вызывает всплывающее окно. Это происходит с ключом, который мы создали с помощью того же сценария, что и десятки других наших приложений, которые есть в Play Store и работают нормально.
@Amirhosein Спасибо за ответ. мое приложение еще даже не опубликовано в playstore. Так что это не могло быть нарушением политики магазина игр. У меня эта проблема только с одним из моих ключей подписи (который еще не выпущен), а zsmb13 имеет эту проблему с их выпущенным приложением. также опишите, как соединение без SSL запускает защиту от игры, прежде чем запускать приложение в первый раз.
Это сработало для меня !!! у старого файла знака есть проблема, и я создаю новый знак, тогда проблема решена !!! Спасибо.
@MasoudMokhtari У меня такая же проблема. Можете ли вы показать мне используемую вами команду подписи и срок ее действия?
@MoHammaDReZaDehGhani Это потому, что мы живем в Иране.
Я нашел решение: Перейдите по ссылке ниже и отправьте заявку.
Форма подачи апелляции Play Protect
Через несколько дней проблема будет устранена
@MostafaAzadi В чем была точная причина?
причина в том, что вы не используете SSL и включили в манифесте передачу открытого текста.
Если у вас есть проблема с URL-адресом для загрузки файла APK, это полезно: stackoverflow.com/a/56513945/9710197
@DaniloDeQueiroz Вы абсолютно уверены, что проблема в передаче открытого текста? Итак, удаление android:usesCleartextTraffic = "true" должно решить проблему, верно? Спасибо.
@AnthoPak при удалении android: usesCleartextTraffic = "true" приложение вылетало в android 9
@MostafaAzadi Если я не заменю все HTTP-вызовы на HTTPS, верно?
Привет. Я не могу подать апелляцию на приложение Play Protect. Как закачать apk? Я получаю электронное письмо о том, что apk не может быть загружен, хотя я предоставляю прямые ссылки для скачивания через GitHub.
почему мы предоставляем apk, который мы не хотим им давать? У меня уже есть приложения в игровом магазине с той же учетной записью, которую я подписал в студии Android, но этот я не хочу, а также не хочу предоставлять им apk. Любое другое решение?
Google play находит вас как разработчика через ваше хранилище ключей.
и, возможно, IP-адрес вашей страны запрещен в Google при создании нового хранилища ключей.
измените свой IP-адрес и создайте новое хранилище ключей, проблема будет устранена.
если у вас не получилось, используйте другой Gmail в Android Studio и создайте новое хранилище ключей.
Вы сделали это? потому что у меня есть эта проблема, и мои приложения прошли аутентификацию из Ирана и не могут отправить заявку из апелляции (они не могут ее проверить), так как я могу ее решить? Спасибо чувак
У меня не получилось! Я использую keytool для создания хранилища ключей
это не решение, потому что новое хранилище ключей тоже заблокировано через день. лучший способ подать приложение в апелляцию на сайте защиты Google.
решение заключается в создании нового ключа при генерации подписанного apk. это сработало для меня без суеты.
при установке предупреждения не придет.
единственное решение сработало для меня - использовать 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
если есть отрицательный голос, я хотел бы знать, почему. если я делаю что-то не так, мне хотелось бы знать
К сожалению, это не решило мою проблему, я предполагаю, что есть несколько вариантов использования, ведущих к одной и той же проблеме.
Если вы используете трекеры, такие как google analytics или amplitude, и пытаетесь выпустить свое приложение на других платформах, отличных от Google Play, эта ошибка появляется для пользователей. Итак, есть два возможных решения:
Google PlayНе решение, но вы можете использовать ключ отладки для подписи сборок релиз, чтобы избежать блокировки установки из Google Play Protect. Похоже, Play Protect не предупреждает о сборках, подписанных автоматически сгенерированным debug.keystore.
Обратите внимание, что ваши отладочные сборки не являются беззнаковый, они просто подписаны ключом отлаживать.
Конечно, вы не можете использовать сборку для производственного распространения (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, чтобы создать сборку выпуска с ключом отладки.
Есть три способа избавиться от этого предупреждения:
Я добавляю этот ответ для тех, кто все еще ищет решение этой проблемы, если вы не хотите загружать свое приложение в игровой магазин, тогда временно есть обходной путь для этой проблемы.
Google предоставляет api проверки устройства безопасности, который вам нужно вызвать только один раз в вашем приложении, и после этого ваше приложение не будет заблокировано функцией Play Protect:
Вот ссылки:
https://developer.android.com/training/safetynet/attestation#verify-attestation-response
Ссылка на проект образца кода:
https://github.com/googlesamples/android-play-safetynet
@ Ахмад, конечно, работает, все мои коллеги используют этот api для решения проблемы, которую мы передали клиентам до сих пор, и он работает отлично
это связано с истекшим сроком действия сертификата отладки
просто удалите debug.keystore, расположенный по адресу
C:\Users\.android\
после этого сборки вашего проекта инструменты сборки регенерируют новый ключ, и он будет работать нормально. вот ссылка:
https://developer.android.com/studio/publish/app-signing
Я решил эту проблему, изменив имя пакета приложения в соответствии с данными сертификата подписи. Сначала я создал приложение с com.foo.xyz но моя сертификационная организация была «бар». Поэтому я меняю имя своего пакета на com.bar.xyz, и теперь предупреждения о защите от Google Play не отображается!
Я также столкнулся с такой же проблемой с моим приложением. Хотя моя учетная запись Google была заблокирована, когда я попытался опубликовать свое приложение. Насколько я понимаю, контрольный список Google update play protect с приостановленным именем пакета, а затем, если вы попытаетесь установить то же имя пакета, play protect начнет выдавать поддельное предупреждение. Я создал новое приложение с приостановленным именем пакета и только с основным действием, без добавления другого кода. Подписал с приостановленным хранилищем ключей apk и попытался установить. Как ни странно, защита игры показала опасное предупреждение, как показано в вашем вопросе. Я также попытался создать новый пакет со всеми классами приостановленных приложений, но без предупреждения по игре.