在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