INSTALL_FAILED_SHARED_USER_INCOMPATIBLE mientras utilizaba el ID de usuario compartido

Estoy trabajando en la aplicación de Android que compartirá la base de datos. Para eso uso android:sharedUserId en el android:sharedUserId de manifiesto de ambas aplicaciones. Cuando bash ejecutar la aplicación después de agregar ese sharedUserId, me muestra los siguientes errores en la consola.

 [2013-03-04 19:37:32 - MainActivity] Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE [2013-03-04 19:37:32 - MainActivity] Please check logcat output for more details. [2013-03-04 19:37:32 - MainActivity] Launch canceled! 

Porfavor ayudame a resolver este problema.

Seguí estos pasos:

  1. Se eliminó la aplicación existente (si ya está instalada)
  2. Se ha eliminado el ID de usuario compartido del manifiesto de Android
  3. Bulid la aplicación.
  4. Ahora ingrese compartir ID de usuario nuevamente
  5. construir la aplicación 1 vez más

En mi caso, las dos aplicaciones fueron firmadas con diferentes firmas. Usar la misma firma soluciona mi problema

Esto significa que algo sobre su aplicación no se desinstaló correctamente. Estos pasos ayudan a forzar la desinstalación de los comandos internos:

  1. Conecte su teléfono a la PC con usb
  2. Desde tu lanzamiento de shell:
  $ adb shell shell@android:/ $ su shell@android:/ # pm list packages | grep  package:com.android.providers.applications package:com.android.providers.calendar package:com.android.providers.contacts package:com.android.providers.downloads ... shell@android:/ # pm uninstall  shell@android:/ # exit shell@android:/ $ exit $ 

Básicamente, inicie sesión en el shell de Android, conviértase en superusuario, encuentre paquetes problemáticos y desinstálelo.

En mi caso, tenía dos variantes de comstackción (una específica para un dispositivo y otra general).

Estaba ejecutando la comstackción específica del dispositivo en un emulador cuando apareció este error.

Aunque hayas aceptado la respuesta, también quiero hablar sobre mi situación, que encontré este error. Mi proyecto es un Iniciador que acaba de usar alguna concesión de sistema como, Manifest.xml tiene dos elementos:

  or  

y la consola se desconectan:

 Error using StatusBarManagerService - java.lang.SecurityException on android.permission.STATUS_BAR 

Por último, mi colega me dio una pista usando la “clave de depuración de la plataforma”, no estoy seguro de que esto sea adecuado para usted, pero para la posibilidad de otro tipo para esta amable pregunta. La imagen de abajo es mi solución: captura de pantalla de la estructura del proyecto, también puede observar “Configuración de firma” de “Sabores” y “Tipos de comstackción”, puede elegir “Nombre:” de “Firmar”.

Hice un enfoque ligeramente diferente.

Mi trabajo implica usar un sistema operativo Android modificado junto con una herramienta adb modificada. La aplicación (app1) en la que estoy trabajando “comparte un usuario” con otra aplicación (app2) de otro equipo. Para poder hacer funcionar el depurador de Android Studio, tuve que seguir estos pasos en orden:

  1. usa Build (desde el menú de Android Studio) -> Generate APK Firmado
  2. comstackr una versión de depuración de apk (app1) con la información de almacenamiento de claves utilizada por (app1 y app2)
  3. use adb para desinstalar el apk anterior
  4. use adb para instalar el debug-apk firmado
  5. use adb para iniciar la aplicación en modo de depuración
  6. conecta el depurador de Android Studio a la aplicación