2012-07-16 27 views
0

我正在开发一个应用程序,它使用Google Maps api根据您当前的位置在运行时为您提供给定业务类型的列表。满足谷歌地图api的应用程序依赖性

我在Eclipse上使用我的LG Ally运行Android 2.2.2作为测试设备开发了这个功能。

质量保证小组对我来说不是本地的,所以我给他们发送了与我手机上安装的apk文件相同的电子邮件。

这里是它变得奇怪的地方。

一个测试人员,能够安装应用程序并运行没有问题。那个人正在使用运行Android 2.2.2的手机 - 就像我一样,但我不确定他们的手机是否是LG Ally。

另一个人正在使用运行2.3.3的手机,他们无法运行该应用程序。他们安装了一个应用程序,通过电子邮件将logcat输出发送给我,唯一看起来甚至相互关联的消息是:

06-21 14:22:57.147 W/PackageInstaller(8784):解析清单时出现分析错误。停止安装

我读过Stackoverflow清单必须包含有关sdk的信息。我的Android清单包含:

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

我也看到了#2,有些人在安装电子邮件发送给他们的应用程序问题和建议的类似的DropBox。

我已经做了两个(包括上面的sdk行在我的Manifest中,并通过DropBox交付应用程序),他们仍然无法运行该应用程序。

这让我想知道Google Maps的依赖关系。我没有在我的apk中传递maps.jar文件。有没有一种方法可以检查maps.jar在我的应用程序运行的设备上是否可用?有没有一种方法可以提供maps.jar文件?如果maps.jar已经存在,我该怎么办?

回答

1

有没有一种方法可以检查maps.jar在我的应用程序运行的设备上是否可用?

如果你有<uses-library>android:required="false"属性,那么你的应用程序可以即使设备没有运行谷歌地图插件为Android。在尝试实际使用MapActivity之前,您可以使用Class.forName()来查看MapActivity是否存在,如this sample project中所示。

但是,如果你的<uses-library>缺少android:required属性,或者有它设置为true,然后应用程序根本无法安装在设备上。

有没有一种方法可以提供maps.jar文件?

只有以购买用户的方式购买另一个设备(具有Google地图附加组件)并将其发送给他们。无论是设备拥有它(如同大多数合法拥有Play商店的设备一样)或者它没有(例如Kindle Fire)。你无法改变这个事实。

相关问题