π Company Site - Here
π€ Hugging Face - Here
π Help Center - Here
π³ Docker Hub - Here
Drop
documentreadersdk.aarintolibdocsdk/β run on a physical phone (~10 min after Android Studio is ready). Jump: Quick Start Β· Get the AAR Β· Run the demo Β· License Β· Integrate
Use this for the sample app (check each box in order).
- Clone ID-Document-Recognition-Android
- Android Studio with JDK 17 (
compileOptions/jvmTargetare 17) - Download
documentreadersdk.aarβ Get the AAR - Place it at
libdocsdk/documentreadersdk.aar(not a nested folder) - Open this folder in Android Studio
- Connect a physical arm64 phone (emulator is not recommended)
- Keep
applicationIdcom.faceplugin.documentreaderfor the demo license (until 12 Aug 2027) - Run the app and grant camera when asked
- Home status bar shows Ready β Camera / Gallery / About
Own app? β Setup on your own app. Full integration: https://doc.faceplugin.com
FacePlugin Document Reader SDK for Android β on-device ID card, passport, and driver license recognition (OCR, MRZ, barcode). This repository is the standalone Android demo. The runtime is libdocsdk/documentreadersdk.aar (download from Google Drive). No other FacePlugin repository is required.
This is an on-premise SDK. All processing stays on the device β no biometric data is sent to FacePlugin cloud.
Native binaries are not on GitHub. Download the AAR from the Drive link below.
| Feature | Supported |
|---|---|
| ID Card / Passport / Driver License | β |
| MRZ / Barcode / QR / OCR | β |
| Live camera locate overlay + Capture | β |
| Gallery (front required, back optional) | β |
| Result (fields, images, JSON) | β |
| About | β |
| Platform | Repository |
|---|---|
| Android | ID-Document-Recognition-Android (this repo) |
| iOS | ID-Document-Recognition-iOS |
| Windows | ID-Document-Recognition-Windows |
| Linux / Docker | ID-Document-Recognition-Docker |
| React Native | ID-Document-Recognition-React-Native |
| Flutter | ID-Document-Recognition-Flutter |
| Ionic Cordova | ID-Document-Recognition-Ionic-Cordova |
| Step | What you need |
|---|---|
| 1 | Android Studio + JDK 17 + a physical device (emulator is not recommended) |
| 2 | documentreadersdk.aar in ./libdocsdk/ β Get the AAR |
| 3 | Demo license is already in the repo (LICENSE_KEY for com.faceplugin.documentreader, valid until 12 August 2027). Request a new key only if you change applicationId β SDK License |
Camera and Gallery unlock when the status bar shows Ready.
documentreadersdk.aar includes native libs for four ABIs. The sample app filters to arm64-v8a so the debug APK stays smaller β that is not an SDK limit.
| Item | Minimum | Recommended |
|---|---|---|
| Android Studio | AGP 8.5.2, Gradle 8.7, JDK 17 | Same |
| Android | API 24 (7.0); compileSdk / targetSdk 34 |
API 29 (10) or newer |
| ABI | arm64-v8a (demo); AAR also has armeabi-v7a, x86_64, x86 |
arm64-v8a phones |
| RAM | 4 GB | 6 GB or more |
| CPU | 4+ cores | Mid-range SoC from ~2019 or newer |
| Camera | Rear camera | 1080p, autofocus |
| Device | Physical device | Same; emulator is not for camera |
libdocsdk/documentreadersdk.aar is empty on GitHub because the binary is too large. Gradle fails fast if the file is missing.
DocumentReader-Android-App runtime (Google Drive)
git clone https://github.com/Faceplugin-ltd/ID-Document-Recognition-Android.git
cd ID-Document-Recognition-Android- Download
documentreadersdk.aarfrom the Drive folder. - Put it here (not in a nested folder):
ID-Document-Recognition-Android/
βββ libdocsdk/
βββ documentreadersdk.aar
- Open this folder in Android Studio.
- Select a physical device and Run. The demo already has a valid
LICENSE_KEYforcom.faceplugin.documentreader. - Wait for the status bar at the bottom of Home:
Checking licenseβ¦βLoading databaseβ¦β Ready. Camera and Gallery stay disabled until then.
Home tiles are one row under the title: Camera | Gallery | About.
- Camera β live document overlay; tap Capture when the score is ready (β₯ 50%).
- Gallery β pick Front (required) and Back (optional), then Recognize.
- Result β extracted OCR / MRZ / barcode fields and images.
Licenses are offline and bound to your applicationId.
The sample app already includes a valid key for com.faceplugin.documentreader (until 12 August 2027). You only need a new key if you use a different applicationId.
The code below shows how to use the license:
Please contact us to get a license for your own app.
You need libdocsdk/ (the AAR) and com.faceplugin.documentreadersdk.DocumentReaderSDK. You do not need this demoβs MainActivity / CameraActivity.
- Copy the
libdocsdkfolder into your project root and putdocumentreadersdk.aarinside it (Drive). settings.gradle:include ':libdocsdk'app/build.gradle:minSdk 24,implementation project(':libdocsdk'). Optional:abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64', 'x86'(the AAR ships all four).- Request a license for your
applicationId, not the demoβs. - Call
initand all process methods off the UI thread.
Full wiring, permissions, and result JSON: https://doc.faceplugin.com
import com.faceplugin.documentreadersdk.DocumentReaderSDKCall order (background thread): getMachineCode β setActivation β init β recognize / locateDocument. 0 = SDK_SUCCESS. Process methods return JSON.
Thread {
var ret = DocumentReaderSDK.setActivation(context, "FP1.β¦")
if (ret == DocumentReaderSDK.SDK_SUCCESS) {
ret = DocumentReaderSDK.init(context)
}
}.start()| Method | Role |
|---|---|
getMachineCode / setActivation / init / deinit |
License + engine lifecycle |
locateDocument(bitmap) |
Live corners + score (overlay, no OCR) |
recognize(bitmap) |
OCR / MRZ / barcode from one image |
recognize(front, back) |
Front + optional back (back may be null) |
documentAuthenticity(bitmap) |
Optional authenticity check |
| Code | Constant | Status |
|---|---|---|
| 0 | SDK_SUCCESS |
Activate / init OK |
| 1 | SDK_LICENSE_INVALID |
Invalid license |
| 2 | SDK_LICENSE_EXPIRED |
Expired license |
| 3 | SDK_NOT_ACTIVATED |
Not activated |
| 4 | SDK_INIT_FAILED |
Init failed |
| Symptom | What to check |
|---|---|
Missing documentreadersdk.aar |
Copy the AAR to libdocsdk/ β Gradle fails fast if it is absent |
| License invalid / expired | applicationId must match the FP1.β¦ key |
| Camera / Gallery disabled | Wait until the status bar shows Ready |
| Emulator / x86 | Demo is arm64-v8a β use a physical arm64 phone |


