Google Cloud Console でキーを作成

もうね、キーを作成しようと思う度に何かしら前回と変更があるんだよね。
オリジナルの英語が変わっているのか、日本語訳がわかり易く変更されているのかはわからないけど、なんとも毎回ちょびっと悩むのが嫌…。


まずは Google Cloud Console にアクセス。


新しい Project を作成して「API と認証」の「API」で「Google Maps Android API 2.0」を「有効」にする。


次に「認証情報」で「新しいキーを作成」をクリック。

作成するのは「Android キー」。


で、ターミナルで SHA1 を作成。

paraches-no-iMac:arc paraches$ _JAVA_OPTIONS='-Dfile.encoding=UTF-8' keytool -list -v -keystore ~/.android/debug.keystore 
Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
キーストアのパスワードを入力してください:  

*****************  警告 警告 警告  *****************
*  キーストアに保存された情報の完全性は検証されて  *
*  いません!  完全性を検証するには、キーストアの   *
*  パスワードを入力する必要があります。            *
*****************  警告 警告 警告  *****************

キーストアのタイプ: JKS
キーストアのプロバイダ: SUN

キーストアには 1 エントリが含まれます。

別名: androiddebugkey
作成日: 2014/01/29
エントリタイプ: PrivateKeyEntry
証明連鎖の長さ: 1
証明書[1]:
所有者: CN=Android Debug, O=Android, C=US
発行者: CN=Android Debug, O=Android, C=US
シリアル番号: 52e7dafa
有効期間の開始日: Wed Jan 29 01:29:46 JST 2014 終了日: Fri Jan 22 01:29:46 JST 2044
証明書のフィンガープリント:
	 MD5:  -----------------------------------------------
	 SHA1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	 署名アルゴリズム名: SHA1withRSA
	 バージョン: 3


*******************************************
*******************************************


paraches-no-iMac:arc paraches$ 

Google Cloud Console で入力する値は、アプリケーションのパッケージ名が com.paraches.android.myApplication なら

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;com.paraches.android.myApplication

になる。
これを「キーを作成する」で表示されたダイアログに入力して「作成」をクリック。

これで「API キー」作成終了!


最後に AndroidManifest.xml にパーミションや API キーを記入すれば準備完了。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.paraches.android.myApplication" >

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

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

        <meta-data
            android:name="com.google.android.maps.v2.API_KEY"
            android:value="---------------------------------------"/>

        <activity
            android:name="com.paraches.android.myApplication.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

後はコードをガリガリ書けば OK!