Skip to main content

Erros Comuns

Erro: “Duplicate class found”

Causa: Conflito de dependências entre bibliotecas.Solução: Verifique se não há bibliotecas duplicadas e use exclude quando necessário:
implementation("alguma-biblioteca") {
    exclude(group = "grupo.conflitante", module = "modulo")
}

Erro: “ClassNotFoundException”

Causa: Dependências externas faltando.Solução: Verifique se todas as dependências obrigatórias foram adicionadas ao build.gradle.kts. Consulte a página de instalação para a lista completa.

Erro de Inicialização do Koin

Causa: SDK inicializado incorretamente ou contexto inválido.Solução:
  1. Certifique-se de chamar LivenessHubSDK.init() no Application.onCreate()
  2. Use applicationContext (não activity ou baseContext)
// ✅ Correto
LivenessHubSDK.init(applicationContext = this, config = config)

// ❌ Incorreto
LivenessHubSDK.init(applicationContext = baseContext, config = config)

Erro: “Camera not available”

Causa: Câmera em uso por outro app ou não disponível.Solução:
  1. Verifique se outro app não está usando a câmera
  2. Confirme que o dispositivo possui câmera frontal
  3. Adicione <uses-feature> no manifest:
<uses-feature android:name="android.hardware.camera" android:required="true" />

Configuração de ProGuard/R8

Se estiver usando minificação, adicione as seguintes regras no arquivo proguard-rules.pro:
# Liveness Hub SDK
-keep class com.valid.entry.** { *; }
-keep class com.valid.entry.models.** { *; }
-keep class com.valid.entry.localization.** { *; }

# Koin
-keep class org.koin.** { *; }
-dontwarn org.koin.**

# Retrofit
-keepattributes Signature
-keepattributes *Annotation*
-keep class retrofit2.** { *; }
-dontwarn retrofit2.**

# OkHttp
-keep class okhttp3.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**

# ML Kit
-keep class com.google.mlkit.** { *; }
-dontwarn com.google.mlkit.**

Checklist de Verificação

Antes de reportar um problema, verifique os itens abaixo:
1

Versão do SDK

Confirme que está usando a versão mais recente do SDK
2

Dependências

Todas as dependências obrigatórias estão incluídas no build.gradle.kts
3

Repositórios

Os repositórios Maven adicionais estão configurados no settings.gradle.kts
4

Inicialização

O SDK foi inicializado na classe Application.onCreate()
5

Permissões

As permissões de câmera estão declaradas no AndroidManifest.xml
6

Credenciais

As credenciais de API estão corretas e válidas

Logs de Debug

Para habilitar logs detalhados durante o desenvolvimento, você pode verificar o Logcat com a tag do SDK:
// Filtrar logs no Logcat
adb logcat | grep "LivenessHub"
Desabilite logs detalhados em builds de produção para evitar exposição de informações sensíveis.

Referências