在android中缺less共享库。

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

我在logcat中得到这个exception。

任何人都可以指导我?

正如CommonsWare所说,你的模拟器缺less库。 Google Maps Library的文档概述页面提供了如何为模拟器创build正确types的虚拟设备的信息。 要点是:

使用android命令启动AVDpipe理器,不带任何选项。 如果您正在Eclipse / ADT中开发,则还可以从Window> Android SDK和AVD Manager访问该工具。

  1. 点击“新build”button开始创build一个新的AVD。
  2. 在出现的对话框中,为AVD指定一个名称,并select您希望AVD使用的系统图像目标。 select一个“Google API(Google Inc.)”目标,确保selectAPI级别与应用程序清单中的android:minSdkVersion属性相匹配的版本,如上所述。
  3. configuration其他选项,然后点击“创buildAVD”。

一旦完成创buildAVD,就可以从AVDpipe理器UI中运行它,或者使用仿真器的命令行界面。 如果您在Eclipse中开发,则可以configuration“运行configuration”以启动AVD并在其上安装应用程序。

有关AVD的更多信息,请参阅Android开发人员网站上的Android 虚拟设备 。

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

我已经在其他地方读过,com.google.android.maps共享库与ROM本身捆绑在一起,不作为APK的一部分捆绑在一起。

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

顺便说一下,这个线程的标题是指在DDMS LogCat中发现的错误。 在检查LogCat之前,大多数用户会看到的第一个错误是在Eclipse的控制台中:

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

您的模拟器缺lessGoogle API。 创build一个包含Google API的新AVD,这个错误应该消失。

我在一个真实的设备上遇到了类似的问题。 search后,我发现这个答案

修复丢失的共享库 。 事实certificate,在一些自定义roms缺lesscomp.google.android.map库,你必须手动安装它。

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

由于jfritz42我得到了一个自定义ROM(Cyanogenmod)的真实设备上的这个错误。 这个错误是由于我没有安装Google Apps软件包 ,因为它包含了很多让我烦恼的应用程序。 不过,有一个解决scheme如何安装google.maps库,而无需使用此软件包中的19个Google Apps加强系统。 只需下载该软件包(zip文件),并从该zip中删除系统/应用程序中的所有.apk文件。 之后,您可以使用ROMpipe理器或通过恢复模式安装zip。 那么你应该在你的系统上安装地图库。 此软件包中包含的Google Apps(例如地图应用程序)可以在之后单独安装。

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

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

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

fiXedd(见上文)是正确的。

您可以编辑已创build的设备或创build一个新设备。 在AVDpipe理器中创build或编辑设备时,不要select这种types的版本目标:

Android xxx – API级别x

只需使用这种types:

Google API(Google Inc.) – API Level x