【问题标题】:Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY on Kindle fire安装错误:Kindle fire 上的 INSTALL_FAILED_MISSING_SHARED_LIBRARY
【发布时间】:2012-01-31 16:06:44
【问题描述】:

我正在尝试在我的 Kindle Fire 上运行与 Android SDK (Google API 10) 一起提供的演示 android 地图项目 (MapsDemo),但在安装应用程序时会引发此异常。

[2012-01-31 23:01:15 - MapsDemo] Installing MapsDemo.apk...
[2012-01-31 23:01:17 - MapsDemo] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2012-01-31 23:01:17 - MapsDemo] Please check logcat output for more details.

和原木猫

01-31 23:06:01.206: D/PackageManager(1372): Scanning package com.example.android.google.apis
01-31 23:06:01.206: E/PackageManager(1372): Package com.example.android.google.apis requires unavailable shared library com.google.android.maps; failing!
01-31 23:06:01.206: W/PackageManager(1372): Package com.example.android.google.apis couldn't be installed.

当我在我的 HTC Desire 中运行时,相同的代码运行良好..

是否可以使用 KML 并使用 Google API 以外的其他方式绘制路线?

有人知道如何解决这个问题吗?

【问题讨论】:

标签: android kindle-fire


【解决方案1】:

您不能在 Kindle Fire 上使用适用于 Android 的 Google 地图插件,因为它不存在。

您可以将android:required="false" 添加到清单中的<uses-library> 元素,然后在运行时检查MapActivity 类在您的虚拟机中是否可用:

try {
  Class.forName("com.google.android.maps.MapActivity");
  // if you get here, you have Google Maps, so you can safely start a MapActivity
}
catch (Exception e) {
  // if you get here, you do not have Google Maps
}

在“您没有 Google 地图”的情况下,您将在 Fire 中遇到的情况由您决定。

【讨论】:

  • 谢谢,我试过了,但没有用。获取 java.lang.ClassNotFoundException
  • 如果它在 try / catch 中并且你的 catch 是针对所有异常 (Exception),你怎么能得到一个未处理的异常?
  • @kakopappa:如果那来自Class.forName(),那将被上述异常处理程序捕获。如果它来自其他地方,也许您在执行我在回答中描述的检查之前尝试使用 Google 地图。
  • 这对我来说非常有效,但是......“splash”活动不能是 MapActivity 的子类。这使您可以更改运行 @commonsware 的代码来检测设备是否支持 Google 地图(或不支持),如果不支持则采取规避措施。
猜你喜欢
  • 1970-01-01
  • 2012-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-10
  • 2014-01-05
  • 1970-01-01
相关资源
最近更新 更多