2012-05-18 69 views
1

我有一个使用Google API的Android应用程序,在此地图上显示地图和一些标记。 当我在模拟器上运行应用程序时,该应用程序按预期工作,但在实际的Andorid Phone上下载时,它会崩溃。使用Google API的Android应用程序适用于模拟器,但不适用于手机

在Android 2.3.3,和谷歌API版本15. 我已经把这个线在AndroidManifest.xml文件的手机的运行速度:

<uses-sdk android:minSdkVersion="7" /> 

我也有签署了谷歌API密钥版本密钥库,并确保在自行签署应用程序时使用相同的密钥库。

如前所述,当在模拟器上的应用程序工作正常运行,但我当应用程序被(后安装目录)开始得到这个错误:

MainActivity couldn't get connection factory client 

然后有一堆产生的异常/警告这种类型的:

System.err IOExeption processing: 26 
System.err java.io.IOException: Server returned: 3 

我是新来的Android编程,所以我将不胜感激任何帮助,将解决这个问题。

+0

你能发表一些代码吗? – silwar

回答

-1

要在真实硬件上测试,您需要使用与调试密钥不同的密钥。在您的文章之后,您正在使用调试密钥库。

https://developers.google.com/maps/documentation/android-api/v1/?csw=1#getfingerprint

阅读谷歌的那款。

将应用程序导出为具有与用于Google API(而不是调试密钥)相同的密钥的签名应用程序很重要。

对于创建一个有效的阅读段落:

http://developer.android.com/guide/publishing/app-signing.html#releasemode

,然后使用相同的密钥来获得谷歌地图API密钥。

一旦你有了你的应用程序的钥匙,你可以导出一个签名的应用程序,通过点击鼠标右键在项目上选择Android工具,然后导出为一个已签名的应用程序包,并按照向导(可能你可以创建一个使用该向导的新密钥)。

希望有所帮助。

+1

是的,您可以在真实手机上运行使用调试密钥签名的应用程序。您无法在Android电子市场上发布经过调试签名的应用程序,这就是限制。如果您制作了私人发行密钥并使用该密钥进行签名,则需要使用与您的发行密钥相匹配的不同Google Maps API密钥。 – NickT

+0

嗨,正如问题中提到的那样:我已经发布了一个发行版keystore,并用它来获取Google api密钥。我使用相同的密钥库来签署应用程序。 – linnkb

0

首先检查AndroidManifest.xml中是否设置了适当的权限。 检查您是否提供了正确的Google地图密钥。创建密钥http://www.pocketvnc.com/blog/?page_id=511 也尝试生成新的MAP密钥并使用它而不是使用旧密钥。

相关问题