Saltar al contenido

Firma de código en Android

Para publicar en Play Store, necesitas firmar tu aplicación con un certificado digital.

Los Android App Bundles y APKs deben firmarse antes de subirse para su distribución.

Google también proporciona un mecanismo de firma adicional para los Android App Bundles distribuidos en Play Store. Consulta la documentación oficial de Play App Signing para obtener más información.

Crear un almacén de claves (keystore) y una clave de subida

Sección titulada «Crear un almacén de claves (keystore) y una clave de subida»

La firma en Android requiere un archivo Java Keystore que se puede generar utilizando la CLI oficial de keytool:

keytool -genkey -v -keystore ~/upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload

Este comando guarda el archivo upload-keystore.jks en tu directorio personal. Si deseas guardarlo en otro lugar, cambia el argumento que pasas al parámetro -keystore.

Consulta la documentación oficial para obtener más información.

Crea un archivo llamado [project]/src-tauri/gen/android/keystore.properties que contenga una referencia a tu almacén de claves:

password=<password defined when keytool was executed>
keyAlias=upload
storeFile=<location of the key store file, such as /Users/<user name>/upload-keystore.jks or C:\\Users\\<user name>\\upload-keystore.jks>

Por lo general, generarás este archivo en tu plataforma CI/CD. El siguiente fragmento contiene un paso de trabajo de ejemplo para GitHub Actions:

- name: setup Android signing
run: |
cd src-tauri/gen/android
echo "keyAlias=${{ secrets.ANDROID_KEY_ALIAS }}" > keystore.properties
echo "password=${{ secrets.ANDROID_KEY_PASSWORD }}" >> keystore.properties
base64 -d <<< "${{ secrets.ANDROID_KEY_BASE64 }}" > $RUNNER_TEMP/keystore.jks
echo "storeFile=$RUNNER_TEMP/keystore.jks" >> keystore.properties

En este ejemplo, el almacén de claves se exportó a base64 con base64 -i /path/to/keystore.jks y se definió como el secreto ANDROID_KEY_BASE64.

Configurar Gradle para usar la clave de firma

Sección titulada «Configurar Gradle para usar la clave de firma»

Configura Gradle para usar tu clave de subida al construir tu aplicación en modo de producción (release) editando el archivo [project]/src-tauri/gen/android/app/build.gradle.kts.

  1. Añade la importación necesaria al principio del archivo:

    import java.io.FileInputStream
  2. Añade la configuración de firma de release antes del bloque buildTypes:

    signingConfigs {
    create("release") {
    val keystorePropertiesFile = rootProject.file("keystore.properties")
    val keystoreProperties = Properties()
    if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(FileInputStream(keystorePropertiesFile))
    }
    keyAlias = keystoreProperties["keyAlias"] as String
    keyPassword = keystoreProperties["password"] as String
    storeFile = file(keystoreProperties["storeFile"] as String)
    storePassword = keystoreProperties["password"] as String
    }
    }
    buildTypes {
    ...
    }
  3. Usa la nueva configuración de firma de release en la configuración de release dentro del bloque buildTypes:

    buildTypes {
    getByName("release") {
    signingConfig = signingConfigs.getByName("release")
    }
    }

Las compilaciones de producción (release) de tu aplicación ahora se firmarán automáticamente.


© 2026 Colaboradores de Tauri. CC-BY / MIT