GoogleマップAndroid APIを使用していますが、いくつかの問題に直面しています。
Android studio(.Android/keystore.jksで作成)でapkに署名しています。また、タイプとして「リリース」を選択しています。コマンドを使用しました
keytool -list -v -keystore C:\Users\Toshiba\.Android\keystore.jks
キーストアからSHA1フィンガープリントを取得します。
SHA1は正しいが、マップは署名済みAPKに表示されません。デバッグAPKに表示されます。
リリースキーストア(keystore.jks)でkeytoolを使用すると、次のようになります。
SHA1: 33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX
デバッグ1は正常に動作します(GoogleのAPIコンソールに2を追加しました)
33:46:07:82:5B:D4:45:D2:60:CE:5A:29:97:9F:6C:44:XX:XX:XX:XX;yac.breakingpoint
7C:28:61:5B:C3:4A:5C:50:44:AA:FD:58:69:E9:70:91:XX:XX:XX:XX;yac.breakingpoint
XXは黒く塗りつぶされています。
Keytoolは、デバッグとストアキーストアの両方の署名アルゴリズムとしてSHA256withRSAを使用していると言います。
私は何を間違えていますか?
[〜#〜] update [〜#〜]だから、新しいAPIキーを試してみて、プロジェクトをクリーンアップして再構築しました。新しいキーストア-リリースにはまだ取り組んでいません...デバッグは大丈夫です!
PDATE 2それでも有効なソリューションが見つかりません...助けてください!
更新わかりました、ビルドタイプデバッグで署名されたAPKを使用して動作しました。 CERT.RSAを抽出し、keytool -printcert -file ./CERT.SA
を実行しました。リリースビルドタイプと同じ結果になりました。リリースでは機能していません!
PDATE 4ここに私が行った別の試みがあります:
/build
foldersは.gitignore
ファイル内にあるため、コミットされていません。それは動かなかった。
更新5私の友人がこの問題を再現しようとしました。彼はAndroidスタジオで作業するときにまったく同じ問題を抱えています。おそらくAndroidスタジオのバグですか?
2つのgoogle_maps_api.xmlファイルがあります
このフォルダー内の1つ:
app/src/デバッグ/res/values
このフォルダー内のその他:
app/src/リリース/res/values
ただし、おそらくデバッグキーのみにAPIキーが含まれています。
1)通常、プロジェクトが正常に機能するように、プロジェクトをクリーンおよびリビルドする必要があります。
2)ビルドバリアントがリリースされていることを確認します(Android Studioはこの点で使いやすいです)
3)また、デバイスでデバッグしている場合は、最初に完全にアンインストールしてから続行します。
4) documentation にあるように、マニフェストが正しく設定されていることを確認してください。
それが役に立てば幸い。
現在デバッグ目的で使用しているSHA1。
そのため、署名済みapkを作成する場合、kestoreファイルが1つあります。この新しいkeaystoreファイルで新しいSHA1キーを生成してください。
次に、このキーストアファイルを使用して、Googleコンソールから署名済みapkのAPIキーを作成します。
マニフェストファイルに既に保存されているデバッグAPIキーを新しいものに置き換えます。
それが動作します
ありがとう
Android Studio with Google map Activity。でプロジェクトを作成します。プロジェクトがマニフェストにSHA1を自動的に作成した後。このSHA1を使用してMAP APIキーを取得します。アプリが動作することをテストします。どのプロジェクトにアプリを使用します。