Getting started

In this guide, you will learn how to get started with the Genius Scan SDK for Android.


The Genius Scan SDK for Android is composed of a single Android library that provides:

Sample code

We provide two demo projects in the SDK Demo apps repository:

  • demo-simple: it shows how to start a simple scan flow using gssdk-scanflow. The different screens are customizable via a ScanConfiguration.
  • demo-custom: this demo showcases how to build custom scan screens using the gssdk-core module. It also shows how to run OCR before generating a PDF file.

In order to run the provided demos, open the root folder in Android Studio.

Size of the SDK

The Android SDK includes support for the following CPU architectures: x86, x86_64, armeabi-v7a, arm64-v8a. When integrated into your app, the SDK will increase the size of your APK by the sizes in the following table:

x86 x86_64 armeabi-v7a arm64-v8a universal
Size 12.8MB 13.4MB 11.1MB 11.7MB 30.3MB

If you’d like to optimize the size of your app, you can either:

Native debug symbols are included as part of the SDK. These symbols are generally stripped in the release builds of your app. This isn’t the case for debug builds, for which you may see a larger size increase than the one mentioned above.


Add the SDK modules to your app

Add the following code to your app’s build.gradle:

Gradle DSL
  repositories {
     // ...
     maven { url '' }

  dependencies {
    // ...
    implementation 'com.geniusscansdk:gssdk:5.0.8'

Configure your license key

The Genius Scan SDK is subject to a commercial license: a license key is needed to initialize the SDK. The key must match your application identifier (aka. bundle ID) and the license’s expiration date. Please contact us if you don’t have a license key yet.

The SDK can run without a license key but will stop working after 60 seconds.

You initialize the SDK with your license key as follows. The best place to initialize the SDK is in the main Activity of your application:

GeniusScanSDK.setLicenseKey(context, "Your license key")

License key refreshing

By default, the SDK will use the license key set in code to refresh your license, ensuring your users always benefit from the SDK features. For additional reliability, we still recommend to update the license key in the code when your license is renewed.

You can turn off auto-refreshing by using the autoRefresh parameter.

Disabling license key refreshing

GeniusScanSDK.setLicenseKey(context, "Your license key", autoRefresh = false)

When your license key renews, you will need to update the key in code and your users will need to install the update to keep accessing the SDK features.

Next steps

Once you have done this, you’re ready to start your actual implementation. The next steps will depend whether you chose the simple integration, using the ScanFlow module, or if you are going for a custom integration.

© 2024 The Grizzly Labs. All rights reserved.