Cómo generar APK con Xamarin


Luego de que hayas creado tu aplicación en Xamarin necesitas probar la app en distintos dispositivos o publicarla en el Play Store, sin embargo, para generar el apk debe estar firmado digitalmente. La ventaja es que no se necesita una cuenta de desarrollador para generar dicho apk.

Con Xamarin se puede llevar a cabo con unos cuantos pasos.

Generar el Keystore

Lo primero que debemos hacer es localizar la herramienta keytool, que está en nuestro JDK (Java Development Kit) que debemos tener previamente instalado, en mi caso C:\Program Files (x86)\Java\jdk1.7.0_71\bin

  1. Abrir una consola de comandos con permisos de administrador
  2. Cambiar a la ruta a nuestro JDK (cd “RUTA_DEL_JDK”)
  3. Generar el Keystore con el siguiente comando
keytool -genkeypair -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000

Donde filename es el nombre que queremos darle a nuestra llave de firma. En este punto luego de haber ejecutado el comando nos pedirá ciertos datos, que son muy importantes tenerlos presentes al momento de compilar con Visual Studio.

Configurando el proyecto

  1. En Visual Studio, abrimos la solución que queremos configurar, hacemos click derecho sobre el proyecto de Xamarin.Android y nos dirigimos a las propiedades.

  1. Nos dirigimos a la sección Android Options y luego al tab de linker y debemos seleccionar el tipo de Linking ya que esto nos definirá qué paquetes queremos incluir en el apk.

  1. Finalmente debemos seleccionar que estamos en Release y no en Debug, para que compile nuestro apk quede configurado correctamente.

Enlazando nuestro proyecto al Keystore

Luego de haber configurado el proyecto y creado el Keystore debemos indicarle la ruta a nuestra llave por lo que debemos abrir nuestro .csproj de Xamarin.Android en un editor de texto y ubicar la palabra clave AndroidKeyStore que nos indica las configuraciones de la llave, si no aparece ningún resultado disponible hacer click aquí para ver una guía más detallada pero prestemos atención a que solo debemos copiar y pegar correctamente ese fragmento de código.

Ahora recordemos todos los datos que ingresamos en el Keystore y los reemplazamos en la configuración correspondiente, pero es importante resaltar que la ruta es donde tenemos almacenado nuestro archivo Keystore:

Generando el APK

Luego de haber cambiado la información en nuestro .csproj del proyecto Xamarin.Android nos regresamos a Visual Studio, si no habíamos cerrado nos dará un aviso de que si deseamos recargar el proyecto y hacemos click en la opción de “Recargar todo”.

Finalmente nos vamos a la opción de Build (Generar) de Visual Studio y encontraremos la opción de Export Android Package (Exportar paquete de Android).

En la parte inferior izquierda donde se muestran los mensajes de Visual Studio nos dirá el estado en el que está; esperamos hasta que finalice el proceso.

Después de que haya acabado todo nos iremos a la carpeta de nuestro proyecto (Proyecto\Droid\bin\Release) y encontraremos nuestro apk, pero debemos prestar atención ya que hay dos, el que nos interesa es el terminado en *-Signed.apk, ya que este es nuestro archivo que publicaremos en las tiendas o compartiremos por distintos medios.