02-18 00:02:08.432: ERROR/PackageManager(57): Package com.example.brown requires unavailable shared library com.google.android.maps; failing!
我在logcat中遇到了这个异常。
任何人都可以指导我吗?
答案 0 :(得分:65)
正如CommonsWare所说,你的模拟器缺少了库。 Google Maps Library的文档Overview page包含有关如何为模拟器创建正确类型的虚拟设备的信息。要点是:
使用没有任何选项的android命令启动AVD Manager。如果您正在使用Eclipse / ADT进行开发,则还可以从Window>访问该工具。 Android SDK和AVD Manager。
- 点击“新建”按钮开始创建新的AVD。
- 在出现的对话框中,指定AVD的名称,然后选择希望AVD使用的系统映像目标。选择一个“Google API(Google Inc.)”目标,确保选择API级别与应用程序清单中的android:minSdkVersion属性匹配的版本,如上所述。
- 配置其他选项,然后点击“创建AVD”。
醇>完成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库,您必须手动安装它。
答案 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