Cómo habilitar la firma de aplicaciones de Google Play

Creo que muchos desarrolladores están intentando aprender más sobre la nueva característica de Firma de aplicaciones de Google Play presentada en Google I / O 2017.

La capacidad de almacenar el almacén de claves para firmar las aplicaciones dentro de Google Play le ahorra el esfuerzo de almacenar de forma segura el almacén de claves y puede ayudar al sistema a optimizar los archivos APK servidos en cada dispositivo, en función de las características del hardware y el sistema operativo.

Puede leer más sobre este tema en la documentación oficial aquí: https://developer.android.com/studio/publish/app-signing.html#google-play-app-signing .

Con la siguiente respuesta, explicaré un poco mejor los pasos que debe seguir para cargar su almacén de claves original y cómo crear el nuevo almacén de claves de carga, que tendrá que firmar su APK a partir de este momento.

Esta guía está orientada a desarrolladores que ya tienen una aplicación en Play Store. Si está comenzando con una nueva aplicación, el proceso es mucho más fácil y puede seguir las pautas del párrafo “Nuevas aplicaciones” desde aquí

Requisitos previos que el 99% de los desarrolladores ya tienen :

  1. Estudio Android

  2. JDK 8 y después de la instalación necesita configurar una variable de entorno en su espacio de usuario para simplificar los comandos de la terminal. En Windows x64, debe agregar esto: C:\Program Files\Java\{JDK_VERSION}\bin a la variable de entorno Path . (Si no sabe cómo hacerlo, puede leer mi guía para agregar una carpeta a la variable de entorno de la Path de Windows 10 ).

Paso 0 : abra la consola de desarrollador de Google Play, luego vaya a Release Management -> App Signing .

enter image description here

Acepte la aplicación firmando TOS.

enter image description here

Paso 1 : descargue la herramienta PEPK haciendo clic en el botón idéntico a la imagen a continuación

enter image description here

Paso 2 : abre una terminal y escribe:

java -jar PATH_TO_PEPK –keystore = PATH_TO_KEYSTORE –alias = ALIAS_YOU_USE_TO_SIGN_APK –output = PATH_TO_OUTPUT_FILE –encryptionkey = GOOGLE_ENCRYPTION_KEY

Leyenda:

  • PATH_TO_PEPK = La ruta al archivo pepk.jar que descargó en el Paso 1 podría ser algo así como C:\Users\YourName\Downloads\pepk.jar para usuarios de Windows.
  • PATH_TO_KEYSTORE = Ruta al almacén de claves que utiliza para firmar su lanzamiento APK. Podría ser un archivo de tipo * .keystore o * .jks o sin extensión. Algo así como C:\Android\mykeystore o C:\Android\mykeystore.keystore etc …
  • ALIAS_YOU_USE_TO_SIGN_APK = El nombre del alias que usa para firmar la versión APK.
  • PATH_TO_OUTPUT_FILE = La ruta del archivo de salida con la extensión .pem, algo así como C:\Android\private_key.pem
  • GOOGLE_ENCRYPTION_KEY = Esta clave de cifrado debe ser siempre la misma. Puede encontrarlo en la página Firma de aplicaciones, copiarlo y pegarlo. Debería estar en esta forma: eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

Ejemplo:

java -jar “C: \ Users \ YourName \ Downloads \ pepk.jar” –keystore = “C: \ Android \ mykeystore” –alias = myalias –output = “C: \ Android \ private_key.pem” – encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a

Presione Entrar y deberá proporcionar en orden:

  1. La contraseña del almacén de claves
  2. La contraseña de alias

Si todo ha ido bien, ahora tendrá un archivo en la carpeta PATH_TO_OUTPUT_FILE llamado private_key.pem .

Paso 3 : suba el archivo private_key.pem haciendo clic en el botón idéntico a la imagen a continuación

enter image description here

Paso 4 : crea un nuevo archivo de almacén de claves con Android Studio.

NECESITARÁS ESTE KEYSTORE EN EL FUTURO PARA FIRMAR LOS PRÓXIMOS LANZAMIENTOS DE TU APLICACIÓN, NO OLVIDAR LAS CONTRASEÑAS

Abra uno de sus proyectos de Android (elija uno al azar). Vaya a Build -> Generate APK firmado y presione Crear nuevo .

enter image description here

Ahora deberías completar los campos requeridos.

La ruta del almacén de claves representa el nuevo almacén de claves que creará, elija una carpeta y un nombre con el ícono de 3 puntos a la derecha, elegí C:\Android\upload_key.jks (la extensión .jks se agregará automáticamente)

NOTA: Utilicé la opción de upload como el nuevo nombre de alias, pero si anteriormente usó el mismo almacén de claves con diferentes alias para firmar diferentes aplicaciones, debe elegir el mismo nombre de alias que tenía anteriormente en el almacén de claves original.

enter image description here

Presione OK cuando haya terminado, y ahora tendrá un nuevo upload_key.jks claves upload_key.jks . Puedes cerrar Android Studio ahora.

Paso 5 : necesitamos extraer el certificado de carga del almacén de claves upload_key.jks recién creado. Abra una terminal y escriba:

keytool -export -rfc -keystore UPLOAD_KEYSTORE_PATH -alias UPLOAD_KEYSTORE_ALIAS -file PATH_TO_OUTPUT_FILE

Leyenda:

  • UPLOAD_KEYSTORE_PATH = La ruta del almacén de claves de carga que acaba de crear. En este caso fue C:\Android\upload_key.jks .
  • UPLOAD_KEYSTORE_ALIAS = El nuevo alias asociado con el almacén de claves de carga. En este caso fue upload .
  • PATH_TO_OUTPUT_FILE = La ruta al archivo de salida con la extensión .pem. Algo así como C:\Android\upload_key_public_certificate.pem .

Ejemplo:

keytool -export -rfc -keystore “C: \ Android \ upload_key.jks” -alias upload -file “C: \ Android \ upload_key_public_certificate.pem”

Presione Entrar y deberá proporcionar la contraseña del almacén de claves.

Ahora, si todo ha ido bien, tendrá un archivo en la carpeta PATH_TO_OUTPUT_FILE llamado upload_key_public_certificate.pem .

Paso 6 : upload_key_public_certificate.pem archivo upload_key_public_certificate.pem haciendo clic en el botón idéntico a la imagen a continuación

enter image description here

Paso 7 : haz clic en el botón INSCRIBIR al final de la página Firma de la aplicación.

enter image description here

Ahora, cada nueva versión de APK debe estar firmada con el upload_key.jks claves upload_key.jks y los alias creados en el Paso 4 , antes de ser cargados en la consola de Google Play para desarrolladores.

Más recursos:

  • Documentación de Google en la firma de aplicaciones de Google Play
  • Formulario para solicitar el restablecimiento de su almacén de claves de carga si lo pierde

Q & A

P: Cuando cargo el APK firmado con el nuevo keystore de upload_key, Google Play muestra un error como: Cargaste un APK sin firmar. Debes crear una APK firmada .

R: Marque para firmar el APK con ambas firmas (V1 y V2) mientras crea la versión APK. Lee aquí para más detalles.

Cuando utilice Fabric para versiones beta públicas (firmado con prod config), NO USE la firma de aplicaciones de Google Play. ¡Deberá después de construir dos apk firmados!

Cuando distribuyas a más tiendas de reproducción (samsung, amazon, xiaomi, …) deberás volver a comstackr dos aplicaciones firmadas.

Así que tenga mucho cuidado con Google Play App Signing.

No es posible revertirlo: / y Google Play no lo hizo después de aceptar los apk firmados con la clave de producción. Después de habilitar Google Play App Signing, solo se acepta la clave de carga …

Realmente complica la distribución de CI …

Próximos problemas con la actualización: https://issuetracker.google.com/issues/69285256

Tenía que hacer lo siguiente:

  1. Crea una aplicación en la consola de Google Play enter image description here

2. Ir a Versiones de la aplicación -> Gestionar producción -> Crear versión

3.Haga clic en continuar en la aplicación de Google Play. enter image description here

4. Cree un certificado de carga ejecutando “keytool -genkey -v -keystore c: \ path \ to \ cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000”

5. Firma tu apk con el certificado generado (c: \ path \ to \ cert.keystore)

6. Descargar la aplicación firmada en los lanzamientos de aplicaciones -> Gestionar producción -> Editar versión

7. Al cargar la aplicación, el certificado generado en el paso 4 se ha agregado a los certificados de firma de aplicaciones y se convirtió en su certificado de firma para todas las comstackciones futuras.

Haz lo siguiente :

 "CREATE APPLICATION" having the same name which you want to upload before. Click create. After creation of the app now click on the "App releases" Click on the "MANAGE PRODUCTION" Click on the "CREATE RELEASE" Here you see "Google Play App Signing" dialog. Just click on the "OPT-OUT" button. It will ask you to confirm it. Just click on the "confirm" button