我通常是编程新手,请我帮忙! 每次更新后,我的应用程序安装成功,直到我决定将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,清除了一些内存空间,但继续收到相同的消息!接下来我该怎么办?
答案 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" />