Seleccione al menos una de las versiones de firma para usar en Android Studio 2.3
Ahora, mientras genera un APK firmado en Android Studio, muestra dos opciones (CheckBox), a saber, 1. V1 (Jar Signature)
y 2. V2 (Full APK Signature)
como versiones de firma en el último paso del proceso de generación de APK firmado.
Entonces, ¿cuál es la diferencia entre V1 (Jar Signature) y V2 (Full APK Signature) en la nueva actualización de Android Studio?
¿Y qué debo usar (o ambos) para firmar apk para el lanzamiento de Play Store?
Además, recibo el error Instalar Parse no falló sin certificados al instalar APK cuando uso la segunda opción.
¿Debo usar (o ambos) para firmar apk para el lanzamiento de Play Store? Una respuesta es SÍ .
Según https://source.android.com/security/apksigning/v2.html#verification :
Traté de generar compilación con la opción de comprobación V2 (Firma Apk completa) . Luego, cuando traté de instalar una versión de lanzamiento en un dispositivo inferior a 7.0 y no puedo instalarla en el dispositivo.
Después de eso intenté compilar marcando la casilla de verificación de ambas versiones y generar la compilación de lanzamiento. Luego puede instalar build.
fuente
Está escrito aquí que "De forma predeterminada, Android Studio 2.2 y el complemento de Android para Gradle 2.2 firman su aplicación utilizando el APK Signature Scheme v2 y el esquema de firma tradicional, que utiliza la firma JAR".
Como parece que estas nuevas casillas de verificación aparecieron con Android 2.3, entiendo que mis versiones anteriores de Android Studio (al menos la 2.2) firmaron con ambas firmas. Entonces, para continuar como lo hice antes, creo que es mejor marcar ambas casillas de verificación.
EDITAR 31 de marzo de 2017: se presentaron varias aplicaciones con ambas firmas => no hay problema :)
fuente
Creo que esto representa una buena respuesta.
Verificación de APK Signature Scheme v2
APK Signing Block
y verifique que:APK Signing Block
contienen el mismo valor.ZIP Central Directory
es seguido inmediatamente por elZIP End of Central Directory
registro.ZIP End of Central Directory
no es seguido por más datos.APK Signature Scheme v2 Block
dentro delAPK Signing Block
. Si el Bloque v2 está presente, continúe con el paso 3. De lo contrario, vuelva a verificar el APK utilizando el esquema v1.APK Signature Scheme v2 Block
:SubjectPublicKeyInfo
el primer certificado de certificados sea idéntico a la clave pública.Nota: APK no debe verificarse usando el esquema v1 si ocurre una falla en el paso 3 o 4.
Verificación de APK firmada por JAR (esquema v1)
El APK firmado con JAR es un JAR firmado estándar, que debe contener exactamente las entradas enumeradas
META-INF/MANIFEST.MF
y donde todas las entradas deben estar firmadas por el mismo conjunto de firmantes. Su integridad se verifica de la siguiente manera:META-INF/<signer>.SF
yMETA-INF/<signer>.(RSA|DSA|EC)
la entrada JAR.<signer>.(RSA|DSA|EC)
es unaPKCS #7 CMS ContentInfo
estructura con SignedData cuya firma se verifica sobre el<signer>.SF
archivo.<signer>.SF
El archivo contiene un resumen de todo el archivo de losMETA-INF/MANIFEST.MF
resúmenes y de cada sección deMETA-INF/MANIFEST.MF
. SeMANIFEST.MF
verifica el resumen de todo el archivo . Si eso falla,MANIFEST.MF
se verifica el resumen de cada sección.META-INF/MANIFEST.MF
contiene, para cada entrada JAR protegida con integridad, una sección con el nombre correspondiente que contiene el resumen de los contenidos sin comprimir de la entrada. Todos estos resúmenes se verifican.MANIFEST.MF
y no son parte de la firma JAR. La cadena de protección es, por lo tanto,<signer>.(RSA|DSA|EC)
→<signer>.SF
→MANIFEST.MF
→ el contenido de cada entrada JAR protegida con integridad.fuente
De acuerdo con este enlace: ayuda de la firma
APK Signature Scheme v2 ofrece:
Se recomienda utilizar APK Signature Scheme v2, pero no es obligatorio .
fuente