Jetpack es un conjunto de bibliotecas que ayuda 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 para que los desarrolladores puedan enfocarse en el código que les interesa.
Jetpack Compose
Es un moderno kit de herramientas para compilar IU nativas que te permite simplificar y acelerar el desarrollo de IU en Android.

¿Por qué deberías usar Android Jetpack?

Las bibliotecas de Android Jetpack, creadas con prácticas de diseño modernas, disminuyen la cantidad de fallas y fugas de memoria, además de brindar retrocompatibilidad.
Android Jetpack administra actividades tediosas, como las tareas en segundo plano, la navegación y la gestión del ciclo de vida, para que puedas enfocarte en los mejores aspectos de tu app.
Reduce la complejidad con bibliotecas que funcionan con coherencia en diferentes dispositivos y versiones de Android.

* Las bibliotecas populares y de uso frecuente aparecen primero.

activity*Accede a las APIs componibles compiladas sobre Activity.
appcompat*Permite el acceso a nuevas APIs en versiones de APIs anteriores de la plataforma (muchas con Material Design).
appsearch *Ofrece a los usuarios búsquedas personalizadas en la app.
camera*Compila apps para cámaras móviles.
compose *Define tu IU de manera programática con funciones de componibilidad y que describan su forma y sus dependencias de datos.
databinding*Usa un formato declarativo para vincular los componentes de la IU en tus diseños con las fuentes de datos de tu app.
fragment*Segmenta tu app en varias pantallas independientes alojadas en un objeto Activity.
hilt *Extiende la funcionalidad de Dagger Hilt para habilitar la inserción de dependencias de ciertas clases de las bibliotecas de AndroidX.
lifecycle*Compila componentes optimizados para ciclos de vida que puedan ajustar el comportamiento según el estado actual del ciclo de vida de una actividad o un fragmento.
Componentes de Material Design* Son componentes de IU de Material Design modulares y personalizables para Android.
navigation*Compila y estructura la IU integrada en la app, controla los vínculos directos y navega entre pantallas.
paging*Carga datos en páginas y preséntalos en una RecyclerView.
room*Crea, almacena y administra datos persistentes con copia de seguridad en una base de datos SQLite.
test*Pruebas en Android
work*Programa y ejecuta tareas en segundo plano diferibles y basadas en restricciones.
adsObtén un ID de publicidad con o sin los Servicios de Play.
annotationExpón los metadatos que ayudan a las herramientas y a otros desarrolladores a comprender el código de tu app.
arch.coreAsistente para otras dependencias de arquitectura, incluidas las reglas de prueba JUnit que se pueden usar con LiveData.
asynclayoutinflaterAumenta los diseños de forma asíncrona para evitar bloqueos en la IU.
autofillMejora la precisión de la función Autocompletar con sugerencias de extensiones.
benchmarkMide con precisión el rendimiento de tu código dentro de Android Studio.
biometricAutentica con credenciales biométricas o del dispositivo, y realiza operaciones criptográficas.
BluetoothUsa las funciones de Bluetooth de la plataforma de Android con APIs retrocompatibles.
browserMuestra páginas web en el navegador predeterminado del usuario.
car-appCompila apps con plantillas para Android Auto y el SO Android Automotive.
cardviewImplementa el patrón de tarjeta de Material Design con esquinas redondeadas y sombras paralelas.
collectionReduce el impacto de la memoria de las colecciones existentes y nuevas que sean pequeñas.
compose.animationCompila animaciones en las aplicaciones de Jetpack Compose para enriquecer la experiencia del usuario.
compose.compilerTransforma las funciones que admite @Composable y habilita las optimizaciones con un complemento de compilador de Kotlin.
compose.foundationEscribe aplicaciones de Jetpack Compose con componentes fundamentales listos para usar y extiende la base para compilar tus propias piezas de sistema de diseño.
compose.materialCompila las IUs de Jetpack Compose con componentes de Material Design listos para usar. Este es el punto de entrada de nivel superior de Compose, diseñado para proporcionar componentes que coincidan con los descritos en www.material.io.
compose.material3Compila las IUs de Jetpack Compose con componentes de Material Design 3, la siguiente evolución de Material Design. Material 3 incluye temas y componentes actualizados, y funciones de personalización de Material You, como el color dinámico. Además, se diseñó para ser coherente con el nuevo estilo visual y la IU del sistema de Android 12.
compose.runtimeSe trata de los componentes fundamentales del modelo de programación de Compose y de su administración de estados, así como del entorno de ejecución principal al cual se orienta el complemento de compilación de Compose.
compose.uiSe trata de los componentes fundamentales de la IU de Compose necesarios para interactuar con el dispositivo, incluidos el diseño, el dibujo y la entrada.
concurrentQuita las tareas del subproceso principal con corrutinas y aprovecha ListenableFuture.
constraintlayoutPosiciona y ajusta el tamaño de los widgets de un modo flexible con posicionamiento relativo.
contentpagerCarga y numera los datos del objeto ContentProvider en un subproceso en segundo plano.
coordinatorlayoutPosiciona los widgets de la aplicación de nivel superior, como AppBarLayout y FloatingActionButton.
coreOrienta tu contenido a las APIs y funciones más recientes de la plataforma y, a la vez, admite dispositivos anteriores.
core.uwbImplementa UWB (banda ultraancha) en dispositivos compatibles.
credentials Esta biblioteca proporciona acceso unificado a las credenciales de un usuario. Esto puede incluir contraseñas, llaves de acceso y credenciales federadas. Esta biblioteca debe usarse para proporcionar experiencias de acceso seguras y sin interrupciones.
cursoradapterExpón los datos de Cursor a un widget de ListView.
customviewImplementa vistas personalizadas.
datastoreAlmacena los datos de forma asíncrona, coherente y transaccional, y, por ende, resuelve algunos de los inconvenientes de SharedPreferences.
documentfileConsulta un documento de archivo.
draganddropAcepta datos de la función de arrastrar y soltar dentro de una app o desde otra y muestra una opción coherente de destino para soltar.
drawerlayoutImplementa un widget de panel lateral de Material Design.
dynamicanimationCrea animaciones fluidas con una API de animación basada en la física.
emojiMuestra emojis en dispositivos modernos y antiguos.
emoji2Muestra emojis en dispositivos modernos y antiguos.
enterpriseCrea aplicaciones listas para su uso en empresas.
exifinterfaceLee y escribe etiquetas EXIF de archivos de imagen.
gamesUsa el SDK de juegos de Android de forma nativa en tu app para realizar tareas complejas de videojuegos, como definir ritmo de fotogramas.
glanceCompila diseños para superficies remotas con una API del estilo de Jetpack Compose.
graphicsAprovecha las instalaciones de gráficos en diferentes versiones de la plataforma de Android.
gridlayoutImplementa un diseño de cuadrícula.
healthCrea aplicaciones de salud eficaces en de manera independiente de plataformas.
health.connectPermite que los desarrolladores lean o escriban los registros de salud y fitness de los usuarios.
heifwriterCodifica una imagen o una colección de imágenes en formato HEIF con los códecs disponibles en el dispositivo Android.
entradaReduce la latencia de las interacciones de entrada mediante la predicción de MotionEvents futuros.
interpolatorUsa interpolación de animación en plataformas anteriores.
javascriptengineHabilita tu app de Android para evaluar JavaScript.
jetifierUna herramienta independiente que migra las dependencias en una biblioteca de compatibilidad obsoleta a dependencias de AndroidX equivalentes.
leanbackEscribe apps para dispositivos Android TV con widgets y fragmentos de plantillas compatibles con el Dpad.
legacyEste artefacto y sus clases dejaron de estar disponibles. A partir de Android 8, las restricciones de verificación de antecedentes hacen que esta clase ya no sea útil.
pelusaComprobaciones de lint para verificar el uso de las APIs de Gradle
loaderCarga datos para tu IU que se conserven después de los cambios de configuración.
localbroadcastmanagerEste artefacto y sus clases dejaron de estar disponibles. En su lugar, debes usar LiveData o transmisiones reactivas.
mediaComparte contenido y controles multimedia con otras apps. Sustituida por media2.
media2Comparte contenido y controles multimedia con otras apps.
media3 *Admite bibliotecas para casos de uso de contenido multimedia.
mediarouterHabilita la reproducción y la visualización de contenido multimedia en dispositivos receptores remotos mediante una interfaz de usuario común.
multidexImplementa aplicaciones con varios archivos dex en dispositivos anteriores a Android 5.
metricsRealiza un seguimiento y genera informes de varias métricas del tiempo de ejecución de tu aplicación.
paletteExtrae paletas de colores representativas de imágenes.
percentlayoutEste artefacto y sus clases dejaron de estar disponibles. En su lugar, usa ConstraintLayout y los diseños asociados.
preferenceCrea pantallas de configuración interactivas sin necesidad de interactuar con el almacenamiento del dispositivo ni de administrar la IU.
printImprime fotos, documentos y otros gráficos o imágenes desde tu app.
privacysandbox.activityPENDIENTE
privacysandbox.adsEsta biblioteca permite la integración con las APIs de preservación de la privacidad, que forman parte de Privacy Sandbox en Android.
privacysandbox.pluginsComplemento de Gradle de la biblioteca de SDK de Privacy Sandbox de Android
privacysandbox.sdkruntimeEsta biblioteca proporciona componentes para los consumidores que conocen el SdkRuntime.
privacysandbox.toolsUna biblioteca para usar la funcionalidad de Privacy Sandbox en Android
privacysandbox.uiPENDIENTE
profileinstallerPermite que las bibliotecas prepropaguen los registros de compilación de manera anticipada para que ART los lea.
recommendationPromociona contenido en la pantalla principal del Launcher de Android TV.
recyclerviewMuestra grandes conjuntos de datos en tu IU y, a la vez, minimiza el uso de memoria.
remotecallbackCrea un wrapper para que los desarrolladores puedan proporcionar un elemento PendingIntent con mayor facilidad.
resourceinspectionMuestra los atributos de las vistas personalizadas en el Inspector de diseño en vivo de Android Studio.
savedstateEscribe componentes que se puedan conectar y que guarden el estado de la IU cuando se cierre un proceso y lo restablezcan cuando se reinicie.
securityAdministra claves y encripta archivos y preferencias compartidas de forma segura.
sharetargetProporciona retrocompatibilidad para usar accesos directos como objetivos de uso compartido directo.
sliceMuestra elementos de la IU con plantillas fuera de la app.
slidingpanelayoutImplementa un patrón de IU de panel deslizante.
startupImplementa una forma sencilla y eficaz de inicializar componentes cuando se abre una app.
sqliteTrabaja con bases de datos locales de SQLite. Si es posible, usa Room.
swiperefreshlayoutImplementa el patrón de UI de deslizar para actualizar.
test.uiautomatorFramework para pruebas de IU funcionales entre apps
textclassifierIdentifica conversaciones, vínculos, selecciones y otras construcciones similares en textos.
tracingEscribe eventos de seguimiento en el búfer de registro del sistema.
transitionAnima el movimiento en la IU con diseños iniciales y finales.
tvLes proporciona a los desarrolladores funciones de Compose y Material Design para escribir aplicaciones para TV
tvproviderProporciona canales de Android TV.
vectordrawableRenderiza gráficos vectoriales.
versionedparcelableProporciona un formato de serialización binario estable y compacto que se puede pasar de un proceso a otro o conservar de forma segura.
viewpagerMuestra objetos de Views o Fragments en formato deslizable. Si es posible, usa el objeto viewpager2 en su lugar.
viewpager2Muestra objetos de Views o Fragments en formato deslizable.
wearCrea aplicaciones para relojes inteligentes de Wear OS by Google.
wear.composeProporciona funcionalidades que admiten dispositivos, tamaños, formas y gestos de navegación específicos para wearables para escribir aplicaciones de Jetpack Compose para wearables.
wear.protolayoutEsta biblioteca permite definir un conjunto diseños de la IU y expresiones ajenas a ella para que se rendericen o evalúen en plataformas remotas.
wear.tilesCrea aplicaciones para relojes inteligentes de Wear OS by Google.
wear.watchfaceCrea aplicaciones para relojes inteligentes de Wear OS by Google.
webkitTrabaja con las APIs modernas de WebView en Android 5 y versiones posteriores.
windowAyuda a admitir diferentes factores de forma de dispositivos, como dispositivos plegables.
window.extensions.coreLas APIs de Core para las extensiones de biblioteca de Window Manager
Compose (agosto de 2023)
Jetpack Compose 1.5.0 pasa a ser estable y ofrece mejoras de rendimiento importantes, incluida una refactorización de modificadores de alto nivel, como "Clickable", que pueden mejorar el tiempo de composición en un 80%. Agosto de 2023 Compose también ofrece una mejora de hasta un 70% en la asignación de memoria (especialmente en la pila de gráficos), lo que reducirá el espacio en memoria de Compose en los dispositivos.
Wear Compose y Tiles 1.2
Tanto Wear Compose como Wear Tiles se cambiaron a la versión estable para mejorar aún más la experiencia de los desarrolladores de Wear OS. Ambos se complementan, ya que se puede usar Wear Compose para compilar pantallas complejas de apps en dispositivos para Wear y usar tarjetas de Wear para crearlas. La nueva versión de Wear Compose incluye funciones nuevas, como Elementos expandibles y Deslizar para revelar. La versión de Wear Tiles ahora también admite animaciones de widgets y vinculación de datos de plataforma (como la fuente de datos de salud).
Window 1.1
1.1 estabiliza las APIs de incorporación de actividades, lo que permite que apps como WhatsApp, eBay y Temu envíen diseños de pantalla grande. La API está enriquecida con funciones, ya que permite a los desarrolladores modificar el comportamiento de la pantalla dividida, comprobar (y cambiar) el estado de la división en el tiempo de ejecución, implementar divisiones horizontales y también iniciar una ventana modal en una ventana completa.
Notas de la versión
Para obtener más información, consulta las notas de la versión.

Aprende a usar Jetpack

Aprende las bibliotecas de Jetpack esenciales en el curso Aspectos básicos de Android con Compose y reduce el código estándar en tu app.
Obtén información práctica con tres bibliotecas de Jetpack que simplifican tu capa de datos: LiveData, ViewModel y Room.
Explora cómo se usan juntas las bibliotecas de Jetpack más populares en una app de producción

Noticias y videos