El App Signing de Google Play existe desde 2017. Con App Signing, Google gestiona las claves de firma de tu app y la utiliza para firmar tus APKs para su distribución. Inscribir tu aplicación en App Signing es opcional. Es posible que hayas decidido gestionar la firma y el almacenamiento de tus claves en lugar de subirlas a Google Play.
Ahora, has cambiado de opinión y quieres que Google gestione tus claves de firma en lugar de hacerlo personalmente. O quieres intentar reducir el tamaño de tu aplicación y simplificar el proceso de lanzamiento con Android App Bundle, pero estás obligado a utilizar App Signing para ello. Antes de inscribir su aplicación en App Signing de Google Play, hay dos cosas que debe saber. En primer lugar, no hay opción de exclusión, así que asegúrate de que estás preparado para ello. Además, no podrá descargar las claves de firma de su aplicación desde Google Play, así que si las necesita en el futuro, guárdelas en un lugar seguro.
Para inscribir su aplicación en App Signing, debe cargar la clave de firma de su aplicación en Google Play. Abra su aplicación en la consola de Google Play y navegue hasta la gestión de versiones > App Signing (lanzamiento > configuración > App Signing en la nueva consola de Google Play). Lea y acepte las condiciones del servicio.
Hay tres opciones para exportar y cargar la clave de firma de su aplicación: desde Android Studio, desde un almacén de claves de Java y desde su clave (si no utiliza un almacén de claves de Java).
Exportar y cargar una clave desde Android Studio
Usar Android Studio es la forma más sencilla de exportar la clave de firma de su aplicación. Abra el menú Build, luego haga clic en Build > Generate Signed Bundle / APK… En el diálogo Generate Signed Bundle o APK, seleccione Android App Bundle y luego haga clic en Next. Seleccione Exportar la clave encriptada para inscribir las aplicaciones publicadas en Google Play App Signing, establezca la ubicación donde desea exportarla y luego haga clic en Siguiente. Android Studio generará el paquete y exportará el archivo private_key.pepk en el directorio que haya proporcionado.
En la página de Google Play Console App Signing, seleccione “Exportar y cargar una clave desde Android Studio” y cargue la clave generada por Android Studio.
Exportar y subir una clave desde un almacén de claves de Java
Si utilizas un almacén de claves de Java para firmar tus aplicaciones, selecciona la opción “Exportar y subir una clave desde un almacén de claves de Java” en la página de firma de aplicaciones de Google Play Console. Descarga la herramienta Play Encrypt Private Key (PEPK) desde la consola y guárdala en tu ubicación preferida. Además, toma nota de la clave de cifrado en las instrucciones.
La herramienta PEPK es un archivo JAR que te permite exportar y cifrar la clave de firma de tu app. Por ejemplo, si tienes lo siguiente:
* la herramienta PEPK en /Users/admin/Downloads
* clave de firma de la app signing-key.jks que tiene como alias “release”, ubicado en la misma carpeta que el pepk.jar
* clave cifrada de la consola de Google Play con el valor encryptionkeyfromtheconsole
puedes exportar la clave a encryptedkey.pepk utilizando el siguiente comando:
java -jar /Users/admin/Downloads/pepk.jar – keystore=signing-key.jks – alias=release – output=/Users/admin/Downloads/encryptedkey.pepk – encryptionkey=encryptionkeyfromtheconsole
El terminal te pedirá el keystore y la contraseña de la clave. Una vez introducidos, el comando generará el archivo encryptedkey.pepk en el directorio /Users/admin/Downloads/. En la página de firma de aplicaciones de Google Play Console, selecciona “Exportar y subir una clave desde el almacén de claves de Java” y sube el archivo encryptedkey.pepk.
Exportar y subir una clave (sin usar un almacén de claves de Java)
Si la clave de firma de tu aplicación no se hizo usando un almacén de claves de Java, selecciona la opción “Exportar y subir una clave (sin usar un almacén de claves de Java)” en la página de firma de aplicaciones de Google Play Console. Puedes descargar el código fuente de la herramienta PEPK y utilizar la clave pública codificada en hexadecimal que se proporciona en la consola para exportar tu clave privada.
En la página de firma de aplicaciones de Google Play Console, selecciona “Exportar y subir una clave (sin utilizar un almacén de claves de Java)” y sube la clave que has exportado.
Creación de una clave de subida
Una clave de subida es la que utilizarás para firmar tu paquete de aplicaciones o APK antes de publicarlo en Google Play. Puedes utilizar la misma clave de firma que la clave de subida para que tu proceso sea el mismo que hacías antes. Sin embargo, es mejor utilizar una clave de subida diferente para que la clave de firma de la aplicación no se vea comprometida.
Para crear una clave de subida para tu aplicación, necesitas crear una nueva clave de firma y subir su certificado público (en formato PEM). Puedes crear una nueva clave en Android Studio. En el menú Build, haz clic en Build > Generate Signed Bundle / APK… En el diálogo Generate Signed Bundle o APK, selecciona Android App Bundle o APK, y haz clic en Next. Haga clic en el botón Crear nuevo… debajo del texto de entrada de la ruta del almacén de claves. Proporcione la información en el diálogo Nuevo almacén de claves y luego haga clic en Aceptar.
Digamos que su nueva clave de carga es upload-key.jks con “alias” como alias, puedes exportar su clave a upload-cert.pem ejecutando el siguiente comando:
keytool -export -rfc -keystore upload-key.jks -alias alias -file upload-cert.pem
El terminal te pedirá la contraseña del keystore. Una vez que la proporcione correctamente, el comando generará el archivo upload-cert.pem. A continuación, puedes cargar este archivo PEM en la consola de Google Play. Ahora, debes firmar las próximas actualizaciones de la app con la clave de subida upload-key.jks.
¿Qué es lo siguiente?
Una vez que hayas subido la clave de firma de la app (y creado una nueva clave de subida), puedes hacer clic en el botón Finalizar (Guardar en la nueva consola de Google Play) para guardar los cambios. Verás una notificación de que App Signing está ahora habilitado para la aplicación. Ahora puede utilizar Android App Bundle en la publicación de su próxima actualización.
La página App Signing también mostrará los certificados para la clave de firma de la aplicación y la clave de subida, junto con sus firmas de clave (MD5, SHA-1, SHA-256), que tendrá que utilizar para algunas API.