Si habéis seguido el tutorial hasta aquí, habréis visto cómo nuestras aplicaciones las hemos probado y depurado en la máquina virtual de Android, pero, hasta ahora, no hemos instalado nada en un dispositivo real (salvo que lo hayamos conectado por USB en modo depuración a nuestro PC).

A la hora de instalar una aplicación en un dispositivo real, o si queremos subirla a una tienda de aplicaciones como la Play Store es necesario compilar la aplicación, firmarla y generar el archivo .apk correspondiente. En este nuevo tema del curso de desarrollo Android vamos a ver este proceso paso a paso.

Lo primero que debemos hacer es abrir nuestro proyecto en Android Studio y asegurarnos de que no hay ningún error de código ni de compilación ya que, de lo contrario, no se completará la compilación y no se generarán los binarios correspondientes.

Si todo está correcto (no tenemos nada marcado en rojo en el código) abriremos el menú “Build” de la parte superior de la pantalla y veremos dos opciones:

  • Build APK
  • Generate Signed APK

Desarrollo Android - Generar APK en Android Studio

La primera opción nos va a permitir generar un archivo apk para instalarlo en un dispositivo, pero el archivo no estará firmado, por lo que, por seguridad, no podremos subirlo a la Play Store. La segunda opción nos permitirá generar un archivo de forma (o utilizar uno existente) para firmar digitalmente nuestra aplicación, subirla a la tienda de aplicaciones y garantizar que solo nosotros tenemos control sobre ella y solo nosotros podamos modificarla, subir actualizaciones y demostrar nuestra autoría.

En nuestro caso vamos a seleccionar directamente la segunda opción, la de generar el archivo APK firmado digitalmente. Pulsamos sobre ella y veremos una nueva ventana similar a la siguiente.

Firmar APK en Android Studio

Aquí podemos elegir dos opciones. Si ya tenemos una clave creada anteriormente la cargaremos desde el botón “Choose Existing” e introduciremos el correspondiente nombre, usuario y contraseña para poder utilizarla. Si nunca hemos generado una clave o queremos crear una nueva por diversos motivos, pulsaremos sobre “Create New“.

Se nos abrirá una nueva ventana como la siguiente:

Firmar APK en Android Studio 2

En esta ventana debemos rellenar los siguientes apartados:

  • Key Store Path: Ruta donde guardaremos la clave.
  • Password: Contraseña 1 para nuestra clave.
  • Alias: Nombre que daremos a nuestra clave.
  • Password: Contraseña 2 para nuestra clave.
  • Validity: Tiendo de validez de la clave (en años).
  • First and last name: Nombre y apellidos.
  • Organizational Unit: Nombre de nuestra empresa.
  • Organization: Nuestra empresa (otra vez)
  • City: Ciudad.
  • State: Estado, país.
  • Country Code: Código de nuestro país.

Firmar APK en Android Studio 3

Aceptamos y Android Studio guardará el fichero de la clave en la ruta especificada. Debemos guardar a buen recaudo este archivo ya que sin él perderemos el control sobre nuestra aplicación y no podremos actualizarla más adelante. Una copia de seguridad en un USB y en la nube (cifrada, para evitar robos) es la mejor opción.

Una vez hecho esto, Android Studio cargará automáticamente nuestra clave generada y nos permitirá seguir con la generación del apk.

Firmar APK en Android Studio 4

Pulsamos “Next” y en el siguiente paso nos preguntará la ruta donde guardará el APK y el tipo de compilación que va a ser (release para publicar o debug para probar y depurar).

Firmar APK en Android Studio 5

Pulsamos sobre Finish y listo. Android Studio compilará nuestra aplicación y la guardará en la ruta especificada. Una vez finalice el proceso veremos un aviso en el IDE que no indica que todas las tareas se han realizado correctamente.

APK Generado en Android Studio

Si nos vamos a la ruta especificada podremos ver cómo ya tenemos nuestro archivo APK generado.

Fichero APK generado por Android Studio

Lo único que nos queda por hacer es copiar el archivo al smartphone o tablet donde lo vamos a instalar o subirlo a la tienda de aplicaciones de Google, según lo que queramos hacer con nuestra aplicación.