viernes, 22 de septiembre de 2023

Error al inscribirse en el programa de firmas de Google Play

Esta entrada es para mí, principalmente, así que si alguien la encuentra, por favor, que no la lea.

Realmente esto es algo viejo; pero tengo apps sin actualizar desde hace bastante tiempo, y poniéndolas al día, he tenido que subir el fichero de clave privada cifrado. Antes podías subir el que te generaba Android Studio con extensión *.pepk; pero por alguna razón, ya no deja. Te habrá dado errores como:

To upload an Android App Bundle you must be enrolled in Play app signing

Unable to export or encrypt the private key.

The private key was not properly encrypted or is not a type of key we support.

Así que aquí va como se hace:

1. Instala OpenJDK 20. Ni con la JDK 8 ni JDK 21 oficial, funciona... así que si te quieres ahorrar volver a este punto, instálala desde aquí o como soy un tio precavido, también la he subido a MEGA.

No se te olvide añadir la ruta a las variables de entorno:

       JAVA_HOME = [Path to OpenJDK directory]

       PATH = JAVA_HOME\bin + PATH

2. Te vas a Google Play, a la aplicación en concreto, menú lateral => Setup => App signing => Use existing app signing key from Java Keystore y...

    - Descargamos el fichero encryption public key

    - Descargamos la utilidad PEPK tool (Play Encrypt Private Key) 


3. Te creas una carpeta y metes ahi tu fichero de almacén de claves (extensión .jks o .keystore), más los dos ficheros que te acabas de descargar. Y lanzas el siguiente comando:

java -jar C:\keys\pepk.jar --keystore=mi_almacen_de_claves.jks --alias=key0 --output=encrypted_private_key_path --rsa-aes-encryption --encryption-key-path=C:\keys\encryption_public_key.pem

Siendo mi_almacen_de_claves.jks tu fichero de almacén de claves y key0 el alias que tengas en tu almacén de claves. Esto generará un fichero llamado encrypted_private_key_path que es el que tienes que subir en el punto 4 de la imagen que acompaña esta entrada. 

Y ya está, a seguir piruleando.

No hay comentarios: