Introduction

The Stream Video Android SDK is a toolkit for building video calling, audio rooms and livestreaming into your app. It ships with Compose UI components and StateFlow objects, and every call runs on Stream's global edge network for lower latency and higher reliability.

This SDK is the client half of your integration. Call types, recording, transcription, webhooks and SIP are configured from your backend with a server-side SDK or the REST API, and the token your app connects with has to be signed there too. See the server-side overview for what to build there, starting with users and tokens.

Build with Stream CLI and Agent Skills

The Stream CLI and Agent Skills provide AI coding agents, such as Claude Code, Cursor, and Codex, with the tools and knowledge necessary to build apps with Stream.

Install the CLI and add the skills to your project:

curl -fsSL https://getstream.io/cli.sh | bash
getstream skills stream-android

Once installed, invoke it from your agent:

/stream Add Stream Video to my Android app.

The /stream skill acts as a router, reading your request and dispatching it to the specialist skill. You can also invoke the /stream-android skill directly.

Stream Agent Skills can also be installed from skills.sh.

Getting started

If you're new to Stream Video, start with these tutorials:

What you'll learn

Core concepts:

Advanced features:

FAQ

What's the minimum Android version?

API level 24 (Android 7.0). Telecom integration needs API 26+.

Can incoming calls ring when the app is closed?

Yes, through push notifications from Firebase, Huawei or Xiaomi. See push notifications.

Does a call survive the app going to the background?

Yes. The SDK starts a foreground service with an ongoing call notification by default. See keeping the call alive.

Can users share their screen?

Yes, through the Media Projection API. Sharing screen audio needs Android 10+. See screen sharing.

Can calls be moderated automatically?

Yes. Call moderation watches video keyframes and audio transcriptions in real time. Ask support to enable it.

Feedback

If something is missing or could be improved, contact us.