Skip to main content
Version: 1.0.0 - 1.5.x

Installation

This guide covers how to install and set up the DocIDV Android SDK in your project.

Integrate DocIDV SDK

Follow these steps to integrate the DocIDV library into your application.

Repository Setup

In your project's settings.gradle (KTS), besides any other repositories you already have, include this maven repository:

repositories {
google()
mavenCentral()

// Add this repo containing the DOCIDV library.
maven {
url = uri("https://raw.githubusercontent.com/idnow/idnow-android-sdk/main")
}
}

Dependencies Configuration

In your project's settings.gradle, include the IDnow maven repository:

repositories {
google()
mavenCentral()

maven {
url = uri("https://raw.githubusercontent.com/idnow/idnow-android-sdk/main")
}
}

In your app's build.gradle:

dependencies {
implementation "io.idnow.docidv.android.sdk:docidv:1.0.0"
}
tip

Starting from version 1.6.0, the SDK is modular and provides a BOM to simplify dependency management. See the 1.6.0 documentation for more details.

Integrate the NFC Dependency

The SDK also supports NFC scanning to read data from the chip on e-documents. The sdk is available in 2 variant, with NFC feature and without NFC, providing the best flexibility for different use cases of our customers. We recommend using the NFC feature for the best security, fraud prevention and user experience.

  • To use the NFC feature, please reach out to your IDnow contact or IDnow Support (support@idnow.io) and obtain the required NFC dependencies.

After contacting Customer Support with a request for the NFC package, you will receive an archive to integrate into your application. This archive is compatible with the corresponding SDK version and onwards, until a new or updated version of the NFC library is released. (For example, if the name of the archive contains the keywords for AI SDK v5.13.0, it means that this NFC library is compatible with AI SDK v5.13.0+ onwards, until an updated version of the NFC library is released).

The contents of the received archive will contain:

  • Detailed instructions file on how to set up the NFC dependency + fixes on potential build issues which you might encounter based on your local setup

  • AAR files for NFC dependency to include in your app

Overview of the NFC integration:

  1. Copy all the .aar files from the given archive's libs folder into your own app's libs folder.

  2. Make sure to compile the libs folder. In your app/build.gradle file, add the below:

implementation fileTree(include: ['*.aar'], dir: 'libs')
// or if you have also jar files, use this line
// implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
  1. In your project level build.gradle file, make sure to have this:
repositories {
//...
flatDir {
dirs 'libs'
}
//...
}
  1. The above AAR files require some transitive dependencies, which you need to add manually in your app/build.gradle file:
// ReadID Dependencies
// iddoc connector
implementation 'com.google.code.gson:gson:2.11.0'
implementation 'androidx.annotation:annotation:1.5.0'
implementation 'org.bouncycastle:bcpkix-jdk18on:1.78.1'
// readid mrz
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.6'
implementation('com.google.android.gms:play-services-tflite-java:16.1.0') {
exclude group: "org.tensorflow"
}
// readid core
implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.24'
implementation 'net.sf.scuba:scuba-sc-android:0.0.26'
implementation 'net.sf.scuba:scuba-smartcards:0.0.20'
implementation 'edu.ucar:jj2000:5.2'
implementation("org.ejbca.cvc:cert-cvc:1.4.13") {
exclude group: 'org.bouncycastle', module: 'bcprov-jdk15on'
}
implementation 'org.jmrtd:jmrtd:0.7.42'
// readid ui core
implementation 'androidx.fragment:fragment:1.8.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.databinding:viewbinding:8.5.2'
// viz capture
implementation "com.google.mlkit:barcode-scanning:17.3.0"
implementation "com.google.mlkit:face-detection:16.1.7"
  1. Add the following ProGuard rules in your application's proguard-rules.pro file:
# ReadID
-keep,includedescriptorclasses class com.readid.** { *; }
-keep enum nl.innovalor.logging.data.** { *; }
-keep enum nl.innovalor.logging.data.**$** { *; }
-keepclassmembers class nl.innovalor.logging.data.** { <fields>; }
-keep,includedescriptorclasses class net.sf.scuba.smartcards.IsoDepCardService { public <init>(***); }
-keep,includedescriptorclasses class nl.innovalor.cert.** { public <init>(***); }
-keep,includedescriptorclasses class org.bouncycastle.** { *; }
-keepclassmembers class * extends net.sf.scuba.data.Country { *; }
-keep,includedescriptorclasses class nl.innovalor.mrtd.model.** { private <fields>; <methods>; }
-dontwarn com.google.gson.**
-dontwarn javax.naming.**
-dontwarn javax.naming.directory.*
-dontwarn jj2000.disp.*
-dontwarn jj2000.j2k.decoder.*
-dontwarn org.jmrtd.imageio.*
-dontwarn org.jmrtd.jj2000.**
-dontwarn org.jnbis.imageio.*

📥 DocIDV is now imported into your project.

Support

If you encounter installation issues:

  1. Search GitHub Issues
  2. Contact IDnow Support