# Getting Started

This section covers everything you need to set up the Incode Android SDK. Follow the pages in this section in order, then add the optional and advanced features you need.

***

## Setup

Follow these steps to set up the SDK:

1. Ensure your devices meet the [device requirements](https://developer.incode.com/docs/android-sdk#device-requirements).
2. Ensure your build environment meets the [build requirements](https://developer.incode.com/docs/android-installation#build-requirements).
3. [Install](https://developer.incode.com/docs/android-installation#add-repositories) the SDK: add repositories, enforce Java 8, add the Incode Bill of Materials (BOM), declare dependencies, declare required permissions, add optional permissions, and initialize the SDK.
4. Choose an [integration approach](https://developer.incode.com/docs/android-common-implementation-patterns).
5. Run your first identity verification (IDV) flow.

***

## Optional and Advanced Features

Once your basic integration is running, add the features you need:

- [Dynamic Delivery](https://developer.incode.com/docs/android-advanced-integration-dynamic-delivery): Download the Incode SDK on demand, at runtime, as a Dynamic Feature Module. Available for Google and Huawei devices.
- [End-to-End Encryption (E2EE)](https://developer.incode.com/docs/android-e2ee): Enforce end-to-end encryption of capture artifacts.
- [API Key Rotation](https://developer.incode.com/docs/android-api-key-rotation): Rotate the SDK API key at runtime.
- [Google Wallet ID](https://developer.incode.com/docs/android-google-wallet-id): Verify identity with a Google Wallet ID.
- [Risk Analysis](https://developer.incode.com/docs/android-risk-analysis-1): Analyze device and behavioral risk.

Also, browse the [full catalog of available modules](https://developer.incode.com/docs/android-individual-modules).

<br />
