注册和 API 密钥
如需使用 Google Maps Android API,您必须在 Google Developers Console 上注册您的应用项目,并获取可添加到应用中的 Google API 密钥。您需要的 API 密钥类型是 Android 密钥。
概览
所有 Android 应用均使用您持有私有密钥的数字证书签署。 如需了解有关数字证书的详细信息,请参阅关于注册您的应用 的 Android 指南。
Android API 密钥与特定证书/软件包对相关联。 每个证书仅需要一个密钥,与拥有的应用用户数量无关。
要获取应用的密钥,需要执行多个步骤。 下面概要列出了这些步骤,下文将对其进行详细介绍。
获取关于应用证书的信息。
在 Google Developers Console 中注册项目,并添加 Google Maps Android API,将其作为项目的一项服务。
创建密钥。
通过向您的应用清单文件添加元素,向您的应用添加密钥。
显示应用的证书信息
API 密钥是以应用数字证书(即其 SHA-1 指纹)的简要形式为基础。要显示证书的 SHA-1 指纹,请先确保您使用的是正确的证书。您可能有两个证书:
调试证书:Android SDK 工具会在您执行调试生成阶段时自动生成此证书。此证书只能用于要测试的应用。请勿尝试发布使用调试证书签署的应用。Android 开发者文档中的在调试模式下签署部分详细介绍了调试证书。
发布证书:Android SDK 工具会在您执行版本生成阶段时自动生成此证书。您也可以使用 keytool
程序生成此证书。如果您已准备好向外界发布应用,请使用此证书。
按照下面的步骤,结合使用 keytool
程序与 -v
参数来显示证书的 SHA-1 指纹。如需了解有关 Keytool 的详细信息,请参阅 Oracle 文档。
调试证书
发布证书
显示调试证书指纹
找到您的调试密钥库文件。该文件的文件名为 debug.keystore
,在您首次构建项目时创建。默认情况下,它与 Android 虚拟设备 (AVD) 文件存储在同一目录下:
OS X 和 Linux:~/.android/
Windows Vista 和 Windows7:C:\Users\your_user_name.android\
如果您要将 Eclipse 与 ADT 结合使用,但不确定调试密钥库的位置,则可以选择 Windows > Prefs > Android > Build 来查看完整路径。
列出 SHA-1 指纹:
对于 Linux 或 OS X,请打开终端窗口并输入以下内容:
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 个两数位十六进制数的序列。
注意:为了保护您的密钥库和密钥,除非您确信计算机的安全性,否则请不要在命令行中输入 storepass
或 keypass
参数。例如,在公共计算机上,可能会有人查看您的终端窗口历史记录或正在运行的程序列表、获取密码,然后获得对您的签署证书的写入权限。这样,他们就能修改您的应用或将其替换为他们自己的应用。
在 Google Developers Console 中创建 API 项目
按照以下步骤 Google Developers Console 中为您的应用创建或修改项目,然后启用 Google Maps Android API。
如果您希望系统引导您完成整个流程并自动激活 Google Maps Android API,请点击 此链接。
此外,您还可以通过执行以下操作,在 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 应用的现有密钥通常称为 MapView,它们无法与 v2 API 配合使用。 Google Maps Android API 采用了全新的密钥管理系统。
注:您需要 Android API 密钥,而非浏览器密钥。您可以对 Google Maps Android API 应用和 Google Places API for Android 应用使用相同的 API 密钥。
可按以下步骤访问项目的 API 密钥以及其他凭据:
转至 Google Developers Console。
In the sidebar on the left, select Credentials.
如果您的项目尚无 Android API 密钥,请立即通过选择 Add credentials > API key > Android key 创建一个。
在生成的对话框中,输入应用的 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 密钥随即出现在项目的 API 密钥列表中。API 密钥是类似于如下的字符串:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
向您的应用添加 API 密钥
请按以下步骤将 API 密钥加入包含在 AndroidManifest.xml
文件内的应用清单文件。
在 AndroidManifest.xml
中,通过在
结束标记前插入以下元素,将其添加为
元素的子元素:
用您的 API 密钥替代 value
属性中的 YOUR_API_KEY。该元素会将密钥 com.google.android.geo.API_KEY
设置为您的 API 密钥的值。
保存 AndroidManifest.xml
并重新编译您的应用。
注:如上所示,com.google.android.geo.API_KEY
是建议使用的 API 密钥元数据名称。可使用具有该名称的密钥向 Android 平台上的多个基于 Google Maps 的 API(包括 Google Maps Android API)验证身份。出于向后兼容性上的考虑,该 API 还支持 com.google.android.maps.v2.API_KEY
名称。该旧有名称只允许向 Android Maps API v2 验证身份。应用只能指定其中一个 API 密钥元数据名称。如果两个都指定,API 会抛出异常。