【androidjava】googlemapで使用するapi-keyが正常に読み込まれない時の対処法

2018年度からgooglemapをアプリで使う際はgoogleCnosoleDeveloperでgoogleMapApi

ライブラリを有効にしないとgooglemapが正常に起動できなくなりました。

自分が今作っているアプリも例外でなく、表示する際に灰色のスクリーン

がでてきてしまいます。登録だけならいけるだろと思っていたのですが

これがまためんどくさい仕様でかなり沼ったので書き置きしていきます。

ちなみにここでは、googleアカウントを作成してある前提で

説明していきますのでご容赦ください。

 

まず、googlemapを正しく使うには、登録の際にはパッケージ名とフィンガプリント

(証明書)の二点が必要になります。パッケージ名はactivityの一番上にあるので

分かりやすいですね。一方でフィンガプリントはどうやって見るかというと、

まずcmdに移動して

keytool -list -keystore “%USERPROFILE%\.android\debug.keystore”

と打ち込みます。入力後キーストアのパスワードを入力してください

と出ますがここは何も入力せずにEnterを押してください。

ずららっと色々な署名系の暗号が出てきます。

その中でsha1:から始まるローマ字と数字が合わさった

文字列がこれからgoogleCnosoleDeveloperで使うフィンガープリントに

なるので間違えないようコピーをしておいてください。

 

 

これでフィンガプリントの確保はできたので、実際にgoogleCnosoleDeveloperでgooglemap

を使えるようにしていきたいと思います。

 

まず、ログイン後ダッシュボードに移動したら画面上にあるAPIの有効化をクリックします。

 

 

移動後にMapsSDKForAndroidをクリックします。その後管理ボタンをクリック。

この時点でAPIKeyを取得できます。

 

その後apiとサービスの認証情報で新しい認証情報を作成し、外部からの悪用を

避けるためのapiキーの制限を設定します。

設定ページに移動したら、パッケージとフィンガプリントを入れるフォームがあるので

そちらに自分のパッケージとフィンガプリントを入れていきます。完了後に保存します。

 

 

 

適用されるまで少し時間がかかりますが(最長で5分)これが終わればgoogleApiが有効に

なっているので少しづつマニフェストに書いていきます。

 

上記の設定を全て終わらせたら、androidManifestに必要事項を書いていきます。

まず、applicationタグ内にmeta-dataタグを設定していきます。

(自分はここでハマりました。なのでこちらは後で説明します。)

</pre>
<pre><meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="AIzaSyBc5xjIzF1vpeS2Kt1_vAXFRQGdeebZNLQ"/></pre>
<pre>

 

上記のmeta-dataには、先ほど取得したapiキーを入れていきます。

その後下記のようにgoogle-play-serviceのパーミッションを設けます。

 

</pre>
<pre><meta-data
    android:name="com.google.android.gms.version"
    android:value="@integer/google_play_services_version" />
<meta-data</pre>
<pre>

最後に、googolemapのパーミッションを書いて終了です。

こちらの作業後にビルドしてマップが出れば成功です。が、自分の場合はマップが

グレースクリーンで返されました。一通りパーミッション等を見ても設定漏れも

パッと見ない・・・。よくわからず。

 

仕方がないのでandroidStudioで吐かれたエラーを見てみることに。

すると、googleCnosoleDeveloperに登録したパッケージ名とログで吐かれたパッケージ名

が異なることに気づきました。

 

activityの一番上にあるpackage com.なんとかかんとか;って書いてあるのが

パッケージじゃないんかい!!と突っ込みつつandroidStudioログ側のパッケージ

をgoogleCnosoleDeveloper内の新しいアイテムにて登録。

これで、晴れてマップを表示させることができました。

以上でgooglemapの使用法とエラー対処法は終わりです。

似たような悩みがある方はまずandroidStudioで吐き出されるパッケージ名と

フィンガプリントを確認してみてください。以上です。

 

androidStudioで吐かれたログがこちら↓

</pre>
<a href="https://cpoint-lab.co.jp/wp-content/uploads/2019/09/googlemaperror.jpg"><img class="alignnone size-medium wp-image-11563" src="https://cpoint-lab.co.jp/wp-content/uploads/2019/09/googlemaperror-300x33.jpg" alt="" width="300" height="33" /></a>
<pre>
>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG