应用程式拒绝安装-INSTALL_FAILED_MISSING_SHARED_LIBRARY

时间:2019-09-28 16:35:26

标签: android-studio mpandroidchart android-install-apk

我通常是编程新手,请我帮忙! 每次更新后,我的应用程序安装成功,直到我决定将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的现有版本(如果存在),然后重新安装。”我在此处粘贴了屏幕截图:

The Error message:

我卸载了现有版本的apk,清除了一些内存空间,但继续收到相同的消息!接下来我该怎么办?

2 个答案:

答案 0 :(得分:2)

您最有可能安装在非Android Things设备上的设备上。我怀疑您添加的库要么对com.google.android.things有传递依赖,要么在项目中进行了其他更改。

要解决此问题,您必须执行以下两项操作:

1。。在AndroidManifest.xml文件中标记设备上不需要Android Things:

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

(并非严格要求{tools:replace,但这只是在清单合并过程中的某些内容覆盖您的设置的情况下。)

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

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

仅执行 1 应该可以解决安装问题,但是如果您在不是Android Things设备的设备上进行任何Things API调用,您的应用就会崩溃。

答案 1 :(得分:1)

com.github.PhilJay:MPAndroidChart:v3.1.0-alpha repository中进行了浏览,在源代码中未找到对com.google.android.things的引用。

如果您在应用程序的AndroidManifest.xml中找到了以下条目,则需要将其删除,以使它再次在设备上运行:

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