注冊和 API 密鑰
如需使用 Google Maps Android API,您必須在 Google Developers Console 上注冊您的應用項目崎溃,并獲取可添加到應用中的 Google API 密鑰却妨。您需要的 API 密鑰類型是 Android 密鑰避归。
概覽
所有 Android 應用均使用您持有私有密鑰的數(shù)字證書簽署。 如需了解有關數(shù)字證書的詳細信息管呵,請參閱關于注冊您的應用 的 Android 指南。
Android API 密鑰與特定證書/軟件包對相關聯(lián)哺窄。 每個證書僅需要一個密鑰捐下,與擁有的應用用戶數(shù)量無關。
要獲取應用的密鑰萌业,需要執(zhí)行多個步驟坷襟。 下面概要列出了這些步驟,下文將對其進行詳細介紹生年。
獲取關于應用證書的信息婴程。
在 Google Developers Console 中注冊項目,并添加 Google Maps Android API抱婉,將其作為項目的一項服務档叔。
創(chuàng)建密鑰。
通過向您的應用清單文件添加元素蒸绩,向您的應用添加密鑰衙四。
顯示應用的證書信息
API 密鑰是以應用數(shù)字證書(即其 SHA-1 指紋)的簡要形式為基礎。要顯示證書的 SHA-1 指紋患亿,請先確保您使用的是正確的證書传蹈。您可能有兩個證書:
調(diào)試證書:Android SDK 工具會在您執(zhí)行調(diào)試生成階段時自動生成此證書。此證書只能用于要測試的應用。請勿嘗試發(fā)布使用調(diào)試證書簽署的應用惦界。Android 開發(fā)者文檔中的在調(diào)試模式下簽署部分詳細介紹了調(diào)試證書挑格。
發(fā)布證書:Android SDK 工具會在您執(zhí)行版本生成階段時自動生成此證書。您也可以使用 keytool
程序生成此證書沾歪。如果您已準備好向外界發(fā)布應用漂彤,請使用此證書。
按照下面的步驟瞬逊,結合使用 keytool
程序與 -v
參數(shù)來顯示證書的 SHA-1 指紋显歧。如需了解有關 Keytool 的詳細信息,請參閱 Oracle 文檔确镊。
調(diào)試證書
發(fā)布證書
顯示調(diào)試證書指紋
找到您的調(diào)試密鑰庫文件士骤。該文件的文件名為 debug.keystore
,在您首次構建項目時創(chuàng)建蕾域。默認情況下拷肌,它與 Android 虛擬設備 (AVD) 文件存儲在同一目錄下:
OS X 和 Linux:~/.android/
Windows Vista 和 Windows7:C:\Users\your_user_name.android\
如果您要將 Eclipse 與 ADT 結合使用,但不確定調(diào)試密鑰庫的位置旨巷,則可以選擇 Windows > Prefs > Android > Build 來查看完整路徑巨缘。
列出 SHA-1 指紋:
對于 Linux 或 OS X,請打開終端窗口并輸入以下內(nèi)容:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
對于 Windows Vista 和 Windows7采呐,請運行:
keytool -list -v -keystore "%USERPROFILE%.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
您會看到如下所示的輸出:
Alias name: androiddebugkeyCreation date: Jan 01, 2013Entry type: PrivateKeyEntryCertificate chain length: 1Certificate[1]:Owner: CN=Android Debug, O=Android, C=USIssuer: CN=Android Debug, O=Android, C=USSerial number: 4aa9b300Valid from: Mon Jan 01 08:04:04 UTC 2013 until: Mon Jan 01 18:04:04 PST 2033Certificate fingerprints: MD5: AE:9F:95:D0:A6:86:89:BC:A8:70:BA:34:FF:6A:AC:F9 SHA1: BB:0D:AC:74:D3:21:E1:43:07:71:9B:62:90:AF:A1:66:6E:44:5D:75 Signature algorithm name: SHA1withRSA Version: 3
以 SHA1
開頭的行包含證書的 SHA-1 指紋若锁。指紋是以冒號分隔的 20 個兩數(shù)位十六進制數(shù)的序列。
注意:為了保護您的密鑰庫和密鑰斧吐,除非您確信計算機的安全性又固,否則請不要在命令行中輸入 storepass
或 keypass
參數(shù)。例如煤率,在公共計算機上仰冠,可能會有人查看您的終端窗口歷史記錄或正在運行的程序列表、獲取密碼蝶糯,然后獲得對您的簽署證書的寫入權限洋只。這樣,他們就能修改您的應用或將其替換為他們自己的應用昼捍。
在 Google Developers Console 中創(chuàng)建 API 項目
按照以下步驟 Google Developers Console 中為您的應用創(chuàng)建或修改項目识虚,然后啟用 Google Maps Android API。
如果您希望系統(tǒng)引導您完成整個流程并自動激活 Google Maps Android API端三,請點擊 此鏈接舷礼。
此外,您還可以通過執(zhí)行以下操作郊闯,在 Developers Console 中自行激活 Google Maps Android API:
轉至 Google Developers Console妻献。
Select a project, or create a new one.
Open the API Library in the Google Developers Console. If prompted, select a project or create a new one. Select the Enabled APIs link in the API section to see a list of all your enabled APIs. Make sure that the API is on the list of enabled APIs. If you have not enabled it, select the API from the list of APIs, then select the Enable API button for the API. 您需要的唯一 API 是 Google Maps Android API蛛株,但您也可以選擇為相同項目啟用其他 API。
獲取 Android API 密鑰
注:來自 Google 地圖 Android v1 應用的現(xiàn)有密鑰通常稱為 MapView育拨,它們無法與 v2 API 配合使用谨履。 Google Maps Android API 采用了全新的密鑰管理系統(tǒng)。
注:您需要 Android API 密鑰熬丧,而非瀏覽器密鑰笋粟。您可以對 Google Maps Android API 應用和 Google Places API for Android 應用使用相同的 API 密鑰。
可按以下步驟訪問項目的 API 密鑰以及其他憑據(jù):
轉至 Google Developers Console析蝴。
In the sidebar on the left, select Credentials.
如果您的項目尚無 Android API 密鑰害捕,請立即通過選擇 Add credentials > API key > Android key 創(chuàng)建一個。
在生成的對話框中闷畸,輸入應用的 SHA-1 指紋和軟件包名稱尝盼。例如:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.mapexample
您的新 Android API 密鑰隨即出現(xiàn)在項目的 API 密鑰列表中。API 密鑰是類似于如下的字符串:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
向您的應用添加 API 密鑰
請按以下步驟將 API 密鑰加入包含在 AndroidManifest.xml
文件內(nèi)的應用清單文件佑菩。
在 AndroidManifest.xml
中盾沫,通過在 </application>
結束標記前插入以下元素,將其添加為 <application>
元素的子元素:
<meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>
用您的 API 密鑰替代 value
屬性中的 YOUR_API_KEY殿漠。該元素會將密鑰 com.google.android.geo.API_KEY
設置為您的 API 密鑰的值赴精。
保存 AndroidManifest.xml
并重新編譯您的應用。
注:如上所示绞幌,com.google.android.geo.API_KEY
是建議使用的 API 密鑰元數(shù)據(jù)名稱蕾哟。可使用具有該名稱的密鑰向 Android 平臺上的多個基于 Google Maps 的 API(包括 Google Maps Android API)驗證身份莲蜘。出于向后兼容性上的考慮渐苏,該 API 還支持 com.google.android.maps.v2.API_KEY
名稱。該舊有名稱只允許向 Android Maps API v2 驗證身份菇夸。應用只能指定其中一個 API 密鑰元數(shù)據(jù)名稱。如果兩個都指定仪吧,API 會拋出異常庄新。