Cómo generar una apk firmada en Android Studio para la Google Play (incluye keystore)

- Andrés Cruz

In english
Cómo generar una apk firmada en Android Studio para la Google Play (incluye keystore)

Cuando queremos desarrollar una aplicación Android (por no decir cualquier sistema en general) primero concibes la aplicación, se diseña, se prueba en emuladores y dispositivos físicos, se corrigen los errores, se termina de desarrollar el resto de las funcionalidades y se vuelve a probar la aplicación (repites este ciclo n veces en donde n tiende al infinito...) y luego intentas subir la apk de Debug a tu cuenta en la Google Play y ves un error como el siguiente:

Error Apk Google play

Esta es una situación que puede ser regular para las personas que estén iniciando en el desarrollo con Android; para subir una apk a la Google Play es necesario que esté firmada a través de un certificado digital muy fácil de generar con Android Studio

La apk que empleamos generalmente, es un archivo que podemos emplear para hacer pruebas en dispositivos físicos y virtuales, pero nada más, no podemos emplearla para subirla a la Google Play por razones de seguridad (imagina que con tan solo obtener la apk de aplicaciones tan famosas como Twitter o Facebook podamos subirla tranquilamente a una cuenta en la Google Play...).

Generando la apk firmada en Android Studio

Cómo se ha explicado, la apk firmada es la misma apk debug pero esta cuenta con un certificado digital, de esta manera se garantiza la autoría de la misma; es decir, que la apk a subir en la Google Play es la persona que la desarrolló, es decir que cuenta con el fuente de la aplicación.

La Google Play de Google exige que todas las APKs que están almacenadas en su repositorio de aplicaciones deben de estar firmadas digitalmente, y lo podemos hacer perfectamente desde Android Studio empleando la keystore que es un archivo para almacenar repositorios de claves primarias.

Conociendo los certificados y los keystores

Los certificados digitales no es algo nuevo, lo empleamos en infinidad de elementos, por ejemplo en las notificaciones tipo PUSH, en las cuales se emplean los certificados digitales que constan de una clave pública y otra privada que está guardada y restringida, es como una pareja de usuario y contraseña, generalmente se guarda data o metadata de estos certificados para tener información del propietario, cosas como el nombre, apellido, ubicación, descripción son elementos comunes; estas llaves son un instrumento para proteger tus aplicaciones, es para dejar tu "huella" que es única y al ser digital se le conoce como huella digital y de esta forma tu aplicación Android estará en buen resguardo y permite a Google mediante la Google Play saber de quién es la APK de quien se está cargando y actuar en consecuencia en caso de que existe un certificado diferente al cargado inicialmente.

La Keystore para almacenar las claves

Te podrás preguntar en donde entra el keystore en todo esto, el keystore son archivos que como su nombre indica contienen claves, es como una tienda de claves o un repositorio de claves; aquí se encuentra tu llave privada que no debes compartir con nadie que no deba tener acceso a tu aplicación; cuando creemos un poco más adelante nuestra aplicación Android firmada verás que Android Studio nos pregunta mediante un formulario donde esta el repositorio de claves o keystore.

La keystore es un repositorio que permite almacenar claves primarias

Generando la apk firmada en Android Studio

Para generar una apk firmada tenemos que ir a "Build" y "Generate Signed APK...":

Menú generar Apk

Como puedes ver, esta justamente al lado de la opción que nos permite generar apks en Android Studio sin firmar, las que empleamos para el debug: "Build APK".

Y cómo es posiblemente la primera vez que estás exportando la apk de esta forma, tendremos que ingresar un path, un par de claves y un alias como veremos a continuación en la siguiente ventana:

Generar Apk formulario

Si no tienes un Key Store ya creado, debes de presionar el botón de "Create new..." y rellenar el formulário tal como hicimos en el viejo Eclipse con el ADT; es el mismo formulario con datos del desarrollador y vigencia de la clave o llave primaria.

Recuerda que un cerficiado consta de una pareja de claves privada y pública que permite identificar quien es el dueño de la clave (como veremos en la información solicitada por Android Studio en los proximos pasos).

Luego presionamos en siguiente e llenamos el formulario siguiente, como verás es muy parecido al empleado por el viejo Eclipse con el plugin ADT en una entrada que vimos hace un buen tiempo.

Finalmente indicamos el directorio para exportar la apk.

Debemos guardar este certificado generado en un lugar seguro, ya que si lo perdemos o borramos tendremos que subir la aplicación desde cero (no podrás subir para un mismo proyecto en la Google Play una apk con otro certificado).

¿Dónde se encuentra el APK firmada?

Si no modificaste la ubicación anterior, la apk firmada se encontrará exportada en:

Nombre_de_tu_app > App > app-release.apk.

Carpeta Apk release

Le ponemos el nombre que queramos y esto es todo, podemos emplear esta apk para subirla a la Google Play; no importa qué nombre le coloques al archivo, solo importa que el procedimiento anterior no les de algún tipo de error.

Estos tipos de procedimientos se pueden generar mediante líneas de comando o la consola de Windows, Linux, Mac o donde sea que ejecutes tu ambiente de desarrollo para Android, en esta entrada le mostramos la forma más directa y sencilla que consiste en rellenar unos sencillos formularios como vimos anteriormente; si necesitas tener el certificado SHA1 desde android studio:

 

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.