---
schema_version: "1"
id: 1f039607567b9e2a6d0fccbd2859aee2b07be0fd0e338d14ca296bff5ab31694
title: Requirements for the Android SDK
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/genai/agentforce-mobile-sdk/guides/android/agentforce-mobile-sdk-android-requirements.md
canonical_url: https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-android-requirements.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 3c9e51a1f82dc437ada700f58cf719376356feb413e1118ea9d8e7e43be5535b
products:
  - Agentforce Mobile SDK
  - Agentforce and Einstein Generative AI
---
# Requirements for the Android SDK

This guide outlines the system requirements and development environment setup needed to use the Agentforce Mobile SDK for Android.

## Development Environment

To develop using the Agentforce SDK, you'll need:

- **Android Studio**: Android Studio Meerkat 2024.3.1 or newer
- **Android Gradle Plugin**: Version 8.9.1
- **Kotlin**: Version 1.9.22 or higher
- **Minimum SDK Version**: API level 29 (Android 10) or higher
- **Jetpack Compose**: The SDK's UI components are built with Compose. Your project must be configured to use it.

## Required Permissions

Several features of the SDK require user permissions.

- Camera access for image attachments
- Microphone access for voice input
- Storage access for file sharing

Update your `AndroidManifest.xml` with the following perms and providers.

```kotlin
<uses-feature
   android:name="android.hardware.camera"
   android:required="false" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
```

```kotlin
<provider
   android:name="androidx.core.content.FileProvider"
   android:authorities="${applicationId}.fileprovider"
   android:exported="false"
   android:grantUriPermissions="true"
   tools:replace="android:authorities">
   <meta-data
       android:name="android.support.FILE_PROVIDER_PATHS"
       android:resource="@xml/file_paths"
       tools:replace="android:resource" />
</provider>

<provider
android:name="com.salesforce.android.agentforcesdkimpl.utils.AgentforcePDFFileProvider"
   android:authorities="${applicationId}.pdffileprovider"
   android:exported="false"
   android:grantUriPermissions="true">
   <meta-data
       android:name="android.support.FILE_PROVIDER_PATHS"
       android:resource="@xml/pdf_file_paths" />
</provider>
```

Also, add file paths to `res/xml`.

`@xml/file_paths`

```kotlin
<?xml version="1.0" encoding="utf-8"?>
<paths>
   <cache-path name="cache" path="." />
</paths>
```

`@xml/pdf_file_paths`

```kotlin
<?xml version="1.0" encoding="utf-8"?>
<paths>
   <cache-path
       name="cache"
       path="." />
   <external-cache-path
       name="external_cache"
       path="." />
   <files-path
       name="files"
       path="." />
</paths>
```

## Project Configuration

### Gradle Configuration

```kotlin
android {
    compileSdk 35

    defaultConfig {
        minSdk 29
        targetSdk 34
    }

    compileOptions {
 isCoreLibraryDesugaringEnabled = true
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }


    kotlinOptions {
        jvmTarget = "17"
    }

    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.8"
    }
}
```

## Next Steps

- **Installation**: See [Install the SDK](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-android-install.md) for dependency setup
- **Integration**: See [Integration Guide](https://developer.salesforce.com/docs/ai/agentforce-mobile-sdk/guide/agentforce-mobile-sdk-android-integration.md) for implementation
