Cómo comenzar a usar Android Jetpack

Jetpack es una colección de bibliotecas de Android que incorpora prácticas recomendadas y proporciona retrocompatibilidad en tus apps para Android.

La guía de arquitectura de apps de Jetpack brinda una descripción general de las prácticas y la arquitectura que se recomienda tener en cuenta al crear una app para Android.

En las siguientes secciones, se explica cómo comenzar a usar los componentes de Jetpack.

Cómo usar la biblioteca de Jetpack en tu app

Todos los componentes de Jetpack están disponibles en el repositorio Maven de Google.

Abre el archivo settings.gradle y agrega el repositorio google() en el bloque dependencyResolutionManagement { repositories {...}} como se muestra a continuación:

Groovy

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        jcenter()
    }
}

Kotlin

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        jcenter()
    }
}

Luego, puedes agregar componentes de Jetpack, como componentes de arquitectura (por ejemplo LiveData y ViewModel), en el archivo build.gradle del módulo, como se muestra a continuación:

Groovy

dependencies {
    def lifecycle_version = "2.2.0"

    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    ...
}

Kotlin

dependencies {
    val lifecycle_version = "2.2.0"

    implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
    ...
}

Muchas bibliotecas de Jetpack proporcionan extensiones de Android KTX, como se muestra arriba con lifecycle-livedata-ktx y lifecycle-viewmodel-ktx. Las extensiones KTX compilan sobre la API basada en Java y aprovechan las funciones específicas del lenguaje Kotlin.

Para obtener información sobre las nuevas versiones de la biblioteca de Jetpack, consulta la página de Versiones.

Hay páginas de referencia sobre las API basadas en Kotlin y en Java disponibles para todas las bibliotecas de Jetpack.

Verifica las dependencias de Jetpack (opcional)

A partir de junio de 2023, el equipo de Jetpack firmará bibliotecas de Jetpack. Estos las firmas permiten a los desarrolladores verificar que los artefactos de la biblioteca se hayan creado y firmado por Google. Una biblioteca es apta para la verificación de firma una vez publica una actualización.

Si tu proyecto de Android tiene habilitada la verificación de firmas, sigue estos pasos: para verificar las dependencias de Jetpack en el proyecto de Gradle:

  1. Agrega las claves de confianza de Google a la sección <trusted-keys> en $PROJECT_ROOT/gradle/verification-metadata.xml

    <trusted-keys>
        <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b">
            ...
        </trusted-key>
        <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2">
            ...
        </trusted-key>
        ...
    </trusted-keys>
    
  2. Agrega una entrada <trusting group> para cada biblioteca que use el proyecto. Este es un ejemplo de las bibliotecas androidx.fragment y androidx.emoji2:

    <trusted-keys>
        <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b">
            <trusting group="androidx.fragment"/>
            <trusting group="androidx.emoji2"/>
        </trusted-key>
        <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2">
            <trusting group="androidx.fragment"/>
            <trusting group="androidx.emoji2"/>
        </trusted-key>
        ...
    </trusted-keys>
    

Si tienes problemas con la verificación de dependencias, visita la guía de Gradle sobre solución de problemas de la verificación de dependencias.

Por último, los detalles de nuestra clave de confianza pueden consultarse en Sitio de claves de Ubuntu.

Cómo aprovechar Jetpack

Las bibliotecas de Jetpack se pueden usar por separado o combinadas para abordar las diferentes necesidades de tus apps.

  • WorkManager para tus necesidades de programación en segundo plano
  • Room para tener almacenamiento persistente de datos
  • Navigation para administrar el flujo de navegación de tu aplicación
  • CameraX para las necesidades de cámara de tu app
  • Consultar la Descripción general de todas las bibliotecas de Jetpack

Las bibliotecas de Jetpack se publican en el espacio de nombres de androidx. Si tu proyecto usa la biblioteca de compatibilidad de Android, obtén información sobre cómo migrar al espacio de nombres de androidx.

Para obtener más información sobre el uso de Jetpack, consulta estas páginas:

Recursos adicionales

Capacitación en línea

Código de muestra

  • La app de demostración Sunflower usa varios componentes de Jetpack para ilustrar las recomendaciones de desarrollo de Android.

Codelabs

Videos