我正在使用Android SDK中的NotesList示例程序进行试验。我在程序中做了轻微的更改,但是当我安装我的编辑版本时,当我尝试在设备上已经安装原始notes程序时,我在控制台中一直得到消息INSTALL_FAILED_CONFLICTING_PROVIDER。我需要在提供者中更改什么以使其成为唯一的数据库?如果我卸载原来的notes程序,然后安装我编辑过的版本,它就可以正常工作。
当前回答
您可以卸载名称为“com”的软件包。在你运行应用程序之后,你在其中运行应用程序的设备。这对我很有效
其他回答
在我的android设备上,我安装了不同版本的同一款应用。这给了我错误安装失败冲突提供者。 所以我卸载了同一款应用的所有版本。 和尝试
adb install -r /Users/demo-debug-92acfc5.apk
它解决了我的问题。
重命名包后可能会出现相同的错误。从AndroidManifest.xml中检查android:权威的string.xml中的值。
<provider
android:authorities="@string/content_authority"
android:name=".data.Provider"
... />
在string.xml中,该值应该与manifest中声明的包名相同。
<string name="content_authority">com.whatever.android.sunshine.app</string>
遇到这个问题。
解决方法:
1 -打开AndroidManifest.xml
2 - ctrl+f查找“provider”
3 -找到提供者并更新你的根目录名。
运行项目。希望问题会得到解决!
我本以为通过拖拽图标到“卸载”来卸载应用程序就能解决问题,但事实并非如此。
下面是解决问题的方法:
进入设置 选择应用程序 找到你的应用(是的,我很惊讶仍然在这里找到它!)并按下它 在右上角,按下3个点 选择“卸载所有用户”
再试一次,现在应该可以工作了。
就像@Jose L Ugia所说的那样,让当局做出改变。
(您可以在清单中找到提供者(合并清单))
大多数情况下,它会连接到你实现的SDK,所以删除SDK实现行并同步Gradle,然后再次添加实现行并同步Gradle。
实施路线: 实现文件(<您的SDK>)
提供者代码:(你必须在merge-manifest中向下滚动才能找到它)
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件