Actualización de la aplicación del sistema Android, con / sin firma de la plataforma

Tengo una aplicación del sistema que el OEM instala con la imagen del sistema, pero está firmado por mí. Si subo un apk actualizado al mercado, ¿la aplicación del mercado instalará silenciosamente esta actualización automáticamente?

Si mi aplicación de sistema es en su lugar firmado con la firma de la plataforma en lugar de la mía, esto significa que las actualizaciones también tienen que firmar con la firma de la plataforma, ¿correcto? ¿Se puede actualizar una plataforma apk firmada del mercado?

Permite, en primer lugar, aclarar la diferencia entre todos los tipos de aplicaciones.

Las aplicaciones del sistema son aquellas que se encuentran en la carpeta /system/app . Estas aplicaciones tienen una bandera ApplicationInfo.FLAG_SYSTEM conjunto. En un dispositivo ordinario, la partición /system está montado para acceso de sólo lectura. Por lo tanto, una aplicación de sistema no se puede actualizar porque se encuentra en la ubicación de sólo lectura. Estas aplicaciones sólo se pueden actualizar como parte de la actualización OTA.

Las aplicaciones ordinarias se encuentran en la partición / data que es de lectura-escritura. Por lo tanto, estas aplicaciones pueden ser actualizadas por un sistema.

Ahora vamos a hablar de firmas. Algunos componentes de Android están protegidos con permisos de tipo de firma. Esto significa que si desea tener acceso a un componente protegido con este tipo de permiso, su aplicación debe estar firmada con el mismo certificado que un componente protegido. Esto es cierto no sólo para el sistema Android, sino también para las aplicaciones de Android, es decir, en su aplicación puede tener un componente que está protegido con un permiso de firma, por lo tanto, sólo las aplicaciones que tienen la misma firma tendrá acceso a este componente.

La tercera tesis que necesitamos para responder a su pregunta es que Android prohíbe la instalación de los paquetes que tienen el mismo nombre de paquete pero diferentes firmas.

Así,

Tengo una aplicación del sistema que el OEM instala con la imagen del sistema, pero está firmado por mí. Si subo un apk actualizado al mercado, ¿la aplicación del mercado instalará silenciosamente esta actualización automáticamente?

Si mi aplicación de sistema es en su lugar firmado con la firma de la plataforma en lugar de la mía, esto significa que las actualizaciones también tienen que firmar con la firma de la plataforma, ¿correcto? ¿Se puede actualizar una plataforma apk firmada del mercado?

La respuesta es no. Aunque las aplicaciones que se encuentran en / system / app se pueden firmar con un certificado que difiere de la plataforma uno, la actualización de estas aplicaciones sólo es posible con la actualización del sistema.

Para resolver su problema, puede cambiar el nombre de paquete de su aplicación, firmar con su (si la aplicación no requiere tener acceso a componentes Android protegidos) o plataforma (si la aplicación debe tener acceso a componentes protegidos y si tiene acceso a Esta firma) y poner esta aplicación en el mercado. A continuación, recibirá las actualizaciones de su aplicación en el mercado.

El sistema no tratará un apk en / data / app como una actualización a menos que el signatur coincida con el de / system / ap

  • Permiso de Android denegado al leer / proc / self / exe de un hilo no principal
  • No se puede mostrar la barra del sistema Android después de ocultar
  • Android: cómo montar el sistema de archivos en RW desde mi APK? (Arraigado, por supuesto)
  • Lista de llamadas del sistema Linux de Linux
  • Android: Crear nuevo permiso del sistema a través del código fuente de AOSP.
  • Un comando de terminal para un Android enraizado para volver a montar / Sistema como lectura / escritura
  • Actualizar el proveedor de Android.
  • Obtención de todos los fondos de pantalla del sistema
  • No se puede aplicar el brillo de la pantalla del sistema mediante programación en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.