Jetpack is a suite of libraries to help developers follow best practices, reduce boilerplate code, and write code that works consistently across Android versions and devices so that developers can focus on the code they care about.
Introducing support for multiple backstacks. Switch between bottom navigation items and each item maintains its own state.
Benchmark your app startup and integrated behaviors like scrolling performance. The library can be used remotely to track metrics in continuous integration testing or locally, with profiling results viewable from Android Studio.
Any app that’s using AppCompat 1.4 or later will automatically pull in EmojiCompat2, giving it the ability to dynamically load new emoji and stay current with the latest Unicode spec

Learn to use Jetpack

Learn the essential Jetpack libraries in the Android Kotlin Fundamentals Course and reduce boilerplate in your app
Get hands-on with three Jetpack libraries that simplify your data layer: LiveData, ViewModel and Room
Explore how the most popular Jetpack libraries are used together in a production-level app

* Popular and often-used libraries are listed first

activity *Access composable APIs built on top of Activity.
appcompat *Allows access to new APIs on older API versions of the platform (many using Material Design).
appsearch *Build custom in-app search capabilities for your users.
camera *Build mobile camera apps.
compose *Define your UI programmatically with composable functions that describe its shape and data dependencies.
databinding *Bind UI components in your layouts to data sources in your app using a declarative format.
fragment *Segment your app into multiple, independent screens that are hosted within an Activity.
hilt *Extend the functionality of Dagger Hilt to enable dependency injection of certain classes from the androidx libraries.
lifecycle *Build lifecycle-aware components that can adjust behavior based on the current lifecycle state of an activity or fragment.
Material Design Components * Modular and customizable Material Design UI components for Android.
navigation *Build and structure your in-app UI, handle deep links, and navigate between screens.
paging *Load data in pages, and present it in a RecyclerView.
room *Create, store, and manage persistent data backed by a SQLite database.
test *Testing in Android.
work *Schedule and execute deferrable, constraint-based background tasks.
adsGet an advertising ID with or without Play Services.
annotationExpose metadata that helps tools and other developers understand your app's code.
arch.coreHelper for other arch dependencies, including JUnit test rules that can be used with LiveData.
asynclayoutinflaterInflate layouts asynchronously to avoid jank in the UI.
autofillImprove autofill accuracy via extending hints.
benchmarkAccurately measure your code's performance within Android Studio.
biometricAuthenticate with biometrics or device credentials, and perform cryptographic operations.
browserDisplay webpages in the user's default browser.
car-appBuild navigation, parking, and charging apps for Android Auto.
cardviewImplement the Material Design card pattern with round corners and drop shadows.
collectionReduce the memory impact of existing and new collections that are small.
compose.animationBuild animations in their Jetpack Compose applications to enrich the user experience.
compose.compilerTransform @Composable functions and enable optimizations with a Kotlin compiler plugin.
compose.foundationWrite Jetpack Compose applications with ready to use building blocks and extend foundation to build your own design system pieces.
compose.materialBuild Jetpack Compose UIs with ready to use Material Design Components. This is the higher level entry point of Compose, designed to provide components that match those described at www.material.io.
compose.runtimeFundamental building blocks of Compose's programming model and state management, and core runtime for the Compose Compiler Plugin to target.
compose.uiFundamental components of compose UI needed to interact with the device, including layout, drawing, and input.
concurrentMove tasks off the main thread with coroutines and take advantage of ListenableFuture.
constraintlayoutPosition and size widgets in a flexible way with relative positioning.
contentpagerLoad and page across ContentProvider data in a background thread.
coordinatorlayoutPosition top-level application widgets, such as AppBarLayout and FloatingActionButton.
coreTarget the latest platform features and APIs while also supporting older devices.
cursoradapterExpose Cursor data to a ListView widget.
customviewImplement custom views.
datastoreStore data asynchronously, consistently, and transactionally, overcoming some of the drawbacks of SharedPreferences
documentfileView a file document.
drawerlayoutImplement a Material Design drawer widget.
dynamicanimationCreate smooth animations with a physics-based animation API.
emojiDisplay emoji in current and older devices.
emoji2Display emoji in current and older devices.
enterpriseCreate enterprise-ready applications.
exifinterfaceRead and write image file EXIF tags.
gamesUse the Android Game SDK natively in your app to perform complex games tasks, like Frame Pacing.
gridlayoutImplement a grid layout.
healthCreate performant health applications in a platform agnostic way.
heifwriterEncode an image or image collection in HEIF format using the available codecs on the Android device.
interpolatorUse animation interpolators on older platforms.
jetifierA standalone tool that migrates a library's dependencies on the deprecated support library to equivalent AndroidX dependencies.
leanbackWrite apps for Android TV devices using dpad-friendly widgets and template fragments.
legacyThis artifact and its classes are deprecated. Starting with Android 8, background check restrictions make this class no longer useful.
loaderLoad data for your UI that survives configuration changes.
localbroadcastmanagerThis artifact and its classes are deprecated. Use LiveData or reactive streams instead.
mediaShare media contents and controls with other apps. Superseded by media2.
media2Share media contents and controls with other apps.
mediarouterEnable media display and playback on remote receiver devices using a common user interface.
multidexDeploy applications with multiple dex files on pre-Android 5 devices.
paletteExtract representative color palettes from images.
percentlayoutThis artifact and its classes are deprecated. Use ConstraintLayout and associated layouts instead.
preferenceBuild interactive settings screens without needing to interact with device storage or manage the UI.
printPrint photos, docs, and other graphics and images from your app.
profileinstallerEnables libraries to prepopulate ahead of time compilation traces to be read by ART.
recommendationPromote content to the Android TV Launcher home screen.
recyclerviewDisplay large sets of data in your UI while minimizing memory usage.
remotecallbackCreate a wrapper that makes it easier for developers to provide a PendingIntent.
resourceinspectionSurface the attributes of custom views in Android Studio’s Live Layout Inspector.
savedstateWrite pluggable components that save the UI state when a process dies, and restore it when the process restarts.
securitySafely manage keys and encrypt files and sharedpreferences.
sharetargetProvide backwards compatibility for using shortcuts as direct share targets.
sliceDisplay templated UI elements outside your app.
slidingpanelayoutImplement a sliding pane UI pattern.
startupImplement a straightforward, performant way to initialize components at app startup.
sqliteWork with local SQLite databases. If possible, use Room instead.
swiperefreshlayoutImplement the swipe-to-refresh UI pattern.
textclassifierIdentifies conversations, links, selections, and other similar constructs in text.
tracingWrite trace events to the system trace buffer.
transitionAnimate motion in the UI with starting and ending layouts.
tvproviderProvide Android TV channels.
vectordrawableRender vector graphics.
versionedparcelableProvides a stable and compact binary serialization format that can be passed across processes or persisted safely.
viewpagerDisplay Views or Fragments in a swipeable format. If possible, use viewpager2 instead.
viewpager2Display Views or Fragments in a swipeable format.
wearCreate applications for Wear OS by Google smartwatches.
wear-composeWrite Jetpack Compose applications for Wearable devices by providing functionality to support wearable specific devices, sizes, shapes and navigation gestures.
wear-tilesCreate applications for Wear OS by Google smartwatches.
wear.watchfaceCreate applications for Wear OS by Google smartwatches.
webkitWork with modern WebView APIs on Android 5 and above.
windowHelps support different device form factors such as foldable devices.
Paging 3.0.0
The Paging Library makes it easier for you to load data gradually and gracefully within your app's RecyclerView.
CameraX 1.0.0
CameraX is an addition to Jetpack that makes it easier to add camera capabilities to your app. The library provides a number of compatibility fixes and workarounds to help make the developer experience consistent across many devices.
Car App 1.0.0
Build navigation, parking, and charging apps for Android Auto.
Hilt 1.0.0
Extend the functionality of Dagger Hilt to enable dependency injection of certain classes from the androidx libraries.
AppSearch 1.0.0 alpha
AppSearch is an on-device search library for managing locally stored structured data, with APIs for indexing data and retrieving data using full-text search. Use it to build custom in-app search capabilities for your users.

Why use Android Jetpack?

Built around modern design practices, Android Jetpack Libraries enable fewer crashes and less memory leaks with backwards-compatibility baked in.
Android Jetpack manages tedious activities like background tasks, navigation, and lifecycle management, so you can focus on what makes your app great.
Reduce complexity with libraries that work consistently across Android versions and devices.

News and videos