Solução de problemas

Nesta seção, você encontrará a solução de alguns problemas comuns na integração do SDK da plataforma Unico IDCloud em seus aplicativos Android


Ofuscação de código


O material de ofuscação tem por motivação servir de auxilio para o desenvolvedor passar pelos problemas de ofuscação em seu aplicativo.

O ofuscador do cliente pode afetar o funcionamento do SDK, é necessário que o mesmo não ofusque o código do SDK.

A Unico se isenta da responsabilidade em relação à conflitos de ofuscação com a SDK.

O ofuscamento é um processo de transformar o bytecode em uma forma menos legível por humanos, dificultando assim a engenharia reversa.

Esse processo consiste em remover informações relacionadas a depuração como tabelas de variáveis, número de linhas e renomear os pacotes, classes e métodos.

Ao embarcar a SDK Adroid na aplicação podem ocorrer falhas.

Ofuscação via DexGuard


Quando o ofuscamento foi realizado via DexGuard, ao ocorrer a falha utilize as regras:

-keep class kotlin.coroutines.**
-keep class kotlinx.coroutines.**

-keep class com.facetec.sdk.** { *; }
-keep class com.acesso.acessobio_android.** { *; }
-keep class io.unico.** { *; }

-keep class br.com.makrosystems.haven.** { *; }
-keep class HavenSDK.**{ *; }
-keep class HavenSDK** { *; }

Ofuscação via ProGuard


Quando o ofuscamento foi realizado via ProGuard, ao ocorrer a falha utilize as regras:

-keep class kotlin.coroutines.**
-keep class kotlinx.coroutines.**

-keep class com.facetec.sdk.** { *; }
-keep class com.acesso.acessobio_android.** { *; }
-keep class io.unico.** { *; }

-keep class br.com.makrosystems.haven.** { *; }
-keep class HavenSDK.**{ *; }
-keep class HavenSDK** { *; }

Atualização do SDK - versão 4.3.x


A partir da versão 4.4.x do SDK, o Unico começou a usar seu próprio repositório Maven para distribuir o Android SDK e alterou o nome da dependência do SDK, além de ajustes nas regras do ProGuard e do DexGuard para clientes que utilizam a biblioteca da GuardSquare conforme descrito na seção de Ofuscação de código acima.

Altere o repositório Maven:


Altere o repositório Maven para o novo repositório no arquivo build.gradle do projeto.

A implementação era feita da seguinte forma:

build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io'}
    }
}

Agora deve ser atualizado para o novo repositório:

build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
allprojects {
    repositories {
        google()
        jcenter()
        maven { 
            url "https://maven-sdk.unico.run/sdk-mobile" 
        }
    }
}

Alterar a dependência do SDK


Altere a dependência do SDK para a nova dependência no arquivo app/build.gradle do projeto.

A implementação era feita da seguinte forma:

app/build.gradle
/* unico */
dependencies {
    implementation 'com.github.acesso-io:acessobio-android:$version'
}

Agora deve ser atualizado para a nova dependência:

app/build.gradle
/* unico */
dependencies {
    implementation "io.unico:capture:$version"
}

Dúvidas?

Não encontrou algo ou ainda precisa de ajuda? Se já é um cliente ou parceiro, pode entrar em contato através da Central de Ajuda.

Atualizado

Institucional

Sobre nós

Copyright © 2024 unico. All rights reserved