问题复现:在使用android studio,运行老项目,给真机安装调试的时候。
The application could not be iinstalled :INSTALL_FAILED_CONFLICTING_PROVIDER
意思就是:应用安装失败:安装失败是因为Provider冲突(就是你要安装的apk里面存在一个和真机上相同authorities的provider)
安装失败:provider冲突
图示一:
直入主题:解决办法
查看项目AndroidManifest.xml文件里面的provider。点击这里可以查看所有的provider
图示二:
图示三:
1所示就是冲突的authorities.2所示是自定义xml目录下的provider存储路径。(属于四大组件的ContentProvider知识),复制1内容
打开cmd,或者使用android Studio自带的命令行工具。输入adb命令:
adb shell dumpsys package providers > C:\Users\TY\Desktop\abc.txt
这是一句找出真机里面所有provider的命令。后面的:C:\Users\TY\Desktop\abc.txt是桌面路径,自己新创建一个abc.txt用于生成文本文件
执行完命令后,打开桌面的abc.txt,然后在文本文件里面,找到刚刚复制的冲突的authorities内容。
从而在文本中找到冲突的包名,卸载这个包名的apk。就能安装调试的apk了
完美解决。熟悉的话不用那么麻烦。一眨眼的事情。