La instalación muestra un error en la consola: INSTALAR PROVEEDOR CONFLICTIVO FALLIDO

Estoy experimentando con el progtwig de ejemplo NotesList en el SDK de Android. He hecho una pequeña variación en el progtwig, pero cuando instalo mi versión editada, sigo recibiendo el mensaje INSTALL_FAILED_CONFLICTING_PROVIDER en la consola cuando bash instalarlo cuando el progtwig de notas original ya está en el dispositivo. ¿Qué debo cambiar en el proveedor para que sea una base de datos única? Funciona bien si desinstalo el progtwig original de notas y luego instalo mi versión editada.

La autoridad, tal como figura en android:authorities deben ser únicas. Citando la documentación para este atributo :

Para evitar conflictos, los nombres de autoridad deben usar una convención de nomenclatura de estilo Java (como com.example.provider.cartoonprovider). Normalmente, es el nombre de la subclase ContentProvider que implementa el proveedor

Si tiene diferentes sabores y desea evitar colisiones en el nombre de la autoridad, puede agregar una applicationIdSuffix para comstackr tipos y usar la applicationId resultante en su manifiesto, así:

 <... android:authorities="${applicationId}.contentprovider"/> 

Si está utilizando Google Maps + Google Play Services dentro de un proyecto de biblioteca (especialmente si ha migrado recientemente de Eclipse a Android Studio), puede encontrar este error cuando intente ejecutar una aplicación que use su biblioteca, mientras que otra aplicación que use la misma biblioteca ya está instalada en su dispositivo.

Solución: asegúrese de que defaultConfig.applicationId esté definido en la sección de build.gradle archivo build.gradle para cada proyecto que use su biblioteca

 android { defaultConfig.applicationId = "com.company.appname" } 

Yo recomendaría usar el nombre del paquete de la aplicación específica. Con esta solución, los nombres de proveedores ya no entrarán en conflicto y su aplicación se ejecutará como se espera.

Síntomas

1.) Tus usuarios están viendo el temido error de instalación “-505” al instalar tu aplicación desde Play Store.

2.) Verá este mensaje de error cuando intente instalar una segunda aplicación que usa su biblioteca a través de Android Studio [INSTALL_FAILED_CONFLICTING_PROVIDER]:

Proveedor conflictivo

En su consola, verá un mensaje como este:

 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 

La solución es asegurarse de que defaultConfig.applicationId esté definido en la sección de build.gradle archivo build.gradle para cada proyecto que use su biblioteca

 android { defaultConfig.applicationId = "com.company.appname" } 

Se puede encontrar más información aquí en el informe de error original: Problema 784: varias aplicaciones que usan el mismo nombre de proveedor de autoridad

Esto también puede ocurrir cuando tiene una versión anterior de su aplicación instalada y realiza cambios en la biblioteca (de soporte) o en el archivo de manifiesto. Eliminar las aplicaciones antiguas de su dispositivo ( Settings --> Application --> --> Uninstall ) resolverá el problema.

Si está utilizando el SDK de Facebook, entonces el problema puede estar en el valor de “autoridades” que usted proporciona para el proveedor de Facebook.

REEMPLAZAR –

  

CON ->

  

Es posible que necesite cambiar el defaultConfig.ApplicationId también como se sugiere en otras respuestas.

El mismo error puede ocurrir después de cambiar el nombre de los paquetes. Compruebe el valor en string.xml para android:authorities de AndroidManifest.xml.

  

En string.xml, el valor debe ser el mismo que su nombre de paquete, declarado en manifiesto.

 com.whatever.android.sunshine.app 

El nombre de Autoridad + Proveedor que ha declarado en el manifiesto probablemente

Básicamente esto sucedió conmigo, cuando traté de cambiar el nombre del paquete de la aplicación.

Entonces, en el emulador, la misma aplicación se instaló antes. Cuando intenté instalar la aplicación después de cambiar el nombre del paquete, decía, la autoridad ya estaba siendo utilizada por una aplicación anterior en el dispositivo.

Simplemente después de desinstalar la aplicación, resolvió mi problema.

Además, el nombre de la Autoridad siempre debe ser: your.package.name.UNIQUENAME ;

ejemplo:

   

Si está utilizando Facebook dentro de la aplicación, compruebe la etiqueta de proveedor dentro del archivo AndroidManifest y compruebe que su project Id sea ​​correcto para android:authorities

  

He intentado muchas soluciones pero no he podido encontrar una solución … pero este enlace me ayudó … Quiero dar detalles sobre el problema …

Estaba ejecutando casos de prueba instrumentados para que mi aplicación no estuviera visible en el iniciador … pero se instaló y, por lo tanto, usé Same Content Provider . Entonces, debería desinstalarlo de alguna manera. Entonces Settings -> Application Manager -> All Downloaded Apps -> uninstall all apps from your current development package

Ahora, intenta correr … Esto funcionará …

instalar utilizando adb con el comando ./adb install -r abc.apk resolverá el problema (se sobrescribirá incluso cuando el dispositivo tenga una versión de aplicación más alta)

Tuve un problema similar cuando utilicé una biblioteca en varias aplicaciones. Fue necesario simplemente actualizar su AndroidManifest.xml con esta statement exacta del proveedor a continuación.

       

En mi dispositivo Android tenía diferentes sabores de la misma instalación de la aplicación . Esto me da un error INSTALAR PROVEEDOR EN CONFLICTO FALLIDO . entonces desinstalo todos mis sabores de la misma aplicación. y probado

adb install -r /Users/demo-debug-92acfc5.apk

Solucionó mi problema.

Encontrado este problema.

Resuelto por:

1 – abra AndroidManifest.xml

2 – ctrl + f encuentra “proveedor”

3 – encuentre el proveedor y actualice su nombre de directorio raíz allí.

ejecutar proyecto. ¡con suerte la edición será arreglada!

Pensé que desinstalar la aplicación arrastrando su ícono a “Desinstalar” resolvería el problema, pero no fue así.

Aquí está lo que resolvió el problema:

  1. Ir a la configuración
  2. Elige aplicaciones
  3. Encuentra tu aplicación (sí, me sorprendió que todavía la encuentres aquí) y presiónala
  4. En la esquina superior derecha, presiona los 3 puntos
  5. Seleccione ” Desinstalar para todos los usuarios

Inténtalo de nuevo, debería funcionar ahora.