android google map key

在android使用google map api時,必須需要有一個key,才能使用google map api。

首先在linux環境底下,執行以下command line:

keytool -list -keystore ~/.android/debug.keystore

輸入密碼可以直接按enter,接著你會得到一串md5。

接著你可以經由google得到一串key,把key加入到layout裡,或者直接建立MapView object也可輸入

<com.google.android.maps.MapView
    android:id="@+id/mapview"
    android:apiKey="your key"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:enabled="true"
    android:clickable="true"
/>
配置AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.test.test"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:label="@string/app_name" android:icon="@drawable/icon">
        <uses-library android:name="com.google.android.maps" />
        <activity android:name="GMapView"
                  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>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET" />
</manifest> 

其中uses-library是必須的,uses-permission則是根據你使用的api功能決定。

 

如果要能到android market上,你必須另外申請一組key,而不是用android debug key。

你可以使用以下command line去建立一個keystore:

keytool -genkey -v -keystore test.keystore -alias test -keyalg RSA -keysize 2048 -validity 10000

同樣使用md5去取得key,執行以下command line:

keytool -list -keystore test.keystore

接著拿去google取得key配置方法如上。

最後一個步驟,就是將你的未驗證的apk,去做驗證,command line如下:

jarsigner -verbose -keystore my-release-key.keystore my_application.apk alias_name

以及優化指令:

zipalign -v 4 your_project_name-unaligned.apk your_project_name.apk

若是使用ant,只要在build.properties加入以下兩行:


key.store=my-release-key.keystore

key.alias=alias_name

再執行ant release,即可產生驗證後的apk

申請keystore及驗證頁面

取得map key的說明頁面

經由md5取得map key