Para poder crear el archivo .apk correspondiente a una aplicación Android, es necesario que este archivo vaya firmado digitalmente. Esta firma digital o certificado de clave pública tiene una clave pública con un par de claves públicas y privadas que identifican al autor de la aplicación de forma inequívoca, sirviendo como huella digital por ejemplo para verificar que las actualizaciones de la aplicación son realizadas por el autor inicial de la app. Hay que tener en cuenta que las aplicaciones desarrolladas por la misma persona es recomendable que vayan firmadas por el mismo certificado, ya que así Android reconoce como un mismo desarrollador y se obtienen determinados beneficios (actualizaciones, ejecución en el mismo proceso, ejecución de permisos y comparticiones de datos)

Por defecto, cuando se depura un proyecto con Android Studio, se crea automáticamente un keystore y un certificado en la ruta $HOME/.android/debug.keystore. Debido a que este certificado es «provisional», no puede ser utilizado para publicar la aplicación, por lo que hay que generar uno individual.

Firmar la aplicación desde Android Studio

Para poder firmar la aplicación desde Android Studio se debe realizar desde el menú situado en Buid –> Genérate Signed Apk. Este menú pedirá la siguiente información:

  • Módulo que se quiere firmar: normalmente se selecciona el existente ya que es la propia app.
  • Datos sobre el keystore
    • path: ubicación donde se guardará el keystore.
    • pass: contraseña para generar el keystore.
  • Satos sobre la key
    • Alias: nombre de identificación asociado a la key.
    • pass: contraseña para la clave. Debe ser diferente a la del keystore
    • Validity: validad en años de la clave. El valor al menos debe ser de 25 años, tiempo por el cual se podrán generar actualizaciones con autoría
    • Certificate: información adicional sobre la organización que firma la aplicación. No se mostrará en la aplicación pero se anexa como metadatos en el apk
  • Indicar datos sobre el tipo de versión, número, ubicación del apk y pulsar ok para firmar la aplicación. en el caso de no querer firmar la aplicación y solo generar el keystore y key pulsar cancelar