Android 中的 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误

Posted

技术标签:

【中文标题】Android 中的 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误【英文标题】:INSTALL_FAILED_MISSING_SHARED_LIBRARY error in Android 【发布时间】:2010-11-09 22:19:17 【问题描述】:

当我尝试运行使用 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] 发射取消!

谁能帮我解决这个错误?

【问题讨论】:

【参考方案1】:

要克服 Android 版 Google 地图的 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误:

    安装 Google 地图 API。这可以在 Eclipse Windows/Android SDK 和 AVD Manager -> 可用软件包 -> 第三方插件 -> Google Inc. -> Google Inc. 的 Google APIs,Android API X

    中完成

    从命令行创建新的 AVD。这可以通过列出来完成 目标(android 列表目标),然后 android create avd -n new_avd_api_233 -t "Google Inc.:Google APIs:X"

    然后在Eclipse Windows/Android中创建AVD(Android Virtual Device) SDK 和 AVD 管理器 -> 新建... ->(名称:new_avd_X,目标:Google API (Google Inc.) - API 级别 X)

    IMPORTANT:您必须使用 Target 作为 Google API (Google Inc.) 创建您的 AVD,否则它将再次失败。

    在 Eclipse 文件/新建/Android 项目中创建 Android 项目和 选择 Google API 构建目标。

    添加 标签之间。

    将项目作为 Android 应用程序运行。

如果错误仍然存​​在,那么你仍然有问题,如果它有效,那么这个错误永远在你身后。

【讨论】:

有人能解释一下如何在支持 Google API 的模拟器上成功运行应用程序将解决 real 设备上缺少库的问题吗?我看不到连接。 我收到 com.google.android.gms.auth 的此错误...上述步骤似乎不适用于此错误 在我的情况下没有库或此类缺失。所有要求都已安装。然而,我在将 .apk 应用程序安装到模拟器时遇到问题。它失败并出现未知的安装错误。这整个问题可能是什么......? @bonCodigo 你有什么解决办法吗?我也遇到了同样的问题。 这个答案其实没用。仅适用于 AVD。【参考方案2】:

在我的例子中,应用默认为Wearable目标设备。

我在 Manifest 中删除了对 Wearable 的引用,问题就解决了。

<uses-library android:name="com.google.android.wearable" android:required="true" />

【讨论】:

这解决了我的问题。有没有办法防止它在创建新活动时默认为可穿戴设备? 谢谢你,你是一个救生员。我在挠头……非常感谢……【参考方案3】:
<uses-library
            android:name="com.google.android.maps"
            android:required="false" />

如果要求是真的,也许你需要改变

【讨论】:

这应该是正确的答案,即使 5 年后也是如此。 此代码应添加到清单中【参考方案4】:

您可以在 Google API 模拟器上运行解决它。

要在 Google API 模拟器上运行,请打开您的 Android SDK 和 AVD 管理器 > 可用软件包 > Google Repos > 选择您需要测试的那些 Google API 级别。

安装后,将它们添加为虚拟设备并运行。

【讨论】:

【参考方案5】:
    打开日食

    转到:

    项目>属性>Android> 选择:google APIs Android 4.0.3

    点击图标:

    Android 虚拟设备管理器>编辑> Tabget 中的选择框>Google APIs APIsLevel15 并选择内置:是 WQVGA400 > 编辑 AVD > 开始

【讨论】:

【参考方案6】:

//检查你的清单

<uses-library
        android:name="com.google.android.wearable"
        android:required="true" />

//这是为我添加的,同时错误地添加了导致问题的新活动。

【讨论】:

【参考方案7】:

我在安装到实际设备时遇到了同样的错误。可以在以下站点找到更多信息和将缺少的库加载到设备的解决方案:

Fixing the INSTALL_FAILED_MISSING_SHARED_LIBRARY Error

要正确设置,需要将 2 个密钥文件复制到系统中:

com.google.android.maps.xml

com.google.android.maps.jar

这些文件位于以下任何谷歌应用包中:

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

解压这些文件后,您想将这些文件复制到您的系统中,例如:

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

【讨论】:

【参考方案8】:

这可能是由于以下原因-

    在清单文件中检查“ BUILD.GRADLE 中需要一些代码实现,您可能误删了这些代码

因此,通过删除实现或添加它们可以消除此错误。 您可以删除 android manifest 文件中的“uses”代码。

例子:

    这浪费了我1个小时,因为我错误地添加了一类可穿戴类型,当然,我安全地删除了使用折射器但滴滴没有对清单文件进行更改。

    我在我的 java 项目中使用了 firebase crashlytics 代码,但我在 buld.gradle 中错误地删除了该代码。 在下面: 实施 'com.google.firebase:firebase-crashlytics:17.1.1'

解决方案主要在 BUILD>GRADLE 或 AndroidManifest.xml 中。

【讨论】:

【参考方案9】:

我正在开发一个 2.2 版的应用程序,API 版本将在第 8 版......有同样的错误,错误告诉我这是谷歌地图 API,我们所做的只是改变我的项目 API 2.2 的 ADV 和也适用于 API。

这对我有用,并找到了所需的库 API。

【讨论】:

感谢您的回答。但我想在 4.4.4 设备中运行。所以谷歌地图想要哪个api。请回答我【参考方案10】:

当您尝试在模拟器上运行应用程序时会发生这种情况。模拟器没有共享的谷歌地图库。

【讨论】:

【参考方案11】:

解决此问题的另一种方法是安装所需的缺失库。

您可以下载这些库并查看如何安装here。

【讨论】:

【参考方案12】:

当我尝试这些解决方案时。 我解决了: 创建一个新的虚拟设备(选择 Google APIs(Google Inc)-API Level 15 替换 android 4.0.3-APILevel 15) 然后再次运行。解决了。​​

我认为是因为设备没有google apis~

IDE:安卓工作室 操作系统:ubuntu 12.04

【讨论】:

【参考方案13】:

通常,这意味着应用在不支持某些必需库(可能与Android版本或硬件有关)的设备(包括虚拟设备)上安装/调试

检查manifest 中的元素&lt;uses-library&gt; 是否设备支持所有库。在我的例子中,它是 EDMK(Zebra 条码扫描器库)。

注意:Google Play 使用您的应用清单中声明的​​ &lt;uses-library&gt; 元素从不满足其库要求的设备中过滤您的应用。

选项 a)

如果库是意外添加的(您的应用中没有使用它的特定类),请删除元素 &lt;uses-library&gt;

选项 b)

如果库是可选的,请将android:required="false" 添加到&lt;uses-library&gt;。如果某些部分需要此库,您可能需要在代码中添加验证。

选项 c)

如果需要该库,请使用其他设备或创建支持该库的虚拟设备 (AVD)。

【讨论】:

【参考方案14】:

而不是删除

在允许的情况下,只需设置

android:required="true" 为假。

【讨论】:

以上是关于Android 中的 INSTALL_FAILED_MISSING_SHARED_LIBRARY 错误的主要内容,如果未能解决你的问题,请参考以下文章

Android中的Menu

android中的java.lang.OutOfMemoryError,同时从android中的画廊获取图像

android 6中的android webview youtube视频中的全屏模式问题

android权限--android开发中的权限及含义(上)

FrameLayout 中的 'android:foreground' 和 'android:foregroundGravity' 如何影响其外观?

Android - 将参数传递给 Android 应用程序中的 RESTful URL