La instalación muestra un error en la consola: INSTALAR EL PROVEEDOR EN CONFLICTO ERROR
Estoy experimentando con el programa de muestra NotesList en el SDK de Android. Hice una ligera variación en el programa, pero cuando instalo mi versión editada sigo recibiendo el mensaje INSTALL_FAILED_CONFLICTING_PROVIDER en la consola cuando intento instalarlo cuando el programa de notas original ya está en el dispositivo. ¿Qué necesito cambiar en el Proveedor para que sea una base de datos única? Funciona bien si desinstalo el programa de notas original y luego instalo mi versión editada.
La autoridad, tal como se enumera en, android:authorities
debe ser única. Citando la documentación para este atributo :
Para evitar conflictos, los nombres de las autoridades deben utilizar una convención de nomenclatura estilo Java (como com.example.provider.cartoonprovider). Normalmente, es el nombre de la subclase ContentProvider que implementa el proveedor.
Si tiene diferentes tipos y desea evitar colisiones en el nombre de la autoridad, puede agregar un applicationIdSuffix
tipo de compilación y usar el resultado applicationId
en su manifiesto, así:
<...
android:authorities="${applicationId}.contentprovider"/>
Esto también puede suceder cuando tiene instalada una versión anterior de su aplicación y realizó cambios en la biblioteca (de soporte) o en el archivo de manifiesto. Entonces , eliminar las aplicaciones antiguas de su dispositivo ( Settings --> Application --> <your application> --> Uninstall
) resolverá el problema.
Si está utilizando el SDK de Facebook, el problema podría estar en el valor de "autoridades" que proporciona al proveedor de Facebook.
REEMPLAZAR -
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider"
android:exported="true" />
CON ->
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.FacebookContentProvider[YOUR_APP_ID]"
android:exported="true" />
Es posible que deba cambiar defaultConfig.ApplicationId
también como se sugiere en otras respuestas.