Firma de solicitud con varios certificados

Desde la documentación de firma en https://developer.android.com/studio/publish/index.html :

Cuando el sistema está instalando una actualización en una aplicación, si alguno de los certificados de la nueva versión coincide con alguno de los certificados de la versión anterior, el sistema permite la actualización.

Esto indica que se puede firmar una aplicación con varios certificados.

Esta es una opción interesante para permitir que varias entidades firmen una aplicación. Por ejemplo: Una aplicación del sistema que fue inicialmente firmada por el fabricante del dispositivo. El desarrollador podría firmar más actualizaciones.

¿Estoy interpretando mal la documentación o es realmente posible? ¿Si es así, cómo?

¿Hay alguna otra forma para que una aplicación apoye certificados diferentes y con eso, tener dos o más entidades firmarlo?

Puede firmar apks con certificados diferentes si utiliza un alias diferente en el proceso de firma.

Esto creará diferentes archivos dentro de la carpeta META-INF. No sé cuáles son las implicaciones para el proceso de actualización dentro del mercado de Android.

He encontrado una solución para esto, no tan bonito, pero una solución, sin embargo.

Un fichero apk firmado consta de:

  • Archivos firmados con un certificado determinado
  • Una carpeta META-INF con la clave de certificado público

Para tener un apk con varios certificados:

  • Cada parte firma el apk
  • El contenido de META-INF de cada apk se recoge
  • Se crea un nuevo apk (esto es sólo un archivo zip) y la carpeta META-INF contiene todos los certificados

Esto permitirá a cualquiera de los firmantes actualizar el apk.

Una nota, no hay posibilidad de agregar certificados en una actualización.

  • Java Keystore contraseña sin sentido?
  • Usando una contraseña de keystore vacía solía ser posible?
  • Keytool genera hash de clave de 32 caracteres en vez de 28
  • Android Marketplace: ¿Los detalles (nombre, etc) en el almacén de claves son visibles para el usuario?
  • JDK 7 cambia la salida de keytool
  • Encuentra el hash clave para una aplicación firmada
  • Google Maps no se muestra en android en modo de publicación
  • Keytool no pide contraseña (usando Facebook lib con android)
  • No puedo encontrar el keytool de Android
  • Keytool Alias ​​no tiene clave
  • ¿Por qué la huella digital es diferente en mi apk recién firmado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.