Skip to main content
Esta página lista os erros emitidos pelo LivenessIdentySDK, problemas comuns de build e dicas de diagnóstico.

Hierarquia LivenessIdentySDKError

Todo erro chega via LivenessIdentySDKLivenessState.Error(error: LivenessIdentySDKError):

Exemplo de tratamento

Problemas comuns de build

Dependency ... requires core library desugaring to be enabled

O SDK é compilado com core library desugaring, e o Android Gradle Plugin exige o mesmo no app (task checkAarMetadata). Habilite-o conforme Instalação:

Duplicate class org.bouncycastle...

O seu app já usa outra variante do BouncyCastle além da bcprov-jdk16 trazida pelo SDK. Exclua a transitiva do SDK, conforme o aviso em Instalação.

Manifest merger failed ... android:networkSecurityConfig

O seu app e o SDK declaram networkSecurityConfig. Adicione tools:replace="android:networkSecurityConfig" ao <application> do seu manifest — veja Manifest merge.

401 Unauthorized ao resolver liveness-identy-sdk ou identy-face

As credenciais do repositório Maven da Valid estão ausentes, incorretas ou expiradas. Confira vccMobileSdksUsername/vccMobileSdksPassword no ~/.gradle/gradle.properties (ou as variáveis ORG_GRADLE_PROJECT_* no CI) e solicite novas credenciais à equipe da Valid se necessário.

Could not find com.shield.android:partner-fraud

O repositório da biblioteca de fingerprint (https://cashshield-sdk.s3.amazonaws.com/release/) não está declarado no settings.gradle.kts. Veja Instalação.

Licença IDENTY

A licença do IDENTY Face AI vai dentro do AAR. Quando há problema com ela, a captura termina com LivenessIdentySDKError.Unknown: Se a captura falhar logo após trocar o package ID ou a chave de assinatura do app, confirme com a equipe da Valid se a licença cobre os novos valores.

Comportamento de logging

O AAR distribuído é sempre o build de release do SDK, independentemente do build type do seu app: o log HTTP fica desligado e todas as chamadas a android.util.Log do SDK são removidas pelo R8. Nenhum log do SDK chega ao Logcat, nem em builds debug do seu app.

Timeouts de rede

O SDK usa OkHttp com timeouts fixos, não configuráveis pelo consumer:

Sentry

O SDK usa o Sentry para reportar apenas as exceções que ele mesmo captura internamente — sem rastreamento de sessão, sem breadcrumbs e sem handler global de crash. Ele usa uma instância isolada do Sentry e não interfere no Sentry do seu app, exceto pelo meta-data io.sentry.auto-init descrito em Manifest merge.
A dependência sentry-android chega transitivamente pelo liveness-identy-sdk — não é preciso declará-la no seu app.

ProGuard / R8

O AAR já contém um consumer-rules.pro aplicado automaticamente pelo AGP ao app cliente. Ele cobre as classes públicas do SDK, o vendor IDENTY Face AI e as demais dependências internas — nenhuma regra manual para esses itens é necessária.

Configuração obrigatória para apps com isMinifyEnabled = true

Mantenha -dontoptimize no ProGuard do app consumidor em R8 Full Mode. A recomendação é uma precaução: o R8 emite um aviso de stack map table inválida no código do IDENTY Face AI durante a minificação, o mesmo tipo de sintoma que já causou falhas de runtime em outro SDK de liveness. Mantenha a regra até que a Valid comunique o contrário.

Próximos passos

Implementação

Volte para a referência de uso do SDK

Customização

Veja como personalizar a UI do vendor Identy