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 determined API 25 as the minimum supported Android version, based on functional scope and dependencies. It works compatibly with projects that have a minSdkVersion value of 25 or higher.

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 only target the above architectures 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

Maven Access Configuration

The EnQualify SDKs are hosted securely on a GitHub Packages repository managed by Enqura. You need to add a username and password generated specifically for you to access the SDKs.

settings.gradle Configuration

Add the following repository definition to your 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 directly write username and password values into the settings.gradle.kts file. It is safer for these values to be read from local.properties or environment variables (ENV).

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

Gradle Sync

After the repository configuration, perform the "Sync Project with Gradle Files" operation 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 for the SDK to obtain detailed information about the network connection type (2G/3G/4.5G). If permission is not granted, the mobile data type will only display as "Mobile"; the actual connection type information cannot be retrieved.


Module Installation

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

Common Installation Steps

The installation steps for all modules follow the same pattern:

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

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

Click on "Sync Now" to synchronize the Gradle files.

Details for the installation of each module are also provided on the respective module page.


Next Steps

After the installation is complete, you can proceed in the following order:

  1. Core Module — The common base structure for all modules; 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 liveliness check
  5. VideoCall Module — Video call integration