Configure MobbID Android SDK
Migrating from previous versions
If you are upgrading to version 7.1.0 or later and were previously using MobbID SDK via .aar files, please follow our Migration to 7.1.x guide.
Requirements
- Device running Android 5.0 (API level 21) or later
- Camera with autofocus capability
- Internet access
compileSdk35
Configure the Maven repository
Add the MobbID Maven repository to your project's build.gradle or settings.gradle.kts file:
repositories {
mavenCentral()
maven {
url = uri("https://repository.mobbeel.com/repository/release/")
credentials {
username = "YOUR_CLIENT_ID"
password = "YOUR_CLIENT_PASSWORD"
}
}
}
Important: Replace
YOUR_CLIENT_IDandYOUR_CLIENT_PASSWORDwith the credentials provided by Mobbeel.
Add the SDK dependencies
Add the MobbID SDK dependencies to your app module's build.gradle:
dependencies {
// Core module (required)
implementation("com.mobbeel.mobbid:core:7.1.0")
// Face module (optional - required for face biometrics)
implementation("com.mobbeel.mobbid:face:7.1.0")
// Face UX module (optional - provides ready-to-use UI components)
implementation("com.mobbeel.mobbid:face-ux:7.1.0")
}
Using version catalogs
If you use Gradle version catalogs (libs.versions.toml), add the following:
[versions]
mobbid = "7.1.0"
[libraries]
mobbid-sdk-core = { module = "com.mobbeel.mobbid:core", version.ref = "mobbid" }
mobbid-sdk-face = { module = "com.mobbeel.mobbid:face", version.ref = "mobbid" }
mobbid-sdk-face-ux = { module = "com.mobbeel.mobbid:face-ux", version.ref = "mobbid" }
Then in your build.gradle.kts:
dependencies {
implementation(libs.mobbid.sdk.core)
implementation(libs.mobbid.sdk.face)
implementation(libs.mobbid.sdk.face.ux)
}
Modules overview
| Module | Artifact | Description |
|---|---|---|
| Core | com.mobbeel.mobbid:core | Required. Contains the SDK initialization and core functionality. |
| Face | com.mobbeel.mobbid:face | Optional. Face biometric detection and recognition engine. |
| Face UX | com.mobbeel.mobbid:face-ux | Optional. Pre-built UI components for face capture (MIDFaceView). |
Permissions
You don't need to declare any permissions in your AndroidManifest.xml file since they are already declared in the library's AndroidManifest.xml and they will be merged automatically when you build your app.
Runtime permissions
Runtime permissions, such as camera permission, must be requested at runtime by the client application. You can obtain a list of the required permissions for each biometric module:
val permissionList: List<String> = MIDFaceSDK.getRequiredPermissions()
ProGuard configuration
If you enable ProGuard or R8 in your release builds, the SDK includes consumer ProGuard rules that are automatically applied. However, if you encounter any issues, you can add the following rules to your proguard-rules.pro file:
# MobbID rules
-keep class com.mobbeel.mobbid.** { *; }
-dontwarn com.mobbeel.mobbid.**
-keepattributes *Annotation*, Exceptions, Deprecated, Signature, MethodParameters, InnerClasses
# Keep native methods
-keepclasseswithmembernames class * {
native <methods>;
}
# Keep Parcelable implementations
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# Protobuf rules
-keep public class com.google.protobuf.** { *; }
Play Store distribution
If you want to reduce the size of your final APK, you can configure ABI filters:
android {
defaultConfig {
ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a")
}
}
}
Example configuration
Here is a complete example of a build.gradle.kts configuration:
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
}
android {
namespace = "com.example.mobbidapp"
compileSdk = 35
defaultConfig {
applicationId = "com.example.mobbidapp"
minSdk = 21
targetSdk = 35
ndk {
abiFilters += listOf("armeabi-v7a", "arm64-v8a")
}
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}
dependencies {
implementation("com.mobbeel.mobbid:core:7.1.0")
implementation("com.mobbeel.mobbid:face:7.1.0")
implementation("com.mobbeel.mobbid:face-ux:7.1.0")
}
And in your settings.gradle.kts:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url = uri("https://repository.mobbeel.com/repository/release/")
credentials {
username = "YOUR_CLIENT_ID"
password = "YOUR_CLIENT_PASSWORD"
}
}
}
}
Next steps
Once configured, follow the SDK Initialization guide to initialize the SDK and start using face biometrics.
