Mobbeel for developers

Mobbeel for developers

  • MobbScan
  • MobbID
  • MobbSign
  • Clients
  • FAQ

›Migration Guides

MobbScan Android SDK

  • Configure MobbScan Android SDK
  • 16 KB Page Size Compatibility

Getting Started

  • Getting started with MobbScan
  • Detect and scan a document in two different calls
  • Detect and scan MRZ
  • Detect and scan a PDF417
  • Scanning documents with NFC
  • Error Handling

Additional configuration

  • Configure the detection process
  • Perform face matching with MobbScan
  • Select images returned by a scan
  • Fix scan orientation
  • Record a video while user performs a scan
  • Adding a video step
  • Configure Play Store distribution

MobbScan UI customization

  • Customize MobbScan Default Interfaces
  • Customize MobbScan document scan UI
  • Customize MobbScan MRZ scan UI
  • Customize Unattended Process UI
  • Customize feedback messages

MobbScan-Agent configurations

  • Getting the verification result

Migration Guides

  • Migration to 2.29.x
  • Migration 2.25.x to 2.26.x
  • Migration 2.24.x to 2.25.x
  • Migration to 2.24.x
  • Migration to 2.22.x
  • Migration 2.19.x to 2.21.x
  • Migration 2.18.x to 2.19.x
  • Migration 2.13.x to 2.14.x

Information

  • Changelog
  • API Reference

Migration to 2.29.x version

This migration guide applies to all users upgrading to version 2.29.x or later who were previously using MobbScan SDK via .aar files.

Starting from version 2.29.x, MobbScan Android SDK distribution method has changed from manual .aar file inclusion to a private Maven repository. This is a breaking change that requires updating your project configuration.

Migration steps

1. Remove AAR files from libs folder

Delete all .aar files from your project's libs folder:

libs/
  - mobbscan-sdk-android-X.Y.Z.aar  (delete)
  - mobbscan-video-android-X.Y.Z.aar (delete)
  - mobbscan-nfc-extension-android-X.Y.Z.aar (delete)
  - mobb-commons-android-X.Y.Z.aar (delete)
  - cameraviewplus-X.Y.Z.aar (delete)
  - mobbscan-detector-X.Y.Z.aar (delete)
  - opencv-android-X.Y.Z.aar (delete)
  - [any other AAR files provided by Mobbeel]

2. Remove flatDir configuration

Remove the flatDir repository configuration from your build.gradle file:

Remove this section:

repositories {
    ...
    flatDir {
        dirs 'libs'
    }
    ...
}

Result should be:

repositories {
    mavenCentral()
    // other repositories...
}

3. Configure Maven repository

Add the MobbScan private Maven repository to your build.gradle file:

Store your credentials in ~/.gradle/gradle.properties or in a project-level gradle.properties file excluded from version control:

mobbeelRepoUser=YOUR_CLIENT_ID
mobbeelRepoPassword=YOUR_CLIENT_PASSWORD

Never commit credentials to the repository. For CI builds, use your CI system's secret store.

repositories {
    mavenCentral()
    maven {
        url = uri("https://repository.mobbeel.com/repository/release/")
        credentials {
            username = project.findProperty("mobbeelRepoUser") ?: ""
            password = project.findProperty("mobbeelRepoPassword") ?: ""
        }
    }
}

Important: Use the credentials provided by Mobbeel. Contact Mobbeel support if you don't have them, and never commit them to version control.

4. Replace AAR dependencies with Maven implementations

Remove all AAR-based dependencies from your dependencies block and replace them with Maven implementations.

Before (AAR-based):

dependencies {
    implementation(name: 'mobb-commons-android', version: 'X.Y.Z', ext: 'aar')
    implementation(name: 'mobbscan-sdk-android', version: 'X.Y.Z', ext: 'aar')
    implementation(name: 'cameraviewplus', version: 'X.Y.Z', ext: 'aar')
    implementation(name: 'mobbscan-detector', version: 'X.Y.Z', ext: 'aar')

    // Third-party libraries
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.20'
    implementation 'org.greenrobot:eventbus:3.3.1'
    implementation 'com.rmtheis:tess-two:9.1.0'
    implementation 'com.madgag.spongycastle:prov:1.54.0.0'
    implementation 'com.madgag.spongycastle:pkix:1.54.0.0'
    implementation 'com.google.code.gson:gson:2.10.1'
    implementation(name: 'opencv-android-3.4.6', ext: 'aar')

    // Video module (if used)
    implementation(name: 'mobbscan-video-android-X.Y.Z', ext: 'aar')
    implementation 'com.twilio:video-android:7.6.1'

    // NFC module (if used)
    implementation(name: 'mobbscan-nfc-extension-android', version: 'X.Y.Z', ext: 'aar')
    implementation 'org.jmrtd:jmrtd:0.7.18'
    implementation 'net.sf.scuba:scuba-sc-android:0.0.20'
}

After (Maven-based):

dependencies {
    // Core SDK
    implementation 'com.mobbeel:mobbscan-sdk-android:2.37.0'

    // Video module (optional - only if you use video recording)
    implementation 'com.mobbeel:mobbscan-video-android:2.37.0'

    // NFC module (optional - only if you use NFC reading)
    implementation 'com.mobbeel:mobbscan-nfc-extension-android:2.37.0'
}

Note: All third-party dependencies are now managed automatically by Gradle. You don't need to specify them manually.

5. Update ProGuard rules (if applicable)

If you use ProGuard or R8 in your release builds, retain your existing rules and consult the full ProGuard / R8 rules for Play Store distribution. Maven manages dependency resolution, but that does not by itself make existing shrinker rules unnecessary. Remove or change rules only after verifying the minified release build and the SDK features your app uses.

6. Clean and rebuild

After making all changes, clean your project and rebuild:

./gradlew clean
./gradlew build

7. Test the migration

Thoroughly test your application to ensure all SDK functionality works correctly:

  • Document scanning (front and back)
  • OCR extraction
  • Face matching (if used)
  • Video recording (if used)
  • NFC reading (if used)
  • License validation

Benefits of the new distribution method

  • Automatic dependency management: Gradle automatically resolves and downloads all required dependencies
  • Version consistency: Ensures all third-party libraries are compatible
  • Easier updates: Simply change the version number in the dependency declaration
  • Smaller project size: No need to bundle AAR files in your source control

Troubleshooting

Gradle sync fails with authentication error

Ensure you have correctly configured the Maven credentials:

  • Verify the username and password are correct
  • Contact Mobbeel support if you don't have credentials

ProGuard errors after migration

  • Compare your rules with the complete ProGuard / R8 guidance.
  • Keep existing rules for third-party dependencies unless a minified release build verifies that they are no longer required.
  • Rebuild and test each SDK module used by your app after making any shrinker-rule changes.

Missing classes at runtime

  • Make sure you have removed the flatDir configuration
  • Verify all AAR files are deleted from libs folder
  • Clean and rebuild the project

Need help?

If you encounter any issues during the migration, contact Mobbeel support with:

  • Your current SDK version
  • The error message or log output
  • Relevant configuration files (build.gradle, proguard-rules.pro)
← Getting the verification resultMigration 2.25.x to 2.26.x →
  • Migration steps
    • 1. Remove AAR files from libs folder
    • 2. Remove flatDir configuration
    • 3. Configure Maven repository
    • 4. Replace AAR dependencies with Maven implementations
    • 5. Update ProGuard rules (if applicable)
    • 6. Clean and rebuild
    • 7. Test the migration
  • Benefits of the new distribution method
  • Troubleshooting
    • Gradle sync fails with authentication error
    • ProGuard errors after migration
    • Missing classes at runtime
  • Need help?
Mobbeel for developers
Product Documentation
MobbIDMobbScanMobbSign
Connect
LinkedInFacebookX
More
FAQContact Us
Mobbeel Solutions SL
Copyright © 2026 Mobbeel Solutions SL