在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