Beim Versuch, eine signierte Anwendung (app-release.apk) zu installieren, wird die Warnung "Blockiert durch Play Protect" angezeigt und die App wird nicht installiert. Eine nicht signierte Anwendung (app-debug.apk) kann jedoch problemlos installiert werden.
Die Fehlermeldung:
Play Protect erkennt den Entwickler dieser App nicht. Apps von unbekannten Entwicklern können manchmal unsicher sein.
Warum ist dieser Fehler passiert? Was ist die Lösung?
android
signature
google-play-protect
Mostafa Azadi
quelle
quelle
Antworten:
Ich habe die Lösung gefunden: Gehen Sie auf den unten stehenden Link und reichen Sie Ihre Bewerbung ein.
Play Protect Appeals Submission Form
Nach einigen Tagen ist das Problem behoben
quelle
android:usesCleartextTraffic="true"
sollte also das Problem lösen, oder? Vielen Dank.Ich habe die bessere Lösung gefunden. Wenn Sie möchten , um dieses Problem erobern Sie Ihr Spiel zu speichern, in Menü öffnen sollten finden Protect Spiele und und deaktivieren Scan - Gerät für Sicherheitsbedrohungen .
quelle
Versuchen Sie, einen neuen Schlüsselspeicher zu erstellen und durch einen alten zu ersetzen, und erstellen Sie dann eine neue signierte APK neu.
Update: Beachten Sie, dass Sie SSL verwenden sollten, wenn Sie eine http-Verbindung mit dem Server verwenden.
Schauen Sie sich Folgendes an: https://developer.android.com/distribute/best-practices/develop/understand-play-policies
quelle
Google Play findet Sie als Entwickler über Ihren Keystore .
und möglicherweise ist Ihre Länder-IP bei Google gesperrt, wenn Sie Ihren neuen Keystore generieren.
Ändern Sie Ihre IP-Adresse und generieren Sie einen neuen Keystore. Das Problem wird behoben.
Wenn Sie keinen Erfolg hatten, verwenden Sie ein anderes Google Mail-Konto in Android Studio und generieren Sie einen neuen Keystore.
quelle
Es gibt drei Möglichkeiten, um diese Warnung zu entfernen:
quelle
Ich füge diese Antwort für andere hinzu, die noch nach einer Lösung für dieses Problem suchen. Wenn Sie Ihre App nicht im Playstore hochladen möchten, gibt es vorübergehend eine Problemumgehung für dieses Problem.
Google stellt eine API zur Überprüfung von Sicherheitsgeräten zur Verfügung, die Sie in Ihrer Anwendung nur einmal aufrufen müssen. Danach wird Ihre Anwendung nicht mehr durch Play Protect blockiert:
Hier sind die Links:
https://developer.android.com/training/safetynet/attestation#verify-attestation-response
Link für Beispielcode-Projekt:
https://github.com/googlesamples/android-play-safetynet
quelle
Die einzige Lösung, die für mich funktioniert hat, war die Verwendung von Java Keytool und das Generieren eines.
keystore
Datei die Befehlszeile und verwenden Sie diese.keystore
Datei, um meine App zu signierenSie finden das Java-Keytool in diesem Verzeichnis
C:\Program Files\Java\jre7\bin
Öffnen Sie ein Befehlsfenster, wechseln Sie in dieses Verzeichnis und geben Sie einen solchen Befehl ein
Keytool fordert Sie auf, Kennwörter für den Keystore, Ihren Namen, Ihre Firma usw. Anzugeben. Beachten Sie, dass Sie bei der letzten Eingabeaufforderung yes eingeben müssen.
Anschließend wird der Schlüsselspeicher als Datei mit dem Namen my-release-key.keystore in dem Verzeichnis generiert, in dem Sie sich befinden. Der Schlüsselspeicher und der Schlüssel sind durch die von Ihnen eingegebenen Kennwörter geschützt. Der Schlüsselspeicher enthält einen einzelnen Schlüssel, der 10000 Tage gültig ist. Der Alias ist ein Name, den Sie später verwenden, um beim Signieren Ihrer Anwendung auf diesen Schlüsselspeicher zu verweisen.
Weitere Informationen zu Keytool finden Sie in der Dokumentation unter: http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html
Weitere Informationen zum Signieren von Android-Apps finden Sie hier: http://developer.android.com/tools/publishing/app-signing.html
quelle
Wenn Sie einige Tracker wie
google analytics
oder verwendenamplitude
und versuchen, Ihre App auf einer anderen Plattform als freizugebenGoogle Play
, wird dieser Fehler für Benutzer angezeigt. Es gibt also zwei mögliche Lösungen:Google Play
quelle
Die Lösung besteht darin, beim Generieren der signierten apk einen neuen Schlüssel zu erstellen. Das hat bei mir ohne viel Aufhebens funktioniert.
Bei der Installation wird die Warnung nicht angezeigt.
quelle
Es ist aufgrund des abgelaufenen Debug-Zertifikats einfach das gefundene
debug.keystore
bei zu löschenNach dem Erstellen Ihres Projekts generieren die Build-Tools einen neuen Schlüssel neu und es funktioniert einwandfrei. Hier ist eine Referenz:
quelle
Nicht die Lösung, aber Sie können den Debug-Schlüssel zum Signieren von Release- Builds verwenden, um zu vermeiden, dass die Installation von Google Play Protect blockiert wird. Es sieht so aus, als würde Play Protect nicht vor Builds warnen, die mit automatisch generierten Signaturen signiert wurden
debug.keystore
.Beachten Sie, dass Ihre Debug-Builds dies nicht tun ohne Vorzeichen sind , sondern nur mit einem Debug- Schlüssel signiert sind .
Natürlich können Sie den Build nicht für die Produktionsverteilung verwenden (Google Play, Amazon usw.), aber es lohnt sich immer noch für interne Tests vor der Produktion, für die eine hochfrequente Rückkopplungsschleife erforderlich ist.
Sie können eine Aufgabe zum Erstellen einer Version mit debug.keystore hinzufügen, indem Sie die Konfiguration in hinzufügen
build.gradle
, z.Führen Sie dann aus,
./gradlew assembleReleaseDebugKey
um einen Release-Build mit Debug-Schlüssel zu erstellen.quelle