0

Google APIを使ったアプリをAndroidマーケットで公開

Androidマーケットでのアプリの公開で書いた方法だけでは、Google Mapsを使っているアプリで地図が表示されなかった。

よく考えたら、MapViewのAPI Keyの指定はアプリのビルド時に使うkeystoreから作ったMD5 finger printから生成されていた。


MD5 fingerprintをAndroidマーケットでのアプリの公開で作ったリリース用の鍵から生成する。

keytool -list -keystore shokai-key


Sign Up for the Android Maps API – Android Maps API – Google Codeに、MD5 fingerprintをコピペして「Generate API Key」を押す


新しくAPI Keyが生成される。


Eclipseで、layout/main.xmlを編集。MapViewにapiKeyを指定
<com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
    android:apiKey="your-api-key"
    />


これでEclipseでパッケージ名を右クリックして[Android Tools]→[Export Signed Application Package]でapkを生成して、Marketで公開する。


shokai.org で検索
android market


既にdebug版アプリが入っていれば入れ替わる
android market


AndroidManifest.xmlに基づいてインストール時に警告が出る
android market

地図を使うアプリの作り方については、以前AndroidでGPSロガーでくわしく書いた。

1

Androidマーケットでのアプリの公開

公開用に、AndroidManifest.xmlにminSdkVersionを指定してからコンパイルする。
Android2.1用なので7を指定。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="org.shokai.test"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="7" />
    <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
        <activity android:name=".Test"
                  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>


公開用apkを作る。
Eclipseでパッケージ名を右クリックして[Android Tools]→[Export Signed Application Package]


1回目は証明書を作る。適当に項目を埋める。
signature key creation


signedなapkができたら、terminalで実機にインストールしてみる。
接続されたデバイス一覧を確認
adb devices
HT04GPL12980にinstall
adb -s HT04GPL12980 install test2.1.apk
既に入っているdebug版を先にアンインストールしないとinstallできない。


http://www.android.com/market/ の下のリンク(http://market.android.com/publish)からAndroid Marketでの公開用にGoogleに年会費25ドル払う。


signedなapkとスクリーンショット等を登録、アップロード。
1分も待たずに即公開されていた。android端末側のマーケットで検索するとすぐ出る。
testapp on android market


Google APIを使ったアプリは専用の証明書か何かが必要らしい。これだけではアプリは起動するけどGoogle Mapが表示されなかった。