¿Cómo usar la misma autoridad de ContentProvider en las versiones gratuitas y de pago de la aplicación?

Comencé a usar Android Library Projects para consolidar mi código de versión pagado y gratuito.

Me he encontrado con un problema con mi ContentProvider. Dado que ContentProvider se define en la clase de biblioteca, ambas aplicaciones utilizan la misma autoridad. Esto significa que Android impide que la segunda aplicación (en cualquier orden) se instale debido a un error de INSTALL_FAILED_CONFLICTING_PROVIDER.

05-22 11:14:40.563: WARN/PackageManager(102): Can't install because provider name com.cfms.android.podcast (in package com.cfms.android.podcastlite) is already used by com.cfms.android.podcastpaid 05-22 11:14:40.563: WARN/PackageManager(102): Package couldn't be installed in /data/app/com.cfms.android.podcastlite-2.apk 

¿Cómo puedo lidiar con este problema? Idealmente, quisiera que las autoridades fueran iguales para cada versión de la aplicación, así que no tengo que poner un manojo de excepciones en la biblioteca común del código. Si eso no es posible, ¿cómo debo seguir adelante?

Simplemente no es posible tener dos aplicaciones en el mismo dispositivo con diferentes proveedores que utilizan la misma autoridad.

http://hustleplay.wordpress.com/2010/02/28/android-install_failed_conflicting_provider/

Android duplicar autoridad de proveedor .

Crearía un recurso de cadena diferente en cada aplicación, que luego se pasa a la biblioteca para crear el proveedor con la autoridad adecuada.

¿Podría usted intentar algo como esto?

http://ncsoftworks.com/forums/discussion/6/sharedpreferences-between-applications

También no es la autoridad de un proveedor de contenido sólo un nombre privado de la carpeta incrustada linux? ¿Y no es un proveedor de contenido sólo un archivo de base de datos SQLite dentro de esa carpeta privada?

¿Y no podemos compartir la misma carpeta entre aplicaciones, siempre y cuando se firmen ambas aplicaciones con la misma clave y el mismo nombre de paquete de aplicación creando así un ID de usuario compartido?

En cualquier caso, sólo estoy pensando en voz alta en este punto. Voy a tener que experimentar con esto. Estoy publicando esto para ahorrarme un poco de tiempo en caso de que alguien encuentre la falla en mis suposiciones (antes de que tenga tiempo para hacer el experimento).

Nota: He dicho el nombre del paquete de aplicación, no el nombre del paquete de actividad. Según lo entiendo, las aplicaciones de Android suelen contener dos nombres de paquetes (aunque el asistente del nuevo proyecto Eclipse normalmente etiqueta ambos paquetes con el mismo nombre, creando así la impresión de que sólo hay un nombre de paquete)

  • La aplicación no se muestra en las listas de aplicaciones recientes
  • La lista de menús sale de la pantalla cuando anyDensity = "false"
  • No se puede convertir la cadena '@ bool / some_key' a la clase de destino 'boolean'
  • El manifiesto de Android utiliza permisos contra las especificaciones de dispositivos Android
  • Android - "El receptor exportado no requiere permiso" en receptores destinados a recibir de los servicios del sistema
  • Enganchar en el menú de contactos de Android
  • Diferencia entre usos-permiso
  • Dos actividades principales en AndroidManifest.xml
  • Android studio Actividad predeterminada no encontrada
  • Evite codificar el modo de depuración; Advertencia en el manifiesto de Android
  • ¿Cómo comprobar mediante programación la disponibilidad de la conexión a Internet en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.