我是否必须每次发布 apk 才能显示地图?通过eclipse运行时我的地图不会显示,我必须导出到apk然后安装在我的设备上进行测试。有没有更简单的方法来测试地图 v2 apk?谢谢!
7 回答
首先,您必须使用 .android 文件夹中的 debug.keystore 文件,然后在命令提示符中使用该密钥库生成 SHA1。
然后您必须使用来自Google API 控制台的 SHA-1 生成您的 Google Map v2 API 密钥。
并在您的应用程序中使用此密钥,您无需导出已签名的应用程序..
谢谢..!!
您无法在模拟器中显示地图,因为它没有安装地图。您必须在您的安卓设备上运行所有与地图相关的应用程序。
此外,只需将您的设备连接到 PC/笔记本电脑,eclipse 将自动提示您要在哪个设备上运行,然后您可以选择您的设备。
这是因为您的模拟器中没有地图。您的地图将仅在纯 AVD 上显示,即模拟器的 CPU 必须是ARM
,目标应该是Google APIs device
. 对于 Maps V2,您需要google play services
安装在您的模拟器/设备中。默认情况下,它在任何模拟器中都不可用。
您可以强制安装google play services
到模拟器中,请按照此开始。
更好的选择是通过 USB 使用设备(移动/标签)并启用开发人员选项(选中 USB 调试)。
尝试一下...
使用此命令使用您的 debug.keystore 生成 SHA1 证书,而不是使用生成的 SHA1 证书生成 API 密钥 如何从 Java 的 keytool 获取 MD5 指纹,而不仅仅是 SHA-1?
从 API 控制台生成密钥后,将该密钥用于您的清单文件。
有,但是您需要在 eclipse 中修改调试密钥(我假设您使用的是 eclipse)。
首先,只有当您使用的 Api 密钥是从签名密钥派生时,google mapview 才会显示。这就是问题所在 - 当您从 IDE 启动时,eclipse 使用它自己的默认密钥。
因此,您需要使用实际的签名密钥进行调试。如果您转到 Window -> Preferences -> Android -> Build,您将看到 eclipse 正在使用默认的调试密钥库。
您可以选择使用自定义调试密钥库。但无法设置自定义密码。好在您可以更改原始签名密钥上的密码(我更喜欢创建一个副本并标记为我的“调试”密钥)并且仍然保留其所有/大部分属性,老实说,我不知道哪些属性,例如您现在可以将它用作调试密钥库,并且仍然让它显示谷歌地图布局。
要更改密钥库密码,只需启动 cmd 并执行以下操作:
keytool -storepasswd -keystore my.keystore
Eclipse 使用“android”作为调试的默认密码,这就是您输入的新密码。修改您的密钥后,您现在可以将其设置为自定义调试密钥库并开始在您的 android 源上使用 Ctrl+F11。
据我所知,您甚至可以使用这种技术覆盖手机上正常签名应用程序的安装,因此它比仅在调试时启用谷歌地图更进一步。
C:\Program Files\Java\jdk1.7.0_03\bin> keytool.exe -V -list -alias androiddebugkey -keystore "C:\Users\Dell.android\debug.keystore" -storepass android -keypass android
在 CMD 中输入此内容。这将同时提供 sha-1 和 md5 密钥..请根据您的机器更改路径..!
确保发布 API 密钥位于 release/res/values 文件夹下的 google_maps_api.xml 文件中,因为这是用于签名发布 apk 的密钥。