# Installation

All Stream Android libraries are available from MavenCentral, with some of their transitive dependencies hosted on Jitpack.

Before you add Stream dependencies, update your repositories in the `settings.gradle` file to include these two repositories:

```groovy {5-6}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}
```

Or if you're using an older project setup, add these repositories in your project level `build.gradle` file:

```groovy {4-5}
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}
```

Check the [Releases page](https://github.com/GetStream/stream-chat-android/releases) for the latest version and the changelog.

[![Latest version badge](https://img.shields.io/github/v/release/GetStream/stream-chat-android)](https://github.com/GetStream/stream-chat-android/releases)

## Available Artifacts

### Client

To add the low-level Chat client library to your app, open your module's `build.gradle` script and add the following:

```groovy
dependencies {
    implementation "io.getstream:stream-chat-android-client:$stream_version"
}
```

### State

To use the state library in your application, add the following dependency:

```groovy
dependencies {
    implementation "io.getstream:stream-chat-android-state:$stream_version"
}
```

### Offline Support

To use offline support in your application, add the following dependency:

```groovy
dependencies {
    implementation "io.getstream:stream-chat-android-offline:$stream_version"
}
```

This also adds the client library automatically.

### UI Components

To use the [UI Components](/chat/docs/sdk/android/ui/overview/) in your application, add the following dependency:

```groovy
dependencies {
    implementation "io.getstream:stream-chat-android-ui-components:$stream_version"
}
```

Adding the UI Components library as a dependency will automatically include the client and offline libraries as well.

### Compose UI Components

To use the [Compose UI Components](/chat/docs/sdk/android/compose/overview/) instead, add the following dependency:

```groovy
dependencies {
    implementation "io.getstream:stream-chat-android-compose:$stream_version"
}
```

Adding the Compose UI Components library as a dependency will automatically include the client and offline libraries as well.

### Markdown support

We ship an additional artifact for Markdown support which can be used together with the UI Components library:

```groovy
dependencies {
    implementation "stream-chat-android-markdown-transformer:$stream_version"
}
```

For more information see [UI Components Configuration](/chat/docs/sdk/android/ui/general-customization/chatui#markdown/) guide.

### Push Notifications

We ship multiple artifacts to easily integrate Stream Chat with third party push notification providers. See the [Push Notification page](/chat/docs/sdk/android/client/guides/push-notifications/) for more details.

## Snapshot Builds

We publish SNAPSHOT versions of our SDK, which contain the code as of the latest commit on [the `develop` branch](https://github.com/GetStream/stream-chat-android/tree/develop).

These builds may contain bugs or breaking changes that will be fixed before the next proper release. However, you can use these builds temporarily to include the latest changes from our SDK in your project before the next release happens.

<admonition type="warning">

Snapshot builds are not stable. Never use them in production.

</admonition>

To use snapshot builds, you need to add the Sonatype snapshot repository in your Gradle build configuration (see at the top of this page for where to add this):

```groovy
maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
```

Then you can add a snapshot dependency on any of our artifacts, replacing the normal version number with a version that has a `-SNAPSHOT` postfix.
Our snapshot version is always one patch version ahead of the latest release we've published. If the last stable release was `X.Y.Z`, the snapshot version would be `X.Y.(Z+1)-SNAPSHOT`.

You can browse our available snapshot builds in the [Sonatype snapshot repository](https://oss.sonatype.org/content/repositories/snapshots/io/getstream/), which you can also check for what the latest available snapshot version is.

---

This page was last updated at 2025-08-15T14:15:37.504Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/android/basics/dependencies/](https://getstream.io/chat/docs/sdk/android/basics/dependencies/).