> ## Documentation Index
> Fetch the complete documentation index at: https://docs-platform.services-valid.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Instalação

> Adicione o LivenessFacetecSDK a um projeto Android via Fat AAR

Este guia mostra como adicionar o `LivenessFacetecSDK` — o pacote que embute o motor FaceTec — ao seu projeto Android.

## Pré-requisitos

Antes de começar, garanta que você tem:

* Uma chave de API válida emitida pela Plataforma ID.
* Acesso ao arquivo `liveness-facetec-sdk-X.X.X.aar` distribuído pela Valid.
* Um projeto Android atendendo aos **Requisitos mínimos** abaixo.

## Requisitos mínimos

| Item                  | Versão mínima    |
| --------------------- | ---------------- |
| `minSdk`              | 23 (Android 6.0) |
| `compileSdk`          | 36               |
| Java toolchain        | 11               |
| Kotlin                | 2.3.20           |
| Android Gradle Plugin | 9.1.1            |

<Info>
  O Fat AAR já inclui o **FaceTec SDK** e todas as bibliotecas internas da Valid. Bibliotecas de terceiros (Koin, Retrofit, OkHttp, etc.) precisam ser declaradas explicitamente pelo app cliente — a lista completa está abaixo.
</Info>

## Instalação

<Steps>
  <Step title="Obter o Binário">
    Solicite à equipe da Valid o arquivo `liveness-facetec-sdk-1.3.0.aar`. Ele já contém o FaceTec SDK e todos os módulos internos do `LivenessFacetecSDK`.
  </Step>

  <Step title="Adicionar o AAR ao app">
    Copie o AAR para a pasta `libs` do módulo `app`:

    ```text theme={"theme":"catppuccin-latte"}
    seu-projeto/
      app/
        libs/
          liveness-facetec-sdk-1.3.0.aar
        build.gradle.kts
    ```
  </Step>

  <Step title="Configurar repositórios">
    No `settings.gradle.kts` do projeto, declare os repositórios necessários para resolver as dependências externas do SDK:

    ```kotlin theme={"theme":"catppuccin-latte"}
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            maven { url = uri("https://maven.fpregistry.io/releases") }
        }
    }
    ```
  </Step>

  <Step title="Configurar app/build.gradle.kts">
    Declare o AAR junto com as dependências externas obrigatórias:

    ```kotlin theme={"theme":"catppuccin-latte"}
    plugins {
        alias(libs.plugins.android.application)
        alias(libs.plugins.kotlin.android)
    }

    android {
        namespace = "com.example.myapp"
        compileSdk = 36

        defaultConfig {
            applicationId = "com.example.myapp"
            minSdk = 23
            targetSdk = 36
    	multiDexEnabled = true
        }

        compileOptions {
            sourceCompatibility = JavaVersion.VERSION_11
            targetCompatibility = JavaVersion.VERSION_11
        }

        kotlin { jvmToolchain(11) }

        buildTypes {
            release {
                isMinifyEnabled = true
                proguardFiles(
                    getDefaultProguardFile("proguard-android-optimize.txt"),
                    "proguard-rules.pro"
                )
            }
        }
    }

    dependencies {
        // ── LivenessFacetecSDK (Fat AAR; FaceTec já incluído) ──────────────
        implementation(files("libs/liveness-facetec-sdk-1.3.0.aar"))

        // ── Dependências externas obrigatórias ─────────────────────────
        implementation("io.insert-koin:koin-core:4.2.1")
        implementation("io.insert-koin:koin-android:4.2.1")
        implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2")
        implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0")
        implementation("com.squareup.retrofit2:retrofit:3.0.0")
        implementation("com.squareup.okhttp3:okhttp:5.3.2")
        implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0")
        implementation("io.sentry:sentry-android:8.38.0")
        implementation("com.fingerprint.android:pro:2.13.1")
    	implementation("com.squareup.okhttp3:logging-interceptor:5.3.2")

        // AndroidX
        implementation("androidx.core:core-ktx:1.18.0")
        implementation("androidx.appcompat:appcompat:1.7.1")
        implementation("androidx.activity:activity:1.13.0")
        implementation("com.google.android.material:material:1.13.0")
    }
    ```
  </Step>

  <Step title="Sincronizar e validar">
    Sincronize o Gradle (`File → Sync Project with Gradle Files` no Android Studio). Após o sync, o classpath deve resolver `com.vcc.vendor.facetec.sdk.LivenessFacetecSDK`.
  </Step>
</Steps>

<Warning>
  Faltar qualquer uma das dependências externas resultará em `ClassNotFoundException` em runtime. Verifique a lista completa antes de rodar o app.
</Warning>

<Warning>
  Se o app tiver `isMinifyEnabled = true`, adicione ao `proguard-rules.pro` as regras obrigatórias para o R8 Full Mode (AGP 9.x+). Veja [Solução de problemas — ProGuard / R8](/plataforma/liveness/facetec/sdk/android/troubleshooting#proguard-r8) para os snippets necessários.
</Warning>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Implementação" icon="code" href="/plataforma/liveness/facetec/sdk/android/implementacao">
    Inicialize o SDK e colete o resultado da verificação
  </Card>

  <Card title="Solução de problemas" icon="wrench" href="/plataforma/liveness/facetec/sdk/android/troubleshooting">
    Erros comuns ao adicionar o AAR e configurar o Gradle
  </Card>
</CardGroup>
