0

当我将谷歌地图插入我的机器并从 Eclipse 运行应用程序时,它会显示在设备上。但是当我从另一台机器上运行相同的代码时,不会显示 Eclipse 地图。
它显示“加载地图失败。无法联系谷歌服务。这可能是由于 wifi 连接或请求未经授权。”

我使用正确的 API 密钥正确添加了所有权限和其他清单标签。这很明显,因为它是从我的机器上运行的。

有没有人遇到过类似的问题?

4

5 回答 5

2

由于 API 密钥与您的调试密钥库相结合,因此最好的方法是将此密钥库复制到其他机器,这些机器也用于开发。debug.keystore 在您的用户文件夹中的 .android 文件夹中。

于 2013-08-01T17:25:54.720 回答
2

我知道你的问题的答案!您需要一个新的 API 密钥用于您尝试从中启动应用程序的新机器。您需要新机器的 SHA1 指纹才能在 API 控制台中创建新的 API 密钥。

使用新的 Android 开发工具,您可以非常轻松地做到这一点。您不再需要查找debug.keystore和 java bin 文件来在生成 SHA1 的命令控制台中运行前面的命令行。

要生成 SHA1:打开ADT。转到主菜单窗口 =>首选项=> Android =>构建。那里有SHA1和 MD5 选项。您现在知道该做什么:将 SHA1 与您的项目包一起加入:例如SHA1;myandroid.project.

您拥有新机器的新密钥。更新manifest.xml并再次运行项目。它现在应该可以工作了。

我刚刚注意到另一个问题:创建 apk 文件时要小心,如果使用已创建的密钥库对其进行签名,则应用程序映射不起作用。我已经读到您必须使用用于创建 API 密钥(debug.keystore)的相同文件对其进行签名。记住这一点!

于 2013-10-17T23:48:58.317 回答
2

您可能会在较新的系统中运行您的代码。为此,您需要从控制台使用新的SHA1获取新的 API 密钥。

要不然,

按照流程,

  1. 转到旧系统的主页
  2. 找到位置----/.android/debug.keystore
  3. 复制debug.keystore
  4. 更换debug.keystore新系统中的
  5. 您的地图将正常工作。

提前祝愿:)

于 2015-07-16T04:58:17.787 回答
1

您不能只是将代码移动到另一台机器上并期望它能够工作。如前所述,您的 Google Map 使用了一个 API 密钥,该密钥是使用用户文件夹中 debug.keystore 文件夹中的 SHA1 指纹生成的。

为了使它起作用,您有两个选择:

1.将 debug.keystore 复制到您要开发此项目的另一台机器上。

2.将新机器的 SHA1 指纹也注册到控制台中。

于 2013-08-01T18:00:19.203 回答
0

您是否已将另一台机器的密钥哈希添加到您的 Google API 控制台帐户?

于 2013-08-01T17:20:58.030 回答