Compartir a través de


Firmar con código para Android

En este artículo, se explica cómo firmar manualmente el código de su aplicación (APK) Android para empaquetar Power Apps. Firme su aplicación para Android si selecciona Android como una de las plataformas al crear y construir su proyecto de encapsulado.

Importante

Para firmar una aplicación AAB para la distribución de Google Play, consulte Firmar la aplicación.

Antes de empezar

Software necesario

Antes de comenzar, instale y configure:

Requisitos previos

Necesita:

  • El nombre de la aplicación para crear la clave hash.
  • El último archivo APK para iniciar sesión.

Nota

Utilice la extensión .jks para la firma manual y la extensión .pfx para la firma automática.

Generar clave y hash de firma

Nota

Pase a Firmar manual si ya ha generado claves y hash de firma al crear el registro de la aplicación.

Configurar variables de entorno

Si no establece variables de entorno:

  1. Descargue e instale Android Studio y OpenSSL.
  2. Agregue keytool y openssl a su variable de entorno PATH:
    • Añada C:\Program Files\Android\Android Studio\jbr\bin a su PATH.
    • Agregue la ruta de openssl.exe (por ejemplo, C:\Program Files\OpenSSL-Win64\bin) a su PATH.

Para el proceso de firma manual

Generar clave de hash de firma

Ejecute este comando en el símbolo del sistema como administrador para generar una clave:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

Cuando se le solicite:

  1. Introduzca una contraseña para el almacén de claves.
  2. Ingrese su nombre, organización, ubicación y otros detalles requeridos.
  3. Confirme la información.

Una captura de pantalla con el comando keytool utilizando los parámetros del ejemplo anterior.

Genere un certificado

Ejecute este comando para generar el certificado

keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64

Cuando se le solicite, ingrese la contraseña del almacén de claves que creó anteriormente.

Una captura de pantalla con el comando keytool utilizando los parámetros del ejemplo anterior.

Parámetros explicados:

Parámetro Description
genkey comando para generar una clave
alias Alias para la entrada del almacén de claves
keyalg nombre del algoritmo clave
keystore Nombre del almacén de claves
keysize Tamaño de cada clave
validity Validez de la clave en días

Para el proceso de firma automática de Key Vault

Generar clave de hash de firma

Abra un símbolo del sistema como administrador y ejecute este comando para generar una clave:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000

Cuando se le solicite:

  1. Introduzca una contraseña para el almacén de claves.
  2. Ingrese su nombre, organización, ubicación y otros detalles requeridos.
  3. Confirme la información.

Una captura de pantalla con el comando keytool utilizando los parámetros del ejemplo anterior.

Genere un certificado

Ejecute este comando para generar un certificado:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.pfx | openssl sha1 -binary | openssl base64

Cuando se le solicite, ingrese la contraseña del almacén de claves que creó anteriormente.

Una captura de pantalla con el comando keytool utilizando los parámetros del ejemplo anterior.

Parámetros explicados:

Parámetro Description
genkey Genera una clave.
alias Alias para la entrada del almacén de claves.
keyalg Nombre del algoritmo clave.
keystore Nombre del almacén de claves.
keysize Tamaño de cada clave.
validity Validez de la clave en días.

Firma manual del paquete APK (no para la firma KV)

Sigue estos pasos si no usas el inicio de sesión automático durante el ajuste o si intentas cargar un archivo AAB para Play Store. Para evitar repetir este proceso, utilice el inicio de sesión automático siempre que sea posible.

Localice la herramienta apksigner

  1. Abierto Android Studio.
  2. Vaya a Tools>SDK Manager>Android SDK Location para encontrar la ruta del SDK.
  3. En el directorio SDK, navegue hasta:
    • build-tools>[número de versión]> buscar apksigner.bat (Windows) o apksigner (Mac/Linux)
    • O bien: build-tools>[número de versión]>lib> buscar apksigner.jar

Una captura de pantalla con la información de ubicación de apksigner.

Firma el archivo APK

Ejecuta este comando para firmar tu APK:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

Parámetros explicados:

Parámetro Description
ks Ruta de acceso al archivo de almacén de claves (por ejemplo C:\Users\name\Desktop\powerappswrap.jks)
ks-key-alias El alias que utilizó al generar la clave (por ejemplo, powerappswrap)
PATH_TO_APK Ruta completa al archivo APK (por ejemplo, C:\Users\name\Downloads\MyApp.apk)

Cuando se le solicite, introduzca la contraseña del almacén de claves.

Ejemplo:

apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk

Verificar la firma

Después de firmar, verifica la firma del APK con:

apksigner.bat verify --verbose PATH_TO_APK

Una verificación exitosa confirma que tu APK está correctamente firmado y listo para su distribución.

Para obtener más información, consulte herramientas de línea de comandos de Android Studio: apksigner.

Distribuir la aplicación

Después de firmar la aplicación, puede distribuirla mediante varios métodos:

Opciones de distribución

Consulte también