> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Installing the Daily Client SDK for Android

> Learn how to get set up with the Daily Client SDK for Android.

## Minimum SDK version

The Daily Client SDK for Android requires a `minSdkVersion` of 21 or greater.

## Installing using Maven

In your top-level `build.gradle` file, add the Maven Central repository:

```groovy theme={null}
repositories {
    // ...
    mavenCentral()
}
```

In your app’s `build.gradle` file, add the Daily Client SDK dependency:

```groovy theme={null}
dependencies {
    // ...
    implementation 'co.daily:client:0.39.1'
}
```

Optionally, to use the camera video processor (for background blur and replacement), also add the following dependency:

```groovy theme={null}
dependencies {
    // ...
    implementation 'co.daily:client-videoprocessor-plugin:0.1.1'
}
```

## App setup

Make sure the following permissions are in your app’s `AndroidManifest.xml`:

```xml theme={null}
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>

<application>
  <!--
    A foreground service is needed in the following cases:
    - if you wish to screen share
    - if you wish to keep your call running while the app is in background
  -->
  <service
        android:name=".YourForegroundService"
        android:exported="false"
        android:foregroundServiceType="phoneCall|camera|microphone|mediaProjection" />
</application>
```

> The `foregroundServiceType` `phoneCall`, `camera` and `microphone` are needed in order to give your app the ability to continue running calls while in the background

> The `foregroundServiceType` `mediaProjection` is only needed if you wish to do screen sharing.

<Warning>
  `MODIFY_AUDIO_SETTINGS` has to be declared by your app. The SDK's own manifest does not declare it, so nothing adds it for you.

  If it is missing, calls that change the audio route (such as `setAudioDevice()`) still report success, but the sound keeps playing from the old device. There is no error to catch. If your app switches to the speaker, the earpiece, or a Bluetooth headset and the audio does not follow, check this permission first.
</Warning>

## Continuing calls in the background

In order to give your app the ability to continue running calls while in the background, you can start a foreground service that shows an in-call notification while your call is active.

You can read more about foreground services in the [Android documentation](https://developer.android.com/guide/components/foreground-services).

For an example of a foreground service that customizes and shows a notification, see [the one that is bundled with react-native-daily-js](https://github.com/daily-co/react-native-daily-js/blob/main/android/src/main/java/com/daily/reactlibrary/DailyOngoingMeetingForegroundService.java).

***

To learn more about building an app with the Daily Client SDK for Android, see our [Android Overview](/docs/android) and [Android demo app](https://github.com/daily-demos/daily-android-demo).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.