Skip to content

Most visited

Recently visited

navigation

Firmar tu aplicación

Android exige que todos los APK se firmen digitalmente con un certificado para poder instalarse. En este documento se describe la manera de firmar tus APK usando Android Studio, incluidos los procesos de creación y almacenamiento de tu certificado, la firma de diferentes configuraciones de compilación con distintos certificados y la configuración del proceso de compilación para firmar tus APK automáticamente.

Certificados y keystores

Un certificado de clave pública, también conocido como certificado digital o un certificado de identidad, contiene la clave pública de un par de claves públicas y privadas, y otros metadatos que identifican al propietario de la clave (por ejemplo, el nombre y la ubicación). El propietario del certificado conserva la clave privada correspondiente.

Cuando firmas un APK, la herramienta de firma adjunta a este el certificado de clave pública. El certificado de clave pública sirve como una “huella digital” que asocia de manera exclusiva el APK contigo y con tu clave privada correspondiente. Esto permite a Android verificar que cualquier actualización futura a tu APK sea auténtica y provenga del autor original. La clave que se usa para la creación de este certificado se llama clave de firma de aplicaciones.

Un keystore es un campo binario que contiene una o más claves privadas.

Todas las aplicaciones deben usar el mismo certificado durante su vida útil para que los usuarios puedan instalar versiones nuevas como actualizaciones de las aplicaciones. Para obtener más información sobre los beneficios que tiene usar el mismo certificado para todas tus aplicaciones durante su vida útil, consulta Consideraciones respecto de las firmas, a continuación.

Firmar tu compilación de depuración

Cuando ejecutas o depuras tu proyecto desde el IDE, Android Studio automáticamente firma tu APK con un certificado de depuración generado por las herramientas de Android SDK. La primera vez que ejecutas o depuras tu proyecto en Android Studio, el IDE automáticamente crea el keystore y el certificado de depuración en $HOME/.android/debug.keystore, y configura el keystore y las contraseñas de claves.

Debido a que el certificado de depuración se crea con las herramientas de compilación y no es seguro por diseño, en la mayoría de las tiendas de aplicaciones (incluida Google Play Store) no se aceptará un APK firmado con un certificado de depuración para la publicación.

Android Studio automáticamente almacena tu información de firma de depuración en una configuración de firma para que no debas ingresarla cada vez que realices depuraciones. Una configuración de firma es un objeto que comprende toda la información necesaria para firmar un APK, como la ubicación y la contraseña del keystore, y el nombre y la contraseña de la clave. No puedes editar directamente la configuración de firma de depuración, pero puedes configurar la forma de firmar tu compilación de lanzamiento.

Si deseas obtener más información sobre la manera de compilar y ejecutar aplicaciones para la depuración, consulta Compilar y ejecutar tu aplicación.

Fecha de vencimiento del certificado de depuración

El certificado autofirmado que se usa para firmar tu APK en el modo de depuración tiene un plazo de vencimiento de 365 días a partir de su fecha de creación. Cuando el certificado caduque, verás aparecer un error de compilación.

Para solucionar este problema, simplemente borra el archivo debug.keystore. El archivo se almacena en las siguientes ubicaciones:

La próxima vez que compiles y ejecutes el tipo de compilación de depuración, las herramientas de compilación generarán un keystore y una clave de depuración nuevos. Ten en cuenta que debes ejecutar tu aplicación; la compilación por si sola no regenera el keystore ni la clave de depuración.

Administrar tu clave

Ya que tu clave de firma de aplicaciones se usa para verificar tu identidad como desarrollador, y garantizar que las actualizaciones se realicen de forma seguras y sin inconvenientes para tus usuarios, es muy importante administrar tu clave y mantenerla protegida, tanto para ti como para tus usuarios. Puedes optar por usar la firma de aplicaciones de Google Play para administrar y guardar tu clave de firma de aplicaciones de manera segura a través de la infraestructura de Google, o puedes administrar y proteger tu clave de firma de aplicaciones y tu keystore propios.

Usar la firma de aplicaciones de Google Play

Cuando uses la firma de aplicaciones de Google Play, emplearás dos claves: la de firma de aplicaciones y la de subida. Google se encarga de administrar y proteger la clave de firma de aplicaciones, y tú debes guardar la clave de subida y usarla para firmar tus aplicaciones a fin de que puedan subirse a Google Play Store.

Al aceptar usar la firma de aplicaciones de Google Play, exportarás y encriptarás tu clave de firma de aplicaciones usando la herramienta Play Encrypt Private Key que provee Google Play, y luego la subirás a la infraestructura de Google. Después de esto, crearás una clave de subida aparte y la registrarás con Google. Cuando estés listo para la publicación, firmarás tu aplicación usando la clave de subida y la subirás a Google Play. Luego, Google usará el certificado de subida para verificar tu identidad y volverá a firma tu APK con tu clave de firma de aplicaciones para su distribución, como se muestra en la figura 1. (Si todavía no posees una clave de firma de aplicaciones, puedes generar una durante el proceso de registro.)

Figura 1: Firma de una aplicación con el procedimiento de firma de aplicaciones de Google Play.

Cuando usas la firma de aplicaciones de Google Play, si pierdes tu clave de subida, o si se ve comprometida, puedes contactar a Google para revocar tu clave de subida antigua y generar una nueva. Debido a que tu clave de firma de aplicaciones se encuentra protegida por Google, puedes seguir subiendo nuevas versiones de tu aplicación como actualizaciones de la aplicación original, aunque cambies las claves de subida.

Para obtener más información sobre cómo incorporar la firma de aplicaciones de Google Play, consulta Administra tus claves de firma de aplicaciones.

Administrar tu clave y keystore propios

En lugar de usar la firma de aplicaciones de Google Play, puedes administrar tu clave de firma de aplicaciones y tu keystore propios. Si optas por administrar tu clave de firma de aplicaciones y tu keystore propios, tendrás la responsabilidad de protegerlos. Debes seleccionar una contraseña segura para tu keystore y una clave segura aparte para cada clave privada almacenada en el keystore. Debes conservar tu keystore en un sitio seguro y protegido. Si pierdes el acceso a tu clave de firma de aplicaciones o la clave se ve comprometida, Google no podrá recuperarla y no podrás ofrecer a los usuarios nuevas versiones de tu aplicación como actualizaciones de la aplicación original. Para obtener más información, consulta Proteger tu clave a continuación.

Si administras tu clave de firma de aplicaciones y tu keystore propios, cuando firmes tu APK lo firmarás de manera local usando tu clave de firma de aplicaciones y subirás el APK directamente a Google Play Store para su distribución, como se muestra en la figura 2.

Figura 2: Firma de una aplicación cuando se administra una clave de firma de aplicaciones propia.

Firmar un APK

Independientemente de cómo elijas administrar tu clave y keystore, puedes usar Android Studio para firmar tus APK (con la clave de subida o la clave de firma de aplicaciones), ya sea manualmente o configurando tu proceso de compilación para que firme los APK de manera automática.

Si optas por administrar y proteger tu clave de firma de aplicaciones y tu keystore propios, firmarás tus APK con tu clave de firma de aplicaciones. Si eliges la firma de aplicaciones de Google Play para administrar y proteger tu clave de firma de aplicaciones y tu keystore, firmarás tus APK con tu clave de subida.

Generar una clave y un keystore

Puedes generar una clave de firma de aplicaciones o una clave de subida usando Android Studio siguiendo estos pasos:

  1. En la barra de menú, haz clic en Build > Generate Signed APK.
  2. Selecciona un módulo del menú desplegable y haz clic en Next.
  3. Haz clic en Create new para crear una nueva clave y keystore.

  4. En la ventana New Key Store, proporciona la siguiente información para tu keystore y clave, como se muestra en la figura 3.

    Figura 3: Creación de un keystore nuevo en Android Studio.

    Keystore

    • Key store path: selecciona la ubicación en la que se debe crear tu keystore.
    • Password: genera y confirma una contraseña segura para tu keystore.

    Key

    • Alias: ingresa un nombre de identificación para tu clave.
    • Password: genera y confirma una contraseña segura para tu clave. Esta debe ser diferente de la contraseña que elegiste para tu keystore.
    • Validity (years): fija el período de validez de tu clave en años. Tu clave debe ser válida durante al menos 25 años. Por ello, puedes firmar actualizaciones para tu aplicación con la misma clave durante toda su vida útil.
    • Certificate: ingresa información sobre ti para tu certificado. Esta información no se muestra en tu aplicación, pero se incluye en tu certificado como parte del APK.

    Una vez que completes el formulario, haz clic en OK.

  5. Continúa hacia Manually sign an APK si deseas generar un APK firmado con tu nueva clave, o haz clic en Cancel si solo deseas generar una clave y un keystore, sin firmar un APK.
  6. Si deseas usar la firma de aplicaciones de Google Play, dirígete a Manage your app signing keys y sigue las instrucciones para configurar la firma de aplicaciones de Google Play.

Firmar un APK de manera manual

Puedes usar Android Studio para generar manualmente APK firmados, ya sea uno por vez o para diferentes variantes de compilación a la vez. En lugar de firmar manualmente los APK, también puedes configurar ajustes de compilación de Gradle para administrar la firma automáticamente durante el proceso de compilación. En esta sección se describe el proceso de firma manual. Para obtener más información acerca de la firma de aplicaciones como parte del proceso de compilación, consulta Configurar el proceso de compilación para que firme automáticamente tu APK.

Si deseas firmar manualmente tu APK para el lanzamiento en Android Studio, sigue estos pasos:

  1. Haz clic en Build > Generate Signed APK para abrir la ventana Generate Signed APK. (Si ya generaste una clave y un keystore como se describe anteriormente, esta ventana estará abierta).
  2. En la ventana Generate Signed APK Wizard, selecciona un keystore, una clave privada y escribe las contraseñas para ambos. (Si creaste tu keystore en la sección anterior, estos campos aparecerán completos). Luego, haz clic en Next.

    Nota: Si usas la firma de aplicaciones de Google Play, debes especificar aquí tu clave de subida. Si, en cambio, administras tu clave de firma de aplicaciones y tu keystore propios, deberías especificar aquí tu clave de firma de aplicaciones. Para obtener más información, consulta Administrar tu clave más arriba.

    Figura 4: Selección de una clave privada en Android Studio.

  3. En la ventana siguiente, selecciona un destino para el APK firmado, el tipo de compilación y (si corresponde) las clases de productos, y haz clic en Finish.

    Figura 5: Generación de APK firmados para las clases de productos seleccionados.

    Nota: Si tu proyecto usa clases de productos, puedes elegir varias manteniendo presionada la tecla Control (Windows/Linux) o Command (Mac OSX). Android Studio generará un APK separado para cada clase de producto seleccionado.

Cuando se complete el proceso, encontrarás tu APK firmado en el archivo de destino que seleccionaste anteriormente. Ahora podrás distribuir tu APK firmado a través de un mercado de aplicaciones como Google Play Store o con el mecanismo que elijas. Para obtener más información sobre la publicación de tu APK firmado en Google Play Store, consulta Primeros pasos con la publicación. Si deseas más información sobre otras opciones de distribución, lee Opciones de distribución alternativa.

Para que los usuarios instalen con éxito actualizaciones en tu aplicación, debes firmar tu APK con el mismo certificado durante toda la vida útil de tu aplicación. Para obtener más información sobre esto y otros beneficios que supone firmar tus aplicaciones con la misma clave, consulta Consideraciones respecto de las firmas a continuación. Para obtener más información sobre la protección de tu clave privada y keystore, consulta Proteger tu clave privada a continuación.

Configurar el proceso de compilación para que firme automáticamente tu APK

En Android Studio, puedes configurar tu proyecto para firmar el APK de lanzamiento de manera automática durante el proceso de compilación generando una configuración de firmas y asignándola a tu tipo de compilación de lanzamiento. Una configuración de firma consta de una ubicación y contraseña de keystore, y un alias y una contraseña de clave. Para generar una configuración de firma y asignarla a tu tipo de compilación de lanzamiento usando Android Studio, sigue estos pasos:

  1. En la ventana Project, haz clic con el botón secundario en tu aplicación y luego con el primario en Open Module Settings.
  2. En la ventana Project Structure, sección Modules del panel izquierdo, haz clic en el módulo que desees firmar.
  3. Haz clic en la pestaña Signing y luego en Add. .
  4. Selecciona el archivo de tu keystore, ingresa un nombre para esta configuración de firma (ya que puedes crear más de una) y la información requerida.

    Figura 6: Ventana de creación de una configuración nueva de firma.

  5. Haz clic en la pestaña Build Types.
  6. Haz clic en la compilación release.
  7. En Signing Config, selecciona la configuración que acabas de crear.

    Figura 7: Selección de una configuración de firma en Android Studio.

  8. Haz clic en OK.

Ahora, cada vez que compiles tu tipo de compilación de lanzamiento usando Android Studio, el IDE firmará el APK automáticamente con la configuración que especificaste. Puedes encontrar tus APK firmados en la carpeta build/outputs/apk/ dentro del directorio del proyecto del módulo que compiles.

Cuando creas una configuración de firma, tu información de firma se incluye en texto sin formato en tus archivos de compilación de Gradle. Si trabajas en un equipo o compartes tu código públicamente, debes mantener protegida tu información de firma quitándola de los archivos de compilación y almacenándola por separado. Puedes obtener más información sobre la manera de quitar tu información de firma de tus archivos de compilación en Quitar información sobre la firma de tus archivos de compilación. Si deseas más información sobre la forma de mantener protegida tu información de firma, lee Asegurar tu clave privada.

Firmar cada clase de producto de manera diferente

Si en tu aplicación se usan las clases de productos y deseas firmar cada clase de manera diferente, puedes crear configuraciones de firmas adicionales y asignarlas por clase:

  1. En la ventana Project, haz clic con el botón secundario en tu aplicación y luego con el primario en Open Module Settings.
  2. En la ventana Project Structure, sección Modules del panel izquierdo, haz clic en el módulo que desees firmar.
  3. Haz clic en la pestaña Signing y luego en Add. .
  4. Selecciona el archivo de tu keystore, ingresa un nombre para esta configuración de firma (ya que puedes crear más de una) y la información requerida.

    Figura 8: Ventana para crear una configuración nueva de firma.

  5. Repite los pasos 3 y 4 cuando sea necesario hasta crear todas tus configuraciones de firmas.
  6. Haz clic en la pestaña Flavors.
  7. Haz clic en la clase que desees configurar y luego selecciona la configuración correspondiente de firmas en el menú desplegable Signing Config.

    Figura 9: Configuración de ajustes de firmas según la clase de producto.

    Repite el procedimiento para configurar cualquier clase de producto adicional.

  8. Haz clic en OK.

También puedes especificar tus ajustes de firma en los archivos de configuración de Gradle. Para obtener más información, consulta Configurar ajustes de firmas.

Firmar aplicaciones para Android Wear

Si compilas una aplicación para Android Wear, el proceso de firma de la aplicación puede ser diferente del que se describe en esta página. Consulta la documentación sobre integración y publicación de aplicaciones para Android Wear.

Consideraciones respecto de las firmas

Debes firmar todos tus APK con el mismo certificado durante toda la vida útil prevista de tus aplicaciones. Existen varias razones por las cuales deberías hacer esto:

Si planeas admitir actualizaciones para una aplicación, asegúrate de que tu clave de firma de aplicaciones tenga un período de validez que exceda la vida útil prevista de la aplicación. Se recomienda un período de validez de 25 o más años. Cuando expire el período de validez de tu clave, los usuarios ya no podrán realizar actualizaciones a versiones nuevas de tu aplicación de manera fluida.

Si planeas publicar tus aplicaciones en Google Play, la clave que uses para firmar los APK en cuestión debe tener un período de validez que termine después del 22 de octubre de 2033. Google Play exige este requisito para garantizar que los usuarios puedan actualizar aplicaciones sin inconvenientes cuando haya nuevas versiones disponibles. Si usas la firma de aplicaciones de Google Play, Google confirma que tus aplicaciones se firmen correctamente y puedan recibir actualizaciones durante su vida útil.

Proteger tu clave

Si eliges administrar y proteger tu clave de firma de aplicaciones y tu keystore por cuenta propia (en vez de usar la firma de aplicaciones de Google Play), es imprescindible que protejas tu clave de firma de aplicaciones, tanto para ti como para el usuario. Si permites que alguien use tu clave, o dejas tu keystore y tus contraseñas en un lugar desprotegido como para que un tercero pueda encontrarlos y usarlos, tu identidad de autoría y la confianza del usuario se verán comprometidas.

Nota: Si usas la firma de aplicaciones de Google Play, tu clave de firma de aplicaciones permanecerá protegida a través de la infraestructura de Google. No obstante, también deberás proteger tu clave de subida como se describe a continuación. Si tu clave de subida se ve comprometida, puedes contactar a Google para que la revoque y recibas una clave de subida nueva.

Si un tercero lograra obtener tu clave sin tu conocimiento o permiso, podría firmar y distribuir aplicaciones que reemplacen maliciosamente tus aplicaciones verdaderas, o alterarlas. También podría firmar y distribuir con tu identidad aplicaciones que ataquen a otras aplicaciones o al propio sistema, o bien que dañen o sustraigan información del usuario.

Tu clave privada se necesita para firmar versiones futuras de tu aplicación. Si pierdes tu clave o no la guardas correctamente, no podrás publicar actualizaciones para tu aplicación. No puedes regenerar una clave ya generada.

Tu reputación como entidad desarrolladora depende de que protejas correctamente tu clave de firma de aplicaciones en todo momento, hasta que esta expire. A continuación, te proporcionamos algunas sugerencias para mantener protegida tu clave:

En general, si tomas precauciones basadas en el sentido común al generar, usar y guardar tu clave, esta estará protegida.

Quitar información sobre firmas de tus archivos de compilación

Cuando creas una configuración de firma, Android Studio agrega tu información de firma en el texto sin formato a los archivos build.gradle del módulo. Si trabajas en equipo o con código abierto, debes retirar esta información confidencial de los archivos de compilación de modo que otros no puedan acceder fácilmente a ella. Para hacerlo, debes crear un archivo de propiedades por separado a fin de almacenar información segura y hacer referencia a él en tus archivos de compilación de la siguiente manera:

  1. Genera una configuración de firma y asígnala a uno o más tipos de compilación. En estas instrucciones se da por sentado que tienes preparada una configuración de firma única para tu tipo de compilación de lanzamiento, como se describe en Configurar el proceso de compilación para que firme automáticamente tu APK, previamente.
  2. Crea un archivo llamado keystore.properties en el directorio raíz de tu proyecto. Este archivo debe contener tu información de firmas, con el siguiente aspecto:
    storePassword=myStorePassword
    keyPassword=mykeyPassword
    keyAlias=myKeyAlias
    storeFile=myStoreFileLocation
    
  3. En el archivo build.gradle de tu módulo, agrega código para cargar tu archivo keystore.properties antes del bloque android {}.
    ...
    
    // Create a variable called keystorePropertiesFile, and initialize it to your
    // keystore.properties file, in the rootProject folder.
    def keystorePropertiesFile = rootProject.file("keystore.properties")
    
    // Initialize a new Properties() object called keystoreProperties.
    def keystoreProperties = new Properties()
    
    // Load your keystore.properties file into the keystoreProperties object.
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    
    android {
        ...
    }
    
    

    Nota: Puedes optar por almacenar tu archivo keystore.properties en otra ubicación (por ejemplo, en la carpeta del módulo en lugar de la carpeta raíz para el proyecto, o en tu servidor de compilación si usas una herramienta de integración continua). En ese caso, debes modificar el código anterior para inicializar de manera correcta keystorePropertiesFile usando la ubicación real de tu archivo keystore.properties.

  4. Puedes hacer referencia a las propiedades almacenadas en keystoreProperties usando la sintaxis keystoreProperties['propertyName']. Modifica el bloque signingConfigs del archivo build.gradle de tu módulo para hacer referencia a la información de firma almacenada en keystoreProperties usando esta sintaxis.
    android {
        signingConfigs {
            config {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
        ...
      }
    
  5. Abre la ventana de herramientas Build Variants y asegúrate de que esté seleccionado el tipo de compilación de lanzamiento.
  6. Haz clic en Build > Build APK para crear tu compilación de lanzamiento y confirma que Android Studio haya creado un APK firmado en el directorio build/outputs/apk/ para tu módulo.

Debido a que tus archivos de compilación ya no contendrán información confidencial, ahora podrás incluirlos en el control de orígenes o cargarlos en una base de códigos compartida. Asegúrate de mantener protegido el archivo keystore.properties. Esto puede incluir eliminarlo del sistema de control de orígenes.

Compilar y firmar tu aplicación desde la línea de comandos

No necesitas Android Studio para firmar tu aplicación. Puedes hacerlo desde la línea de comandos con la herramienta apksigner, o bien configurar Gradle para que se encargue de ello durante la compilación. En cualquier caso, debes generar primero una clave privada usando keytool. Por ejemplo:

keytool -genkey -v -keystore my-release-key.jks
-keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

Nota: keytool se encuentra en el directorio bin/ de tu JDK. Para encontrar tu JDK desde Android Studio, selecciona File > Project Structure y luego haz clic en SDK Location. Con esto, verás la ubicación del JDK.

En este ejemplo se te solicitan contraseñas para el keystore y la clave, y para otorgar los campos de nombre distinguido de tu clave. Luego, se genera el keystore como un archivo llamado my-release-key.jks, que se guarda en el directorio actual (puedes moverlo cuando lo desees). El keystore contiene una clave única válida por 10 000 días.

Ahora puedes compilar un APK sin firma y firmarlo manualmente o configurar Gradle para que firme tu APK.

Compilar un APK sin firma y firmarlo manualmente

  1. Abre una línea de comandos, dirígete a la raíz del directorio de tu proyecto, desde Android Studio, y selecciona View > Tool Windows > Terminal. Luego invoca la tarea assembleRelease:
    gradlew assembleRelease
    

    De esta forma, se creará un APK con el nombre module_name-unsigned.apk en project_name/module_name/build/outputs/apk/. En este punto, el APK no está firmado ni alineado; no puede instalarse hasta que se firme con tu clave privada.

  2. Alinea el APK sin firma usando zipalign:

    zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
    

    zipalign garantiza que todos los datos descomprimidos comiencen con una alineación de bytes en particular relacionada con el comienzo del archivo, lo que reduce el consumo de memoria RAM de una aplicación.

  3. Firma tu APK con tu clave privada usando apksigner:

    apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
    

    En este ejemplo se genera el APK firmado en my-app-release.apk una vez que se firma con una clave privada y un certificado, que se almacenan en un único archivo de keystore: my-release-key.jks.

    La herramienta apksigner admite otras opciones de firmas, incluidas la firma de un archivo APK con archivos de clave y certificado privados separados y la firma de un APK con varios firmantes. Para obtener información detallada, consulta la referencia de apksigner.

    Nota: Para usar la herramienta apksigner, debes tener instalada la revisión 24.0.3 o revisiones posteriores de Android SDK Build Tools. Puedes actualizar este paquete con SDK Manager.

  4. Verifica que tu APK esté firmado.

    apksigner verify my-app-release.apk
    

Configurar Gradle para que firme tu APK

  1. Abre el archivo build.gradle de nivel de módulo y agrega el bloque signingConfigs {} con entradas para storeFile, storePassword, keyAlias y keyPassword, y luego pasa ese objeto a la propiedad signingConfig en tu tipo de compilación. Por ejemplo:
    android {
        ...
        defaultConfig { ... }
        signingConfigs {
            release {
                storeFile file("my-release-key.jks")
                storePassword "password"
                keyAlias "my-alias"
                keyPassword "password"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release
                ...
            }
        }
    }
    

    Debido a que Gradle lee las rutas de acceso relativas a build.gradle, el ejemplo anterior funciona únicamente si my-release-key.jks está en el mismo directorio que el archivo build.gradle.

    Nota: En este caso, el keystore y la contraseña de clave pueden verse directamente en el archivo build.gradle. Para una mayor seguridad, debes quitar la información de firmas de tu archivo de compilación.

  2. Abre una línea de comandos en el directorio raíz de tu proyecto e invoca la tarea assembleRelease:
    gradlew assembleRelease
    

De esta forma, se creará un APK con el nombre module_name-release.apk en project_name/module_name/build/outputs/apk/. Este archivo APK se firma con la clave privada especificada en tu archivo build.gradle y se alinea con zipalign.

Ahora que ya configuraste la compilación de lanzamiento con tu clave de firma, la tarea “install” estará disponible para ese tipo de compilación. Por lo tanto, podrás compilar, alinear e instalar el APK de lanzamiento en un emulador o dispositivo con la tarea installRelease.

Un APK firmado con tu clave privada está listo para la distribución, pero antes debes leer más información sobre cómo publicar tu aplicación y revisar la lista de comprobación de lanzamiento para Google Play.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.