应用拒绝安装 - INSTALL_FAILED_MISSING_SHARED_LIBRARY

App Refuses to Install - INSTALL_FAILED_MISSING_SHARED_LIBRARY

我是编程新手,请帮帮我! 我的应用程序在每次更新后都安装成功,直到我决定将 'com.github.PhilJay:MPAndroidChart:v3.1.0-alpha' 库添加到应用程序,因为我需要用户能够以统计图表的形式查看一些数据。

库已成功同步并使用了包,类其中成功。但是当我尝试在我的 android 设备上安装应用程序时,它返回了这个错误:

Installation failed with message Failed to commit install session 590492354 with command cmd package
install-commit 590492354. Error: INSTALL_FAILED_MISSING_SHARED_LIBRARY: Package couldn't be installed in
/data/app/com.cenitscitech.www.etimebook-jOP-jv2YuNu7_8qnkfqp-A==: Package com.cenitscitech.www.etimebook requires unavailable shared library com.google.android.things; failing!.

这个问题可能是通过卸载现有版本的 apk(如果存在)然后重新安装来解决的。”我已在此处粘贴了屏幕截图:

我卸载了现有版本的 apk,清除了一些内存 space 但仍然收到相同的消息!请问接下来我该怎么做?

查看 com.github.PhilJay:MPAndroidChart:v3.1.0-alpha repository 并没有在源代码中找到任何对 com.google.android.things 的引用。

如果在您的应用的 AndroidManifest.xml 中找到它,您需要删除以下条目才能再次在您的设备上运行:

<uses-library android:name="com.google.android.things" />

您很可能在不是 Android Things 设备的设备上安装。我怀疑您添加的库对 com.google.android.things 有一些传递依赖性,或者您的项目中发生了其他更改。

要解决这个问题,您必须做以下两件事:

1. 在您的 AndroidManifest.xml 文件中标记 Android 设备上不需要的东西:

<uses-library
   android:name="com.google.android.things"
   android:required="false"
   tools:replace="android:required" />

tools:replace 不是严格要求的,但它只是为了防止清单合并过程中的某些内容覆盖您的设置。)

2. 在您的应用代码中,在对 Things API 进行任何调用之前,请确保它们在当前设备上可用。这可以使用以下代码片段进行测试:

public boolean isThingsDevice(Context context) {
    final PackageManager pm = context.getPackageManager();
    return pm.hasSystemFeature(PackageManager.FEATURE_EMBEDDED);
}

仅执行 1 应该可以解决安装问题,但如果您在非 Android物联网设备。