Skip to content

Android - Getting Started

This page covers all the prerequisites and installation steps required 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 the minimum supported Android version to be API 25 in line with its functional scope and dependencies. It is compatible 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 result in the application size increasing by 4-5 times. It is recommended to target only the architectures mentioned 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 certain modules. Therefore, the following modules cannot be run on the Android Emulator:

Module Requirement
OCR, Face Physical device camera
VideoCall Access to camera and microphone
NFC NFC hardware on the device

Providing Maven Access

EnQualify SDKs are hosted in a secure GitHub Packages repository on the Enqura side. You need to add a custom-generated username and password to your project 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: Writing the username and password values directly into the settings.gradle.kts file is not recommended. It is more secure to read these credentials through local.properties or environment variables (ENV).

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

Gradle Sync

After the repository configuration, perform the "Sync Project with Gradle Files" operation in Android Studio. Accessing or using the modules is not possible until this step is completed.


Permissions

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

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

This permission is used to obtain detailed information about the network connection type (2G/3G/4.5G) for the SDK. 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 communicated to you 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-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:

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

Installation details for each module are also specified on the respective module page.


Next Steps

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

  1. Core Module — The common foundational 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 — Facial recognition and liveness check.
  5. VideoCall Module — Video call integration.