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.
camera.viewfinder"Visor independiente componible y basado en vistas para la cámara"
car-appCompila apps basadas en 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.material3.adaptiveUsa la biblioteca adaptable de Material 3 para crear IU adaptables que se adapten automáticamente según la configuración actual de la ventana, como las clases de tamaño de ventana o las posiciones del dispositivo. La biblioteca proporciona implementaciones de andamios predeterminados y elementos componibles de los componentes básicos necesarios para crear tus propias experiencias personalizadas.
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.
credentials.registryPara resolver estos problemas, agregamos un nuevo mecanismo de registro que permite que una app proporcione credenciales digitales de una manera que preserva la privacidad. En un nivel superior, la app del proveedor registrará previamente todas sus credenciales digitales candidatas con el Administrador de credenciales. Cuando el Administrador de credenciales reciba una solicitud de app para una credencial digital específica, ejecutará la IU de coincidencia de credenciales y selector de usuarios en una zona de pruebas.
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.
inkInspira las mejores apps de plumas. Bajar la barrera de entrada para los desarrolladores y ofrecer experiencias de escritura fluidas y de alto rendimiento
inputReduce 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.
leanbackUsa Compose para TV en lugar de este artefacto.
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.
lintLint realiza verificaciones 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 media3.
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.
pdfEs una biblioteca para agregar capacidades de visualización de PDF en las apps.
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 del 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 de 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 la versión estable y ofrece mejoras importantes en el rendimiento, incluida una refactorización de modificadores de alto nivel, como "Clickable", que puede mejorar el tiempo de composición en un 80%. Compose también ofrece hasta un 70% de mejora 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
Wear Compose y Wear Tiles pasaron a la versión estable para mejorar aún más la experiencia de los desarrolladores de Wear OS. Ambos se complementan, en los que se puede usar Wear Compose para compilar pantallas de apps complejas en dispositivos para Wear, y se pueden usar tarjetas de Wear para crear las tarjetas de apps. La nueva versión de Wear Compose incluye nuevas funciones, como elementos expandibles y deslizamiento para revelar. La versión de tarjetas para Wear ahora también admite la animación de widgets y la vinculación de datos de la plataforma (como la fuente de datos de salud).
Ventana 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 se enriquece con funciones, ya que permite a los desarrolladores modificar el comportamiento de la pantalla dividida, verificar (y cambiar) el estado de la división en el tiempo de ejecución, implementar divisiones horizontales y comenzar un elemento modal en la 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