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

При попытке установить подписанное приложение (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.

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

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

Я также столкнулся с такой же проблемой с моим приложением. Хотя моя учетная запись Google была заблокирована, когда я попытался опубликовать свое приложение. Насколько я понимаю, контрольный список Google update play protect с приостановленным именем пакета, а затем, если вы попытаетесь установить то же имя пакета, play protect начнет выдавать поддельное предупреждение. Я создал новое приложение с приостановленным именем пакета и только с основным действием, без добавления другого кода. Подписал с приостановленным хранилищем ключей apk и попытался установить. Как ни странно, защита игры показала опасное предупреждение, как показано в вашем вопросе. Я также попытался создать новый пакет со всеми классами приостановленных приложений, но без предупреждения по игре.

Panache 06.12.2018 04:00

Смотрите решение здесь: stackoverflow.com/a/54976730/984471

Manohar Reddy Poreddy 04.03.2019 11:16

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

hamed hosiny 24.05.2020 16:01

вы нашли основную причину проблемы?

Mighty 17.06.2021 09:57
135
4
149 015
11
Перейти к ответу Данный вопрос помечен как решенный

Ответы 11

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

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

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

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

Mostafa Azadi 30.06.2018 06:11

Возможно, это из-за того, что максимальный срок действия большинства купленных сертификатов примерно в последние годы. Установите срок годности более 50 лет.

Amirhosein Heydari 30.06.2018 06:44

Я создал это приложение в этом месяце и установил срок действия подписи 25 лет.

Mostafa Azadi 30.06.2018 09:30

@MostafaAzadi, Amirhosein, у меня здесь такая же проблема. вы что-нибудь нашли?

Behnam Maboudi 05.07.2018 10:57

Это начало происходить и с нашим приложением, пока не известно, как решить эту проблему, кроме отключения Google Play Protect в Play Store, что на самом деле не является решением для всех наших пользователей бета-версии.

zsmb13 05.07.2018 16:52

Да, это кажется смешным. Что еще хуже, это всплывающее окно появляется только при первой установке приложения. Даже если я приму его и установлю, при следующей установке он регистрирует «Установка заблокирована автоматически», и я получаю сообщение «Приложение не установлено» в пользовательском интерфейсе. В этот момент только полное отключение Play Protect или очистка данных Play Store из настроек снова вызывает всплывающее окно. Это происходит с ключом, который мы создали с помощью того же сценария, что и десятки других наших приложений, которые есть в Play Store и работают нормально.

zsmb13 05.07.2018 17:36

@Amirhosein Спасибо за ответ. мое приложение еще даже не опубликовано в playstore. Так что это не могло быть нарушением политики магазина игр. У меня эта проблема только с одним из моих ключей подписи (который еще не выпущен), а zsmb13 имеет эту проблему с их выпущенным приложением. также опишите, как соединение без SSL запускает защиту от игры, прежде чем запускать приложение в первый раз.

Behnam Maboudi 07.07.2018 08:11

Это сработало для меня !!! у старого файла знака есть проблема, и я создаю новый знак, тогда проблема решена !!! Спасибо.

Masoud Mokhtari 17.07.2018 07:45

@MasoudMokhtari У меня такая же проблема. Можете ли вы показать мне используемую вами команду подписи и срок ее действия?

Dave Cruise 19.07.2019 03:33

@MoHammaDReZaDehGhani Это потому, что мы живем в Иране.

ʍѳђઽ૯ท 16.01.2021 09:33
Ответ принят как подходящий

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

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

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

@MostafaAzadi В чем была точная причина?

Behnam Maboudi 01.08.2018 21:18

причина в том, что вы не используете SSL и включили в манифесте передачу открытого текста.

DaniloDeQueiroz 23.10.2018 18:37

Если у вас есть проблема с URL-адресом для загрузки файла APK, это полезно: stackoverflow.com/a/56513945/9710197

Mostafa Azadi 09.06.2019 12:54

@DaniloDeQueiroz Вы абсолютно уверены, что проблема в передаче открытого текста? Итак, удаление android:usesCleartextTraffic = "true" должно решить проблему, верно? Спасибо.

AnthoPak 04.11.2019 10:08

@AnthoPak при удалении android: usesCleartextTraffic = "true" приложение вылетало в android 9

Mostafa Azadi 04.11.2019 11:17

@MostafaAzadi Если я не заменю все HTTP-вызовы на HTTPS, верно?

AnthoPak 04.11.2019 11:30

Привет. Я не могу подать апелляцию на приложение Play Protect. Как закачать apk? Я получаю электронное письмо о том, что apk не может быть загружен, хотя я предоставляю прямые ссылки для скачивания через GitHub.

SayantanRC 17.11.2019 17:50

почему мы предоставляем apk, который мы не хотим им давать? У меня уже есть приложения в игровом магазине с той же учетной записью, которую я подписал в студии Android, но этот я не хочу, а также не хочу предоставлять им apk. Любое другое решение?

Ahmad 07.04.2020 21:36

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

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

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

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

Вы сделали это? потому что у меня есть эта проблема, и мои приложения прошли аутентификацию из Ирана и не могут отправить заявку из апелляции (они не могут ее проверить), так как я могу ее решить? Спасибо чувак

Nima habibkhoda 07.08.2018 11:09

У меня не получилось! Я использую keytool для создания хранилища ключей

Amir Shabani 10.09.2018 08:52

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

Meisam Saba 14.11.2020 07:14

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

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

если есть отрицательный голос, я хотел бы знать, почему. если я делаю что-то не так, мне хотелось бы знать

alireza easazade 28.01.2019 11:13

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

Amaury Liet 16.06.2021 18:16

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

  1. Используйте специальные трекеры в своем приложении (firebase и appmetrica протестированы и все в порядке)
  2. Выпустите свое приложение в 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, чтобы создать сборку выпуска с ключом отладки.

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

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

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

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

Вот ссылки:

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

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

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

@ Ахмад, конечно, работает, все мои коллеги используют этот api для решения проблемы, которую мы передали клиентам до сих пор, и он работает отлично

Mr. Patel 08.04.2020 07:16

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

C:\Users\.android\

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

https://developer.android.com/studio/publish/app-signing

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

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