署名付きアプリケーション(app-release.apk)をインストールしようとすると、「Blocked by Play Protect」という警告が表示され、アプリはインストールされません。ただし、未署名のアプリケーション(app-debug.apk)を問題なくインストールできます。
エラーメッセージ:
Play Protectはこのアプリの開発者を認識しません。未知の開発者からのアプリは時々安全ではないかもしれません。
なぜこのエラーが起きたのでしょうか。解決策は何ですか?
私はもっと良い解決策を見つけました。この問題を克服したい場合は、Playストアを開いてください。メニューの検索 - Play Protect そして セキュリティの脅威からデバイスをスキャンします 。
新しいキーストアを作成して古いものに置き換えてから、新しい署名付きAPKを再構築します。
更新: サーバとのHTTP接続を使用している場合は、SSLを使用してください。
を見てみましょう: https://developer.Android.com/distribute/best-practices/develop/understand-play-policies
グーグルプレイは あなたのキーストア を通してあなたを開発者として見つけます。
新しいキーストアを生成すると、あなたの国のIPアドレスがGoogleで禁止される可能性があります。
iPアドレスを変更して新しいキーストアを生成すると、問題は解決します。
成功しなかった場合は、Android Studioで別のGmailを使用して新しいキーストアを生成してください。
この警告を取り除くには3つの方法があります。
google analytics
やamplitude
などのトラッカーを使用していて、Google Play
以外の他のプラットフォームでアプリをリリースしようとしている場合、このエラーがユーザーに表示されます。 2つの解決策があります。
Google Play
でアプリをリリースするプレイストアにアプリをアップロードしたくない場合、この問題の解決策を探している他の人にこの回答を追加しています。一時的にこの問題の回避策があります。
Googleは、安全デバイス検証APIを提供しています。これは、アプリケーションで1回だけ呼び出す必要があり、その後、アプリケーションはplay protectによってブロックされません。
リンクは次のとおりです。
https://developer.Android.com/training/safetynet/attestation#verify-attestation-response
サンプルコードプロジェクトのリンク:
私のために働いた唯一の解決策は、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は、キーストア、名前、会社などのパスワードの入力を求めます。最後のプロンプトでyesと入力する必要があることに注意してください。
次に、現在のディレクトリに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
解決策は、署名付きapkを生成するときに新しいキーを作成することです。これは大騒ぎなしで私のために働きました。
インストールしても、警告は表示されません。