Skip to content

Android - Getting Started

This page covers all the prerequisites and installation steps necessary to integrate the EnQualify Android SDK into your project.


Minimum Requirements

Supported Android Version

Parameter Value
minSdkVersion 25
Minimum Android version Android 7.1 (API 25)

The EnQualify SDK has set the minimum supported Android version to API 25 based on functional scope and dependencies. It works compatibly with projects that have a minSdkVersion value of 25 and above.

Supported CPU Architectures

The EnQualify SDK is compatible with the following CPU architectures:

  • armeabi-v7a
  • arm64-v8a

⚠️ Important: Including other architectures (e.g., x86, x86_64) may cause the application size to increase by 4-5 times. It is recommended to target only the architectures above to optimize the APK size.

You can target only the recommended architectures with abiFilters:

Text Only
android {
    defaultConfig {
        ...
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
}

Emulator Limitations

The EnQualify SDK requires physical device hardware for some modules. Therefore, the following modules cannot be run on the Android Emulator:

Module Requirement
OCR, Face Physical device camera
VideoCall Camera and microphone access
NFC NFC hardware on the device

Providing Maven Access

The EnQualify SDKs are hosted in a secure GitHub Packages repository on the Enqura side. You need to add the project-specific username and password generated for you to access the SDKs.

settings.gradle Configuration

Add the following repository definition to the settings.gradle file:

Text Only
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
    repositories {
        google()
        mavenCentral()
        maven { url = uri("https://jitpack.io") }
        maven {
            url = uri("https://maven.pkg.github.com/EnquraTechnology/Android-Packages")
            credentials {
                username = "YOUR_USERNAME"
                password = "YOUR_PASSWORD"
            }
        }
    }
}

🔐 Security Note: It is not recommended to write username and password values directly to the settings.gradle.kts file. It is safer to read this information through local.properties or environment variables (ENV).

You need to obtain repository access credentials from an authorized person.

Gradle Sync

After configuring the repository, perform the "Sync Project with Gradle Files" action in Android Studio. It is not possible to access or use the modules until this step is completed.


Permissions

The SDK automatically adds most required permissions to the manifest file. However, the following permission must be obtained manually by the application:

Text Only
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

This permission is used to get detailed information about the network connection type (2G/3G/4.5G). If not granted, the mobile data type will only show as "Mobile"; actual connection type information cannot be retrieved.


Module Installation

Each module is added to the project independently and must use the same version number. The version number will be communicated to you by Enqura.

Common Installation Steps

Installation steps follow the same pattern for all modules:

  1. Open the libs.versions.toml file and define the version:
Text Only
[versions]
...
enqualify-plus = "x.x.x.x"

[libraries]
...
enqualify-plus-MODULADI = {
    group = "com.enqualify.plus",
    name = "MODULADI",
    version.ref = "enqualify-plus"
}
  1. Add the dependency to the build.gradle.kts file:
Text Only
implementation(libs.enqualify.plus.MODULADI)
  1. Synchronize Gradle:

Sync the Gradle files by clicking on the "Sync Now" option.

Details for the installation of each module are also specified on the relevant module page.


Next Steps

After completing the installation, you can proceed in the following order:

  1. Core Module — The common core structure for all modules; it must be integrated before using other modules.
  2. OCR Module — Optical character recognition from identity documents
  3. NFC Module — NFC reading from identity chips
  4. Face Module — Face recognition and liveness detection
  5. VideoCall Module — Video call integration