我正在使用Android SDK中的NotesList示例程序进行试验。我在程序中做了轻微的更改,但是当我安装我的编辑版本时,当我尝试在设备上已经安装原始notes程序时,我在控制台中一直得到消息INSTALL_FAILED_CONFLICTING_PROVIDER。我需要在提供者中更改什么以使其成为唯一的数据库?如果我卸载原来的notes程序,然后安装我编辑过的版本,它就可以正常工作。
当前回答
如果您正在使用Facebook SDK,那么问题可能在于您为Facebook提供商提供的“权限”值。
取代,
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider"
android:exported="true" />
与- - - >
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider[YOUR_APP_ID]"
android:exported="true" />
您可能需要更改defaultConfig。ApplicationId也在其他答案中建议。
其他回答
如果您在库项目中使用谷歌Maps +谷歌Play Services(特别是如果您最近从Eclipse迁移到Android Studio),当您尝试运行使用您的库的应用程序时,您可能会遇到此错误,而使用相同库的不同应用程序已经安装在您的设备上。
解决办法: 确保defaultConfig。applicationId是在构建的android部分定义的。Gradle文件为每个项目使用您的库
android {
defaultConfig.applicationId = "com.company.appname"
}
我建议使用特定应用程序的包名。有了这个修复,提供者名称将不再冲突,应用程序将按预期运行。
症状
1)。当用户从Play Store安装应用程序时,他们会看到可怕的“-505”安装错误。
2)。当你试图通过Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER]安装第二个使用你的库的应用程序时,你会看到这个错误消息:
在你的控制台中,你会看到这样一条消息:
Package couldn't be installed in /data/app/com.company.appname-1
com.android.server.pm.PackageManagerException:
Can't install because provider name
com.google.android.gms.measurement.google_measurement_service
(in package com.company.appname) is already used by
com.company.otherInstalledAppName
修复方法是确保defaultConfig. conf。applicationId是在构建的android部分定义的。Gradle文件为每个项目使用您的库
android {
defaultConfig.applicationId = "com.company.appname"
}
更多的阅读可以在原始错误报告中找到:问题784:多个应用程序使用相同的授权提供者名称
使用adb命令安装。/adb Install -r abc.apk可以解决这个问题(即使设备的app版本更高,它也会被覆盖)
当你安装了旧版本的应用程序并对(支持)库或清单文件进行了更改时,也会发生这种情况。删除旧的应用程序从您的设备(设置->应用程序-> <您的应用程序> ->卸载)将解决这个问题。
解决方案1
在物理设备而不是模拟器上运行应用程序。我遇到了这个问题,我的应用程序没有定义一个内容提供者。
解决方案2
在另一个实例中,我有一个测试应用程序安装匹配相同的applicationId。
为了解决这个问题,我必须运行。/gradlew uA - uA是uninstallAll task的缩写。
你也可以使用Gradle面板,选择导航到app\install\uninstallAll任务
如果使用模拟器,则可以擦除数据
如果你正在使用受众网络内容提供者,你需要在你的应用程序AndroidManifest.xml中添加这段代码
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider165632208074623"
android:exported="true" />
你的Facebook应用id是> 165632208074623
推荐文章
- 警告: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文件