これはよくある質問であり、通常、解決策はリリース用に別のキーを生成することです。開発者コンソールのAPIキーには、AndroidStudioからのデバッグ用と自分のキーストアからのリリース用の2つの異なるSHA1フィンガープリントが含まれています。同じキーストアでアプリに署名し、コンソールでGoogle Maps Android API v2を有効にしました。それでも、マップアクティビティは左下隅に「Google」と白い画面のみを表示します。
問題を解決する方法はありますか?
デバッグgoogle_maps_api.xmlにAPIキーのみを入力しているようです。また、デバッグとリリースに同じAPIキーを使用しているように聞こえますが、リリースフォルダーとデバッグフォルダーにあるgoogle_maps_api.xmlに入力する必要があります。
プロジェクトがAndroidビューにある場合、デバッグファイルのみが表示されます(ただし、そのビューでは、括弧内に(debug)
が必要ですが)].
リリースバージョンを変更するには、プロジェクトエクスプローラーの左上にあるドロップダウンを使用してプロジェクトビューに切り替えます。次に、app/src/
を展開すると、サブフォルダーdebug
およびrelease
が表示されます。その下のdebug/res/values
とrelease/res/values
の下に2つの個別のgoogle_maps_api.xmlファイルが表示されます。
APIキーがrelease/res/values
フォルダーの下のgoogle_maps_api.xmlファイルに入力されていることを確認します。これは、署名されたリリースapkに使用されるためです。
Google Playアプリの署名を選択した場合、アプリのSHA-1
はリリース時に異なるものになります。
Googleはアップロードされた証明書を削除してから、新しい証明書でアプリに署名するため、
したがって、新しいSHA-1
キーを知っている必要があります。
(リリースのログをたどって新しいSHA-1
を追跡する必要はありません)
2つのSHA-1
キーを比較できます。
私はこれらを修正するために多くのことをしましたが、これらの問題を修正するために私の解決策はありません
キーストアツールはbinフォルダー内にあるため、CドライブからJavaのbinフォルダーのパスを使用する必要があります。ファイルはC:\ Program Files\Java\jdk1.8.0_11 \のようになりますbinを使用して、Android studioターミナルへのパスをたどり、パスをC:\ Program Files\Java\jdk1.8.0_11\binに変更してから、次のコマンドを入力する必要があります。
keytool -list -v -keystore "/Users/NT/Desktop/generalkey.jks"(adress of your keystore file)
これらを実行することで、shaキーがそのキーをコピーします
sha1のバージョンを使用しています。 apkに署名した後、コマンドプロンプトを使用してSHA1を再度生成する必要があります。
SHA1を再生成する手順は、cmdに移動して、次のようなコマンドを指定することです。
C:\Program Files\Java\jre1.8.0_91\bin>keytool -list -v -keystore
「C:\ Your key store path\keystores\Android.jks」
1)あなたのJavaプログラムファイルで開くJava jre1.8.0のようなバージョン
2)binフォルダーを開き、cmdでこのコマンドを実行した後に署名付きapkを生成したときに生成したキーストアパスに従って上記のようなコマンドを実行すると、署名済みアプリのパスワードを入力する必要があり、SHA1が消去されます。
3)sha1をコピーし、apiキーにパッケージ名を付けてconsole.developerに貼り付けます。