0

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

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

QA 团队不是我本地的,所以我将我安装在手机上的相同 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"/>

我还在 Stackoverflow 上读到,有些人在安装通过电子邮件发送给他们的应用程序时遇到问题,并提出了 DropBox 之类的建议。

我已经完成了这两个(在我的清单中包含了上面的 sdk 行并通过 DropBox 交付了应用程序),但他们仍然无法运行该应用程序。

这让我想知道谷歌地图的依赖。我没有在我的 apk 中提供 maps.jar 文件。有没有办法可以检查 maps.jar 在运行我的应用程序的设备上是否可用?有没有办法可以提供 maps.jar 文件?如果 maps.jar 已经存在,我该怎么办?

4

1 回答 1

1

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

如果您拥有<uses-library>android:required="false"属性,那么即使设备缺少适用于 Android 的 Google 地图插件,您的应用也可以运行。在尝试实际使用 a 之前,您将使用Class.forName()查看是否存在,如在此示例项目中。MapActivityMapActivity

但是,如果您<uses-library>缺少某个android:required属性,或者将其设置为true,则该应用程序根本无法安装在设备上。

有没有办法可以提供 maps.jar 文件?

只能以购买用户另一台设备的形式——具有谷歌地图插件的设备——并将其运送给他们。设备要么拥有它(就像大多数合法拥有 Play 商店的设备一样),要么没有(例如,Kindle Fire)。你无法改变这个事实。

于 2012-07-16T00:47:15.747 回答