android - studio - play encrypt private key
Cómo habilitar la firma de aplicaciones de Google Play (6)
Creo que muchos desarrolladores están tratando de obtener más información sobre la nueva función 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 el almacén de claves de forma segura y puede ayudar al sistema a optimizar los APK que se sirven en cada dispositivo, en función de las características de hardware y 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 deberá firmar su APK a partir de este momento.
Cuando use Fabric para versiones beta públicas (firmado con prod config), NO USE la firma de aplicaciones de Google Play. ¡Deberás después de construir dos aplicaciones firmadas!
Cuando distribuya a más tiendas de juegos (samsung, amazon, xiaomi, ...) deberá construir nuevamente dos aplicaciones firmadas.
Así que tenga mucho cuidado con la firma de aplicaciones de Google Play.
No es posible revertirlo: / y Google Play no aceptó después de las aplicaciones firmadas con la clave de producción. Después de habilitar la firma de la aplicación Google Play, solo se aceptará la clave de carga ...
Realmente complica la distribución de CI ...
Próximos problemas con la actualización: https://issuetracker.google.com/issues/69285256
Hay una solución mucho más simple que tomará un minuto.
- En la consola Google Play, seleccione Administración de versiones -> Firma de aplicaciones
- Elija la primera opción, la que tiene Generar clave privada cifrada con Android Studio (o algo así; ya no puedo volver a ver esa página)
- En Android Studio, genere su paquete de aplicaciones de Android (archivo .aap) desde Build -> Generate Signed Bundle / APK ... , elija la opción Android App Bundle y no olvide marcar Exportar clave cifrada (necesaria para registrar su aplicación Google Play App opción de firma) . Si no tiene un almacén de claves generado, genere uno ad-hoc.
- Ahora la parte "complicada". Después de que se genera el .aap, Android Studio mostrará una notificación en la esquina inferior derecha que contiene una ruta a la ubicación donde se guarda el archivo .aap. En la misma notificación, si la expande, encontrará otro enlace a la ruta donde se guardó la clave privada (llamada private_key.pepk ). Si se pierde esta notificación, no se preocupe, solo abra la ventana Registro de eventos haciendo clic en el botón Registro de eventos en la parte inferior derecha y encontrará la misma información. Abra esa ubicación. Para mí fue C: / Users / yourUser / .android
- Vuelva al navegador y presione el botón APLICACIÓN DE LA CLAVE PRIVADA PARA FIRMAR y busque la ubicación de la clave privada en su computadora.
¡Hecho!
Ahora puede cargar su versión que generó anteriormente :) ¡Buena suerte!
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
Tuve que hacer lo siguiente:
2. Vaya a Lanzamientos de aplicaciones -> Administrar producción -> Crear lanzamiento
3.Haga clic en continuar en la firma de aplicaciones de Google Play
4.Cree el certificado de carga ejecutando "keytool -genkey -v -keystore c: / path / to / cert.keystore -alias uploadKey -keyalg RSA -keysize 2048 -validity 10000"
5. Firme su apk con el certificado generado (c: / path / to / cert.keystore)
6.Subir apk firmado en lanzamientos de aplicaciones -> Administrar producción -> Editar lanzamiento
7. Al cargar apk, el certificado generado en el paso 4 se agregó a los certificados de firma de aplicaciones y se convirtió en su certificado de firma para todas las compilaciones futuras.
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 here
Requisitos previos que el 99% de los desarrolladores ya tienen :
-
Android Studio
-
JDK 8 y después de la instalación, debe configurar una variable de entorno en su espacio de usuario para simplificar los comandos del terminal. En Windows x64, debe agregar esto:
C:/Program Files/Java/{JDK_VERSION}/bin
a la variable de entornoPath
. (Si no sabe cómo hacerlo, puede leer mi guía para agregar una carpeta a la variable de entornoPath
de Windows 10 ).
Paso 0 : abra la consola de desarrollo de Google Play, luego vaya a Administración de versiones -> Firma de aplicaciones .
Acepte la aplicación firmando TOS.
Paso 1 : descargue la herramienta PEPK haciendo clic en el botón idéntico a la imagen a continuación
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 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 APK de lanzamiento.
Podría ser un archivo de tipo * .keystore o * .jks o sin extensión.
Algo así como
C:/Android/mykeystore
oC:/Android/mykeystore.keystore
etc. - ALIAS_YOU_USE_TO_SIGN_APK = El nombre del alias que usa para firmar el APK de lanzamiento.
-
PATH_TO_OUTPUT_FILE
= La ruta del archivo de salida con 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 de firma de la aplicación, copiarlo y pegarlo.
Debe tener este formato:
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd48b9de6a
Ejemplo:
java -jar "C: / Users / YourName / Downloads / pepk.jar" --keystore = "C: / Android / mykeystore" --alias = myalias --output = "C: / Android / private_key.pem" - encryptionkey = eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a104a3bbe4ac5a955f4ba4fe93fc8cef27558a3eb9d2a529a2092761fb833b656cd489a2092761fb833b656cd489
Presione Intro y deberá proporcionar en orden:
- La contraseña del almacén de claves
- La contraseña de alias
Si todo salió bien, ahora tendrá un archivo en la carpeta PATH_TO_OUTPUT_FILE llamado
private_key.pem
.
Paso 3 : cargue el archivo private_key.pem haciendo clic en el botón idéntico a la imagen a continuación
Paso 4 : crea un nuevo archivo de almacén de claves con Android Studio.
NECESITARÁ ESTA TIENDA CLAVE EN EL FUTURO PARA FIRMAR LAS PRÓXIMAS PUBLICACIONES DE SU APLICACIÓN, NO OLVIDE LAS CONTRASEÑAS
Abra uno de sus proyectos de Android (elija uno al azar). Vaya a Compilar -> Generar APK firmado y presione Crear nuevo .
Ahora debe completar los campos obligatorios.
La ruta del almacén de claves representa el nuevo almacén de claves que creará, elija una carpeta y un nombre utilizando el icono de 3 puntos a la derecha, elegí
C:/Android/upload_key.jks
(la extensión .jks se agregará automáticamente)NOTA: Utilicé
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.
Presione OK cuando termine, y ahora tendrá un nuevo
upload_key.jks
claves
upload_key.jks
.
Puede 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 se
upload
. -
PATH_TO_OUTPUT_FILE
= La ruta al archivo de salida con 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 salido 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
Paso 7 : haga clic en el botón INSCRIBIRSE al final de la página de firma de la aplicación.
Ahora, cada APK de nueva versión debe estar firmado con el
upload_key.jks
claves
upload_key.jks
y los alias creados en el
Paso 4
, antes de cargarse en la consola de Google Play Developer.
Más recursos:
Q&A
P: Cuando subo el APK firmado con el nuevo almacén de claves upload_key, Google Play muestra un error como: Cargaste un APK sin firmar. Necesita crear un APK firmado .
R: Marque para firmar el APK con ambas firmas (V1 y V2) mientras crea el APK de lanzamiento. Lea here para más detalles.
ACTUALIZADO
El paso 4,5,6 es crear una clave de carga que es opcional para las aplicaciones existentes.
"Clave de carga (opcional para las aplicaciones existentes): una nueva clave que genera durante su inscripción en el programa. Utilizará la clave de carga para firmar todos los APK futuros antes de cargarlos en la consola Play". https://support.google.com/googleplay/android-developer/answer/7384423
I face this issue when i am trying to migrate Apk to Android App Bundle means publishing .aab instand of .apk file.. while building .aab file its will ask the location to store key export path. as below
En la segunda imagen, encontrará la ruta de exportación de clave cifrada Ubicación donde nuestro .pepk se almacenará en la carpeta específica mientras genera el archivo .aab.
In Google Play Console once you login with play store credential select your project from left side choose App Signing option Release Management>>App Signing
encontrará la ventana Certificación de firma de aplicaciones de Google ACEPTAR.
Después de eso, encontrará tres botones de selección de selección **
Cargue una clave exportada desde el botón de radio de Android Studio
**, expandirá el botón de CLAVE PRIVADA DE FIRMA DE LA APLICACIÓN como se muestra a continuación
click on the button and choose the .pepk file (We Stored while generating .aab file as above) Read the all other option and submit.
Una vez que tenga éxito, puede volver al lanzamiento de la aplicación y explorar el archivo .aab y completar RollOut ...
@Ambilpura