Digipass S3 is now DigipassONE. This section is currently being updated to reflect our new name.

Calculating the App SDK footprint

Prev Next

This section describes how the various components of the App SDK can directly impact the size of your app.

There are 2 types of components:

  • Components developed by OneSpan Digipass S3.

  • 3rd party components used by OneSpan Digipass S3, called "dependencies".

The set of components in the first group is variable and depends on the features of the App SDK used in your app. For example, your app may or may not embed FIDO clients and ASMs. Your app could require a different set of protocols or optional extensions. The required list of platforms also can affect the size, as the App SDK provides a separate native library for each platform.

The sections below show how app size increases for different App SDK usage scenarios. Realize that some 3rd party components are commonly used by the application before adding the App SDK. Consequently, they do not increase the size of the application after the App SDK is added.

Sizes are calculated based on the information provided by the APK Analyser tool incorporated in the Android Studio IDE. The result includes the size of APK and the download size. Please note:

  • The APK size reflects the actual size of the file and is the minimum amount of space it consumes on the disk after installation.

  • The download size is the estimated size of the file for a new installation. This is smaller than the APK size because Google Play serves a highly compressed version of the file.

Case 1: APK with minimal 3rd party dependencies

This is an empty application that includes the following libraries:

  • Google’s gson library.

    • com.google.code.gson:gson:2.13.2

  • androidx libraries

    • androidx.lifecycle:lifecycle-extensions:2.2.0

    • androidx.appcompat:appcompat:1.7.1

For this case, the APK size is 2.5 MB and the download size is 2.3 MB.

Case 2: APK with optional 3rd party dependencies

This includes optional 3rd party dependencies in addition to the minimal dependencies. Optional dependencies include:

  • OAuth client library, which is required if the application supports federation.

    • com.google.oauth-client:google-oauth-client:1.39.0

  • Play Integrity and location libraries, which are required for the corresponding optional UAF extensions. Location libraries depend on com.google.android.gms:play-services-base library.

    • com.google.android.gms:play-services-location:21.0.1

    • com.google.android.play:integrity:1.3.0

For this case, the APK size is 4.4 MB and the download size is 4.0 MB.

Case 3: APK with PIN authenticator

This is the minimal configuration with an embedded UAF client and a single ASM. The following SDK libraries are included:

  • The base component of the App SDK to support the UAF protocol.

    • appsdk_uaf

  • The embedded UAF client.

    • mfac_uaf

  • The PIN ASM that is used as a sample

    • asm_pin

For this case, the APK size is 7.1 MB and the download size is 5.9 MB.

Measurements are done on release build applications, so app size is minified by R8.