android中缺少共享库。

时间:2010-02-17 18:35:07

标签: android android-mapview

02-18 00:02:08.432: ERROR/PackageManager(57): Package com.example.brown requires unavailable shared library com.google.android.maps; failing!

我在logcat中遇到了这个异常。

任何人都可以指导我吗?

8 个答案:

答案 0 :(得分:65)

正如CommonsWare所说,你的模拟器缺少了库。 Google Maps Library的文档Overview page包含有关如何为模拟器创建正确类型的虚拟设备的信息。要点是:

  

使用没有任何选项的android命令启动AVD Manager。如果您正在使用Eclipse / ADT进行开发,则还可以从Window>访问该工具。 Android SDK和AVD Manager。

     
      
  1. 点击“新建”按钮开始创建新的AVD。
  2.   
  3. 在出现的对话框中,指定AVD的名称,然后选择希望AVD使用的系统映像目标。选择一个“Google API(Google Inc.)”目标,确保选择API级别与应用程序清单中的android:minSdkVersion属性匹配的版本,如上所述。
  4.   
  5. 配置其他选项,然后点击“创建AVD”。
  6.         

    完成AVD创建后,您可以从AVD Manager UI运行它,也可以使用模拟器的命令行界面。如果您在Eclipse中进行开发,则可以配置“运行配置”以启动AVD并在其上安装应用程序。

         

    有关AVD的详细信息,请参阅Android开发者网站上的Android Virtual Devices

答案 1 :(得分:10)

这个错误发生在我的实际设备上,而不是其他答案的AVD。在我的情况下,我在Nexus S上运行了一个没有安装谷歌地图的自定义ROM。

我已阅读elsewhere com.google.android.maps共享库与ROM本身捆绑在一起,并未捆绑为APK的一部分。

因此我的解决方案是恢复到安装了谷歌地图的股票ROM。

BTW,此线程的标题是指在DDMS LogCat中找到的错误。大多数用户将看到的第一个错误(在检查LogCat之前)将位于Eclipse的控制台中:

Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY 
Please check logcat output for more details.

答案 2 :(得分:10)

我在真实设备上遇到了类似的问题。经过一连串的谷歌搜索后,我找到了这个答案

fixing missing shared library。事实证明,在某些自定义roms上缺少comp.google.android.map库,您必须手动安装它。

  • 下载googleapps
  • 提取两个文件
  • system / etc / permissions / com.google.android.maps.xml
  • 系统/框架/ com.google.android.maps.jar
  • 重新安装/ system filesystem rw(mount -o rw,remount / system)
  • 复制
  • 中的文件
  • 在他们身上做一个chmod 644
  • 重新启动

答案 3 :(得分:8)

您的模拟器缺少Google API。创建一个包含Google API的新AVD,此错误应该消失。

答案 4 :(得分:3)

作为jfritz42,我在带有自定义ROM(Cyanogenmod)的真实设备上出现此错误。该错误是由于我没有安装Google Apps package这一事实造成的,因为它包含了许多让我恼火的应用程序。但是,有一个解决方案,您可以安装google.maps库,而无需使用此软件包中的19个Google Apps大量使用您的系统。只需下载软件包(zip文件)并从此zip文件中删除系统/应用程序中的所有.apk文件。之后,您可以使用ROM Manager或恢复模式安装zip。然后,您应该在系统上安装地图库。此套餐中包含的Google Apps(例如地图应用)可以在之后单独安装。

答案 5 :(得分:2)

如果是真实设备,请尝试从清单文件中删除:

<uses-library android:name="com.google.android.maps" />

答案 6 :(得分:0)

AVD设置正确且工作正常后,我遇到了这个错误。 AVD仍在使用Google API,我可以在Eclipse中看到对地图库的引用。我发现解决这个问题的唯一方法是删除AVD并创建一个新的,如fiXedd所建议。

答案 7 :(得分:0)

fiXedd(见上文)是正确的。

您可以编辑已创建的设备或创建新设备。在AVD Manager中创建或编辑设备时,不要选择此类版本目标:

  

Android x.x.x - API级别x

只需使用此类:

  

Google API(Google Inc.) - API级别x

相关问题