LoginSignup
6
6

More than 5 years have passed since last update.

公開用apkでマップを表示する方法

Posted at

公開用のapkでマップを表示する方法を記載します。

7.0用署名付きapk作成のためにV2(Full APK Signature)が登場したことで今までと若干変わったようです。
自分はそのために2週間ほどドハマリしておりました。。。
image.png

1.アプリケーションの署名ファイルを作成する

署名付きビルドを実行して、自アプリケーションのKeyStoreファイル(.jks)を作成します。このときSignature Versionsにて「V2(Full APK Signature)」を選択すると後々登場するフィンガープリントに設定するSHA1の値が違ってくるようです!
今回の投稿では「V2(Full APK Signature)」を選択したバージョンで説明をしております。

2.apkをGoogole Playにアップする

署名付きビルドを実施後、作成されたapkをGoogle Playへアップします。
アップした時に「アプリの署名」を確認する。
image.png

アプリの署名を確認する。
image.png

ここで、後々に登場するAPIの設定時に登場するSHA1フィンガープリントですが、keytoolで取得した値ではなくて、Google Playの画面で確認できる「アプリへの証明書」から取得する値を使用すること!

ここでドハマリしました、巷ではAPI取得時のフィンガープリントはKeytoolで取得したものを設定することとなっていましたが、自分の所ではまったくもって駄目でした。公開apkをインストールした時のエラーログをみると求められるフィンガープリントの値が違うらしいことに気づけました。。

3.APIの取得

Google APIs でGoogle Map用のAPIを取得する。
Android Studio のgoogle_maps_api.xmlのリリース用ファイルに記載されているURLからAPI取得のページにいけます。
image.png

google_maps_api.xmlはデバック用、リリース用で別れているので注意すること。
Android Studioの標準設定ではgoogle_maps_api.xml(debug)しか表示されておりません。ちなみに、上記URLはリリース用のファイルにて取得できます。

4.APIキーの認証

image.png

image.png

キーの制限でAndroidを設定。

次にパッケージ名とSHA1証明書のフィンガープリントを設定します。
パッケージ名はAndroid StudioのManifestに記載されているpackage=com.java.xxx.xxxx.xxx.みたいな所ですので、それをコピって下さい。

そして、フィンガープリントですが、これは上記2で記載した値を設定して下さい。Google Playで確認したアプリ署名です。

4.APIの有効化

image.png

自分が使いたいAPIの種類を選択します。
image.png
今回はGoogle Maps Android APIを選択です。

これで、公開apkでも問題なくGoogle APIが使えるようになっているはずです。
皆さんのご健闘を祈ります!

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6