Firma de app

Generación de llave

keytool

keytool -keystore /tmp/app.keystore -genkey -keyalg RSA -keysize 2048 -dname "CN=app-cn, OU=app-ou, O=app-o, L=app-l, ST=app-st, C=app-c" -validity 180 -alias app-keystore

Firmado de app

jarsigner

jarsigner -keystore /tmp/app.keystore app-compiled.apk app-keystore

apksigner

# Creación de archivo con contraseña
echo "<password>" > password.txt

# Firmado de app
apksigner sign --ks /tmp/app.keystore --ks-pass file:password.txt --v1-signing-enabled true --v2-signing-enabled true app-compiled.apk

Optimización de APK

zipalign

Importante: se debe usar zipalign en uno de los dos puntos específicos del proceso de compilación de apps, según la herramienta de firma de apps que se utilice.

  • Si usas apksigner, zipalign solo debe realizarse antes de que se firme el archivo APK. Si firmas tu APK con un apksigner y realizas más cambios en el APK, tu firma se invalida.

  • Si usas jarsigner, zipalign solo debe realizarse después de que firme el archivo APK.

zipalign -p -f -v 4 app-compiled.apk app-aligned.apk
  • -p =alineación de páginas de memoria para archivos de objetos compartidos.

  • -f = Sobrescribe archivo de output (app-aligned.apk).

  • -v = modo verboso.

  • 4 = 4 bytes para sistemas de 32 y 64 bits.

Confirmación de alineación de app-aligned.apk.

zipalign -c -v 4 app-aligned.apk

Última actualización