On-device face detection, face liveness (anti-spoofing), and 1:1 / 1:N face matching for Android. All processing runs locally — no image ever leaves the device.
Part of the FaceOnLive on-premises biometric SDK suite.
| Min Android SDK | 24 (Android 7.0) |
| Compile / Target SDK | 34 |
| Language | Kotlin / Java |
| Permissions | CAMERA |
app/src/main/java/com/bio/facerecognition/MainActivity.kt, replace <YOUR_LICENSE_KEY> in FaceSDK.setActivation(...) with your key.import com.bio.facesdk.FaceSDK
if (FaceSDK.setActivation("<YOUR_LICENSE_KEY>") == FaceSDK.SDK_SUCCESS) {
FaceSDK.init(assets)
}
val faces = FaceSDK.faceDetection(bitmap) // detect + liveness
val t1 = FaceSDK.templateExtraction(bitmap1, faces1[0])
val t2 = FaceSDK.templateExtraction(bitmap2, faces2[0])
val similarity = FaceSDK.similarityCalculation(t1, t2) // 0.0 – 1.0
| Method | Description | Returns |
|---|---|---|
setActivation(license) |
Activate with your license key. | SDK_SUCCESS or error |
init(assets) |
Load the face models. | SDK_SUCCESS or error |
faceDetection(bitmap) |
Detect faces (box, landmarks, liveness score). | list of faces |
templateExtraction(bitmap, face) |
Extract a face's feature template. | template |
similarityCalculation(t1, t2) |
Compare two templates. | 0.0–1.0 |
yuv2Bitmap(frame, w, h, rot) |
Camera YUV frame → Bitmap. | Bitmap |
Status codes: SDK_SUCCESS, SDK_LICENSE_KEY_ERROR, SDK_LICENSE_APPID_ERROR, SDK_LICENSE_EXPIRED, SDK_NO_ACTIVATED, SDK_INIT_ERROR.
Requires a valid license key — get one at faceonlive.com. Never commit your key. Questions: contact@faceonlive.com
This repository contains the source/demo code only. Download the complete SDK — engine libraries and models, with full project structure — from the Releases page and extract it over this project.
$ claude mcp add Face-Recognition-SDK-Android \
-- python -m otcore.mcp_server <graph>