提问人:L. Kvri 提问时间:3/26/2012 最后编辑:AbhiL. Kvri 更新时间:10/14/2022 访问量:24099
Android:需要不可用的共享库 com.google.android.maps;失败
Android: requires unavailable shared library com.google.android.maps; failing
问:
首先,我在 project\properties\android 中设置了项目构建目标。 我使用 Google API 创建了级别为 7 和 8 的 AVD,仅将每个 AVD 设置为 SD 卡大小 4Gb,在 Manifest 文件中将 SDK 的最低版本设置为 7,将目标 SDK 设置为 8。没有成功。 我删除所有 AVD 并重新创建它们。
重新安装 Eclipse Rcp、在 Eclipse 中安装 ADT 和安装 Android SDK 后,重新创建 AVD。
我的 GPS 应用程序在没有 Google API 的情况下运行良好,在早期版本中,我目前在 MapView 上实现了显示跟踪日志的视图,我的应用程序不起作用。
DDMS从未显示过日食。
如何解决此错误?
[2012-03-26 09:27:50 - GPS] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2012-03-26 09:27:50 - GPS] Please check logcat output for more details.
[2012-03-26 09:27:51 - GPS] Launch canceled!
以下是 LogCat 错误日志:
03-26 07:26:22.220: E/vold(27): Error opening switch name path '/sys/class/switch/test' (No such file or directory)
03-26 07:26:22.220: E/vold(27): Error bootstrapping switch '/sys/class/switch/test' (No such file or directory)
03-26 07:26:22.220: E/vold(27): Error opening switch name path '/sys/class/switch/test2' (No such file or directory)
03-26 07:26:22.220: E/vold(27): Error bootstrapping switch '/sys/class/switch/test2' (No such file or directory)
03-26 07:27:03.399: E/BatteryService(66): usbOnlinePath not found
03-26 07:27:03.399: E/BatteryService(66): batteryVoltagePath not found
03-26 07:27:03.399: E/BatteryService(66): batteryTemperaturePath not found
03-26 07:27:03.420: E/SurfaceFlinger(66): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
03-26 07:27:27.730: E/EventHub(66): could not get driver version for /dev/input/mouse0, Not a typewriter
03-26 07:27:27.730: E/EventHub(66): could not get driver version for /dev/input/mice, Not a typewriter
03-26 07:27:28.440: E/System(66): Failure starting core service
03-26 07:27:28.440: E/System(66): java.lang.SecurityException
03-26 07:27:28.440: E/System(66): at android.os.BinderProxy.transact(Native Method)
03-26 07:27:28.440: E/System(66): at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
03-26 07:27:28.440: E/System(66): at android.os.ServiceManager.addService(ServiceManager.java:72)
03-26 07:27:28.440: E/System(66): at com.android.server.ServerThread.run(SystemServer.java:176)
03-26 07:27:28.440: E/AndroidRuntime(66): Crash logging skipped, no checkin service
03-26 07:27:39.779: E/ActivityThread(120): Failed to find provider info for android.server.checkin
03-26 07:27:41.341: E/ActivityThread(120): Failed to find provider info for android.server.checkin
03-26 07:27:41.530: E/ActivityThread(120): Failed to find provider info for android.server.checkin
03-26 07:27:42.060: E/ActivityThread(120): Failed to find provider info for android.server.checkin
03-26 07:27:42.140: E/ActivityThread(120): Failed to find provider info for android.server.checkin
03-26 07:27:49.890: E/PackageManager(66): Package com.lkv.mobile.apps.gps requires unavailable shared library com.google.android.maps; failing!
03-26 07:27:50.331: E/AndroidRuntime(163): ERROR: thread attach failed
答:
检查您的清单 .xml。就我而言,有:
<uses-library android:name="com.google.android.maps" />
我不得不删除。
评论
在实际设备上修复 ,在某些 rom 上不存在。fixing missing shared library
comp.google.android.map
download googleapps
extract two files
system/etc/permissions/com.google.android.maps.xml
system/framework/com.google.android.maps.jar
remount the /system filesystem rw (mount -o rw,remount /system)
copy the files in
do a chmod 644 on them
reboot
所有功劳都归功于@Nys
当我将 uses-library 标签从“application”元素中移出时,我在调试中的模拟器上工作。
uses-library android:name=com.google.android.maps
在发布模式下,它要求在“应用程序”内部,不知道为什么。
简单地说,有两种方式
如果您的项目在您的项目中使用了谷歌地图,您的测试设备(或虚拟机)需要安装谷歌播放服务(如果是虚拟机,您可以通过 https://opengapps.org/ 安装它 )
如果您的项目不使用它,只需从中删除<uses-library android:name="com.google.android.maps" />
AndroidManifes.xml
评论