当我尝试运行使用Google API的Android应用程序时,我收到以下错误
[2009-07-11 11:46:43 - FirstMapView]安装错误:INSTALL_FAILED_MISSING_SHARED_LIBRARY
[2009-07-11 11:46:43 - FirstMapView]请查看logcat输出以获取更多详细信息 [2009-07-11 11:46:44 - FirstMapView]发布取消了!
有人可以帮我解决这个错误吗?
答案 0 :(得分:90)
使用Google Maps for Android错过 INSTALL_FAILED_MISSING_SHARED_LIBRARY
错误:
安装Google地图API。这可以在Eclipse Windows / Android SDK和AVD Manager中完成 - >可用套餐 - >第三方附加组件 - > Google Inc. - > Google Inc.的Google API,Android API X
从命令行创建新的AVD。这可以通过列表来完成 目标(android列表目标),然后android创建avd -n new_avd_api_233 -t“Google Inc.:Google API:X”
然后在Eclipse Windows / Android中创建AVD(Android虚拟设备) SDK和AVD Manager - >新... - > (姓名:new_avd_X,目标:谷歌 API(Google Inc.) - API级别X)
IMPORTANT
:您必须使用Target as Google API(Google Inc.)创建AVD,否则它将再次失败。
在Eclipse File / New / Android Project中创建Android项目 选择Google API Build Target。
添加< uses-library android:name =“com.google.android.maps”/> 在< application>之间< /应用程序>标签
将Project作为Android应用程序运行。
如果错误仍然存在,那么您仍有问题,如果有效,那么此错误将永远在您身后。
答案 1 :(得分:14)
<uses-library
android:name="com.google.android.maps"
android:required="false" />
如果需要,可能需要更改
答案 2 :(得分:9)
就我而言,原因是该应用默认为可穿戴目标设备。
我在清单中删除了对可穿戴设备的引用,问题已解决。
<uses-library android:name="com.google.android.wearable" android:required="true" />
答案 3 :(得分:7)
您可以解决它在Google API模拟器上运行。
要在Google API模拟器上运行,请打开Android SDK&amp; AVD Manager&gt;可用套餐&gt; Google Repos&gt;选择您需要测试的Google API级别。
安装完成后,将它们添加为虚拟设备并运行。
答案 4 :(得分:4)
转到:
项目&GT;性状&gt; Android和GT; 选择:谷歌API Android 4.0.3
点击图标:
Android虚拟设备管理器&gt;编辑&gt;在Tabget&gt; Google API APIsLevel15中选择框 并选择内置:是WQVGA400&gt;编辑AVD&gt;开始
答案 5 :(得分:4)
//检查您的清单
<uses-library
android:name="com.google.android.wearable"
android:required="true" />
//这是为我添加的,同时错误地添加了导致问题的新活动。
答案 6 :(得分:2)
安装到实际设备时遇到同样的错误。可以在以下站点找到更多信息以及将缺少的库加载到设备的解决方案:
Fixing the INSTALL_FAILED_MISSING_SHARED_LIBRARY Error
要正确设置,需要将2个密钥文件复制到系统中:
com.google.android.maps.xml
com.google.android.maps.jar
这些文件位于以下任何Google应用包中:
http://android.d3xt3...0120-signed.zip
http://goo-inside.me...0120-signed.zip
http://android.local...0120-signed.zip
这些链接不再有效,但您可以在android中找到这些文件 sdk如果你有Google Maps API v1
在解压缩任何这些文件之后,您希望将文件复制到您的系统中,例如-啊-so:
adb remount
adb push system/etc/permissions/com.google.android.maps.xml /system/etc/permissions
adb push system/framework/com.google.android.maps.jar /system/framework
adb reboot
答案 7 :(得分:1)
我正在开发一个版本2.2的应用程序,API版本将在第8个...有相同的错误,错误告诉我这是谷歌地图API,我们所做的只是更改我的项目API 2.2的ADV和也适用于API。
这对我有用,并找到了所需的库API。
答案 8 :(得分:1)
可能由于以下原因而发生-
因此,通过删除实现或添加它们可以消除此错误。 您可以删除android清单文件中的“ uses”代码。
示例:
这浪费了我的1个小时,因为我错误地添加了一个可穿戴类型,当然,我安全地使用折射器删除了它,但Didi并未更改清单文件。
我在我的Java项目中使用了Firebase crashlytics代码,但我错误地在buld.gradle中将其删除。 在下面: 实施'com.google.firebase:firebase-crashlytics:17.1.1'
该解决方案主要位于BUILD> GRADLE或AndroidManifest.xml中。
答案 9 :(得分:0)
当您尝试在模拟器上运行应用程序时会发生这种情况。模拟器没有共享的谷歌地图库。
答案 10 :(得分:0)
解决此问题的另一种方法是安装所需的缺少的库。
您可以下载这些库,并了解如何安装here。
答案 11 :(得分:0)
当我尝试这些解决方案时。
我解决了:
创建一个新的虚拟设备(选择谷歌API(谷歌公司)-API等级15取代Android 4.0.3-APILevel 15)
然后又跑了。它解决了。
我认为这只是因为该设备没有谷歌apis〜
IDE:机器人工作室 操作系统:ubuntu 12.04
答案 12 :(得分:0)
通常,这意味着应用安装/调试在不支持某些所需库(可能与 Android 版本或硬件有关)的设备(包括虚拟设备)上。
检查 <uses-library>
中的元素 manifest
是否设备支持所有库。就我而言,它是 EDMK(用于 Zebra 条码扫描器的库)。
注意:Google Play 使用在您的应用清单中声明的 <uses-library>
元素从不符合其库要求的设备中过滤您的应用。
如果意外添加了库(其特定类未在您的应用中使用),请删除元素 <uses-library>
。
如果库是可选的,则将 android:required="false"
添加到 <uses-library>
。如果某些部分需要此库,您可能需要在代码中添加验证。
如果需要库,请使用其他设备或创建支持库的虚拟设备 (AVD)。