# What is Jetpack?

![alt_text](androidx.gif "Androidx Gif")

## What is `androidx`?

Artifacts within the `androidx` package comprise the libraries of
[Android Jetpack](https://developer.android.com/jetpack).

Libraries in the `androidx` package provide functionality that extends the
capabilities of the Android platform. These libraries, which ship separately
from the Android OS, focus on improving the experience of developing apps
through broad OS- and device-level compatibility, high-level abstractions to
simplify and unify platform features, and other new features that target
developer pain points.

For frequently asked questions, see the [General FAQ](faq.md).

To get started developing in AndroidX, see the [Getting started](onboarding.md)
guide.

## Quick links

### Filing an issue

Have a bug or feature request? Please check our
[public Issue Tracker component](http://issuetracker.google.com/issues/new?component=192731&template=842428)
for duplicates first, then file against the appropriate sub-component according
to the library package or infrastructure system. Learn more at
[Issue tracking](onboarding.md#tracking-bugs).
