在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访问该工具。
- 点击“新build”button开始创build一个新的AVD。
- 在出现的对话框中,为AVD指定一个名称,并select您希望AVD使用的系统图像目标。 select一个“Google API(Google Inc.)”目标,确保selectAPI级别与应用程序清单中的android:minSdkVersion属性相匹配的版本,如上所述。
- 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