Jetpack is a collection of Android software components to make it easier for you to develop great Android apps. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.
Jetpack comprises the androidx.* package libraries, unbundled from the platform APIs. This means that it offers backward compatibility and is updated more frequently than the Android platform, making sure you always have access to the latest and greatest versions of the Jetpack components.
Android Jetpack Components
Android Jetpack components are a collection of libraries that are individually adoptable and built to work together while taking advantage of Kotlin language features that make you more productive. Use them all or mix and match!
Foundation components provide cross-cutting functionality like backwards compatibility, testing and Kotlin language support.
Architecture components help you design robust, testable and maintainable apps.
Declaratively bind observable data to UI elements
Manage your activity and fragment lifecycles
Notify views when underlying database changes
Handle everything needed for in-app navigation
Gradually load information on demand from your data source
Fluent SQLite database access
Manage UI-related data in a lifecycle-conscious way
Manage your Android background jobs
Behavior components help your app integrate with standard Android services like notifications, permissions, sharing and the Assistant.
Schedule and manage large downloads
Media & playback
Backwards compatible APIs for media playback and routing (including Google Cast)
Provides a backwards-compatible notification API with support for Wear and Auto
Compatibility APIs for checking and requesting app permissions
Create interactive settings screens
Provides a share action suitable for an app’s action bar
Create flexible UI elements that can display app data outside the app
UI components provide widgets and helpers to make your app not only easy, but delightful to use.
Animation & transitions
Move widgets and transition between screens
Components to help develop apps for Android Auto
Enable an up-to-date emoji font on older platforms
A basic unit of composable UI
Lay out widgets using different algorithms
Pull useful information out of color palettes
Components to help develop apps for Android TV
Wear OS by Google
Components to help develop apps for Wear
"With Android Architecture Components, we're re-architecting our entire app. It's great to have a Google-endorsed, opinionated, and clean way to build an Android app that makes it easier to support configuration changes."
Drew Hannay, Staff Software Engineer, LinkedIn
"We see higher agility and turnaround in new feature development with Android Architecture Components. And our overall speed continues to get better as more developers start using it."
Vishwanath Ramarao, CTO, Hike
"We love ViewModel and LiveData! Our code became so much more concise, stable, and readable, and the code architecture was beautifully unified. Stability improved, too!"
Zheng Songyin, senior development manager, BeautyPlus
"Room made it really easy for us to create the database table and DAO so we could quickly build our product. And the emphasis on testability is critical for us."
Demian Insung Hwang, KakaoTalk Developer, KakaoTalk