Cómo preparar tu app para el lanzamiento

Con el objetivo de preparar tu app para el lanzamiento, debes configurar, compilar y probar una versión de actualización. Las tareas de configuración implican tareas básicas de limpieza y modificación de código que ayudan a optimizar tu app. El proceso de compilación es similar al de depuración y puede realizarse con herramientas de JDK y el SDK de Android.

Las tareas de prueba sirven a modo de comprobación final y ayudan a garantizar que el rendimiento de la app sea el que se espera en condiciones reales. Firebase ofrece un gran conjunto de dispositivos de prueba físicos y virtuales a través de Firebase Test Lab que puedes usar para mejorar la calidad de tu app.

Cuando terminas de preparar tu app para el lanzamiento, tienes un archivo APK firmado que puedes distribuir directamente a los usuarios o a través de una tienda de apps como Google Play.

En este documento, se resumen las tareas principales que debes realizar con el objetivo de preparar tu app para el lanzamiento. Las tareas que se describen en esta página se aplican a todas las apps para Android, sin importar cómo se lancen o distribuyan a los usuarios. Si deseas lanzar tu app en Google Play, lee Realiza lanzamientos con confianza.

Nota: Como práctica recomendada, asegúrate de que tu app cumpla con todos tus criterios de lanzamiento relacionados con la funcionalidad, el rendimiento y la estabilidad antes de realizar las tareas que se describen en esta página.

Se muestra la manera en que el proceso de preparación se adecua al proceso de desarrollo

Figura 1: El proceso de preparación para el lanzamiento es una tarea de desarrollo obligatoria y es el primer paso del proceso de publicación.

Tareas para prepararte para el lanzamiento

A fin de que tu app esté disponible para los usuarios, debes crear un paquete listo para el lanzamiento que se pueda instalar y ejecutar en sus dispositivos Android. El paquete listo para el lanzamiento contiene los mismos componentes que el archivo APK de depuración (código fuente compilado, recursos, archivo de manifiesto y otros) y se compila usando las mismas herramientas de compilación. Sin embargo, a diferencia del archivo APK de depuración, el archivo APK listo para el lanzamiento se firma con tu propio certificado y se optimiza con la herramienta zipalign.

Se muestran las cinco tareas que debes realizar a fin de preparar tu app para el lanzamiento

Figura 2: Cinco tareas principales para preparar tu app para el lanzamiento.

Las tareas de firma y optimización normalmente no presentan interrupciones si compilas tu app con Android Studio. Por ejemplo, puedes usar Android Studio con los archivos de compilación de Gradle para compilar, firmar y optimizar tu app en un solo paso. Además, puedes configurar los archivos de compilación de Gradle para que hagan lo mismo cuando realices compilaciones desde la línea de comandos. Para descubrir el modo de uso de los archivos de compilación de Gradle, consulta Cómo configurar tu compilación.

A fin de preparar tu app para el lanzamiento, por lo general, debes realizar cinco tareas principales, como se muestra en la Figura 2. Cada una de ellas puede incluir una o más tareas más pequeñas según la forma en que lances tu app. Por ejemplo, si lanzas tu app en Google Play, tal vez te convenga agregar reglas especiales de filtrado a tu manifiesto mientras configuras tu app para el lanzamiento. Del mismo modo, para cumplir con las pautas de publicación de Google Play, quizás debas preparar capturas de pantalla y crear texto promocional mientras recopilas el material para el lanzamiento.

Normalmente, realizas las tareas indicadas en la Figura 2 después de haber depurado y probado tu app por completo. El SDK de Android incluye varias herramientas para ayudarte a probar y depurar tus apps para Android. Para obtener más información, consulta Cómo depurar tu app y Prueba tu app.

Cómo recopilar materiales y recursos

A fin de preparar tu app para el lanzamiento, debes reunir varios elementos secundarios. Como mínimo, esto incluye claves criptográficas para firmar tu app y un ícono de la app. Probablemente, también te convenga incluir un contrato de licencia para el usuario final.

Claves criptográficas

Android requiere que todos los APK estén firmados de manera digital con un certificado para poder instalarse o actualizarse en un dispositivo. En el caso de Google Play Store, todas las apps que se crearon después de agosto de 2021 deben usar la firma de apps de Play. Sin embargo, para subir un AAB a Play Console, aún debes firmarlo con tu certificado de desarrollador. Las apps más antiguas aún se pueden autofirmar, pero, ya sea que uses la firma de apps de Play o las autofirmas, debes firmarlas antes de poder subir la app.

Para obtener más información sobre los requisitos de certificación, consulta Firma tu app.

Importante: La app debe estar firmada con una clave criptográfica cuyo período de validez expire después del 22 de octubre de 2033.

Además, es posible que también debas obtener otras claves de lanzamiento si tu app accede a un servicio o utiliza una biblioteca de terceros que requiera el uso de una clave basada en tu clave privada.

Ícono de la app

El ícono de la app ayuda a que los usuarios puedan identificarla en la pantalla principal de un dispositivo y en la ventana del Launcher. También aparece en "Administrar aplicaciones", "Mis descargas" y otras secciones. Además, los servicios de publicación, como Google Play, muestran tu ícono a los usuarios. Asegúrate de contar con un ícono de la app y de que cumpla con los lineamientos recomendados para íconos.

Nota: Si lanzas tu app en Google Play, debes crear una versión del ícono en alta resolución. Para obtener más información, consulta Agrega elementos de vista previa para promocionar tu app.

Contrato de Licencia para el Usuario Final

Procura crear un contrato de licencia para el usuario final (CLUF) de tu app, ya que te ayudará a proteger tu persona, organización y propiedad intelectual. Por eso, te recomendamos que incluyas uno con tu app.

Otros materiales

Es posible que también tengas que preparar materiales promocionales y de marketing para publicitar tu app. Por ejemplo, si lanzas tu app en Google Play, deberás preparar texto promocional y crear capturas de pantalla de tu app. Para obtener más información, consulta Agrega elementos de vista previa para promocionar tu app.

Cómo configurar tu app para el lanzamiento

Luego de recopilar todo el material complementario, puedes comenzar a configurar tu app para el lanzamiento. En esta sección, se ofrece un resumen de los cambios de configuración que te recomendamos hacer en tu código fuente, en archivos de recursos y en el manifiesto de tu app antes del lanzamiento.

A pesar de que la mayoría de los cambios de configuración que se nombran en esta sección son opcionales, se consideran como buenas prácticas de programación y te recomendamos implementarlos. En algunos casos, es posible que ya hayas hecho estos cambios de configuración como parte de tu proceso de desarrollo.

Cómo elegir un ID de aplicación adecuado

Asegúrate de elegir un ID de aplicación que sea apropiado para toda la vida útil de tu app. No puedes cambiarlo luego de distribuir tu app a los usuarios. Para configurarlo, usa la propiedad applicationId en el archivo build.gradle o build.gradle.kts a nivel del módulo. Para obtener más información, consulta Cómo configurar el ID de aplicación.

Cómo desactivar la depuración

Para configurar si el APK es depurable, usa la marca debuggable para Groovy o la marca isDebuggable para la secuencia de comandos de Kotlin:

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Groovy

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Cómo habilitar y configurar la reducción de apps

Muchas de las siguientes optimizaciones se pueden automatizar si se habilita la reducción para tu compilación de lanzamiento. Por ejemplo, puedes agregar reglas de ProGuard para quitar las instrucciones de registro, y el reductor identificará y quitará el código y los recursos sin usar. El reductor también puede reemplazar los nombres de clases y variables por nombres más cortos para reducir aún más el tamaño de DEX.

Cómo desactivar el registro

Desactiva el registro antes de compilar tu app para el lanzamiento. Puedes desactivar el registro si quitas las llamadas a los métodos Log en los archivos fuente. Además, quita todos los archivos de registro o archivos de prueba estáticos que se crearon en tu proyecto.

También, quita todas las llamadas de rastreo de Debug que hayas agregado a tu código, como las llamadas a métodos startMethodTracing() y stopMethodTracing().

Importante: Asegúrate de inhabilitar la depuración de tu app si usas WebView para mostrar contenido pagado o si usas interfaces JavaScript, ya que la depuración permite que los usuarios inserten secuencias de comandos y extraigan contenido con las Herramientas para desarrolladores de Chrome. Para inhabilitar la depuración, utiliza el método WebView.setWebContentsDebuggingEnabled().

Cómo limpiar los directorios de tu proyecto

Limpia tu proyecto y asegúrate de que cumpla con la estructura de directorios que se describe en Descripción general de proyectos. Dejar archivos sueltos o huérfanos en tu proyecto puede impedir que tu app se compile y hacer que se comporte de manera impredecible. Como mínimo, realiza las siguientes tareas de limpieza:

  • Revisa los contenidos de tus directorios cpp/, lib/ y src/. El directorio cpp/ debería contener únicamente archivos fuente asociados con el NDK de Android, como archivos fuente C o C++, archivos de encabezado o archivos makefile. El directorio lib/ debería contener solo archivos de bibliotecas de terceros o privadas, incluidas las bibliotecas estáticas y compartidas que se hayan compilado previamente. El directorio src/ debería contener únicamente los archivos fuente para tu app (archivos Java, Kotlin y AIDL). El directorio src/ no debería contener ningún archivo JAR.
  • Busca los archivos de datos privados o de propietario que tu app no use y quítalos de tu proyecto. Por ejemplo, en el directorio res/ de tu proyecto, busca archivos de elementos de diseño, archivos de diseño y archivos de valores antiguos que ya no uses, y bórralos.
  • En tu directorio lib/, busca bibliotecas de prueba y quítalas si ya no se usan en tu app.
  • Revisa los contenidos del directorio assets/ y del directorio res/raw/ en busca de archivos de recursos sin procesar y archivos estáticos que necesites actualizar o quitar antes del lanzamiento.

Cómo revisar y actualizar tu manifiesto, y la configuración de compilación de Gradle

Comprueba que la configuración del manifiesto y de los elementos de archivos de compilación siguientes sea correcta:

  • Elemento <uses-permission>

    Especifica únicamente los permisos que sean relevantes y requeridos por tu app.

  • Atributos android:icon y android:label

    Debes especificar valores para estos atributos, que se encuentran en el elemento <application>.

  • Propiedades versionCode y versionName

    Te recomendamos que especifiques valores para estas propiedades, que se encuentran en el archivo build.gradle o build.gradle.kts a nivel del módulo de la app. Para obtener más información, consulta Establece la versión de tu app.

Existen varios elementos de archivos de compilación adicionales que puedes configurar si lanzas tu app en Google Play. Por ejemplo, los atributos minSdk y targetSdk, que se encuentran en el archivo build.gradle o build.gradle.kts a nivel del módulo de la app. Para obtener más información sobre estos parámetros de configuración de Google Play y otras, consulta Filtros en Google Play.

Cómo tratar los problemas de compatibilidad

Android ofrece varias herramientas y técnicas para que tu app sea compatible con una amplia variedad de dispositivos. Si deseas que tu app esté disponible para una mayor cantidad de usuarios, procura hacer lo siguiente:

Agrega compatibilidad para diferentes configuraciones de pantalla
Asegúrate de cumplir con las prácticas recomendadas para la compatibilidad con diferentes pantallas. Cuando ofreces compatibilidad con diferentes configuraciones de pantalla, puedes crear una app que funcione de manera adecuada y se vea bien en cualquiera de los tamaños de pantalla con los que Android sea compatible.
Optimiza tu app para pantallas más grandes
Puedes optimizar tu app para que funcione bien en dispositivos con pantallas grandes, como tablets y dispositivos plegables. Por ejemplo, los diseños de lista de detalles pueden mejorar la usabilidad en pantallas más grandes.
Considera el uso de bibliotecas de Jetpack
Jetpack es un conjunto de bibliotecas que ayuda a los desarrolladores a seguir las prácticas recomendadas, reducir el código estándar y escribir código que funcione de manera coherente en los dispositivos y las versiones de Android.

Cómo actualizar las URLs para servidores y servicios

Si tu app accede a servidores o servicios remotos, asegúrate de usar la URL de producción o la ruta de acceso para el servidor o servicio, y no una URL o ruta de acceso de prueba.

Cómo implementar licencias para Google Play

Si lanzas una app pagada en Google Play, procura agregar compatibilidad con el servicio de licencias de Google Play. Las licencias te permiten controlar el acceso a tu app dependiendo de si el usuario la compró o no. El uso del servicio de licencias de Google Play es opcional incluso si lanzas tu app a través de Google Play.

Para obtener más información sobre el servicio de licencias de Google Play y sobre la manera de usarlo en tu app, consulta Licencias de apps.

Cómo compilar tu app para el lanzamiento

Cuando termines de configurar tu app, puedes compilarla en un archivo APK listo para el lanzamiento, firmado y optimizado. El JDK incluye las herramientas para firmar el archivo APK (Keytool y Jarsigner); el SDK de Android incluye las herramientas para compilar y optimizar el archivo APK. Si usas Android Studio o el sistema de compilación de Gradle desde la línea de comandos, puedes automatizar el proceso completo. Si quieres obtener más información para configurar compilaciones de Gradle, consulta Cómo configurar variantes de compilación.

Si usas un sistema de integración continua, puedes configurar una tarea para automatizar tu proceso de lanzamiento. Esto no se limita a la compilación del APK o AAB de lanzamiento. También puedes configurarlo para subir automáticamente los artefactos de compilación a Play Console.

Cómo crear apps con Android Studio

Puedes usar el sistema de compilación de Gradle, integrado con Android Studio, para compilar un archivo APK listo para el lanzamiento que esté optimizado y firmado con tu clave privada. Para aprender a configurar y ejecutar compilaciones desde Android Studio, consulta Cómo compilar y ejecutar tu app.

El proceso de compilación asume de antemano que tienes un certificado y una clave privada adecuados para firmar tu app. Si no los tienes, Android Studio puede ayudarte a generarlos. Para obtener más información sobre el proceso de firma, consulta Firma tu app.

Cómo preparar recursos y servidores externos

Si tu app depende de un servidor remoto, asegúrate de que el servidor esté protegido y configurado para usarse en la producción. Eso es muy importante si implementas la facturación integrada en la app y realizas el paso de verificación de firma en un servidor remoto.

Además, si tu app recupera contenido de un servidor remoto o un servicio en tiempo real (como un canal de contenido), asegúrate de que el contenido que proveas esté actualizado y listo para producción.

Cómo probar tu app para el lanzamiento

Probar la versión de actualización de tu app te ayuda a garantizar que se ejecute correctamente en condiciones reales de dispositivos y redes. Lo ideal sería que pruebes tu app en al menos un dispositivo con el tamaño de un teléfono celular y uno con el de una tablet para verificar que los elementos de tu interfaz de usuario tengan el tamaño correcto y que el rendimiento y el consumo de batería de la app sean aceptables. Firebase Test Lab también puede ser útil para realizar pruebas en una variedad de diferentes dispositivos y versiones de SO Android.

Como punto de partida para las pruebas, consulta Calidad básica de las apps. Cuando termines con las pruebas y estés satisfecho con el comportamiento de la versión de actualización de tu app, podrás publicarla. Para obtener más información, consulta Cómo lanzar tu app a los usuarios.