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 comLivenessIdentySDKError.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 aandroid.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-dataio.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 umconsumer-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
Próximos passos
Implementação
Volte para a referência de uso do SDK
Customização
Veja como personalizar a UI do vendor Identy