1

我知道以前有人问过这个问题,但我认为我的情况几乎没有什么不同。

我有两个用于 mapview、调试和生产的键。据我所知,要创建适合 google play 的地图密钥,您首先从 eclipse 创建一个密钥库(使用导出签名应用程序对话框中的创建新密钥库选项),提取指纹并从谷歌的 api 注册页面生成 api 密钥。

然后,您可以使用此密钥导出已签名的应用程序并使用 adb 实用程序将其安装在设备上,并且 map 将起作用,而 usign debug 则不会。对?

到目前为止还不错。如果我使用 adb 或设备的包管理器安装它,地图就可以工作。但是,如果我将应用程序放在 google play 上然后从中安装,它将无法正常工作。这与我使用调试密钥时的情况相同:IOException with message: server returned: 3。

也许是重要的部分。使用不同的电子邮件(我不拥有)注册了一个游戏帐户,就像在生成“生产”地图 api 密钥时使用的那样。这可能是问题吗?

编辑:一些澄清。我是该应用程序的第二个开发者。第一个使用不同的密钥库和不同的 api 密钥,他用来签署应用程序以在 Play 上提交它。在我接手项目后,我创建了一个新的密钥库并使用它的指纹来获取 api 密钥。我使用这个密钥来创建签名包,如果我安装它,它应该正常显示地图。

现在,我创建了签名包(使用从密钥库生成的密钥)并安装它(adb),我可以正常看到地图(如果我使用调试密钥就不会)。但是当我在游戏中上传应用程序的更新并从那里安装时,地图就会中断。

谢谢你。

4

1 回答 1

2

要生成指纹,请务必使用您为要上传的项目创建的相同密钥库。

于 2012-11-27T09:46:02.097 回答