Appendix 3 – GBG IDscan Documentation

Appendix 3

Android MJCS – SDK Size

We currently have a limitation of 100 MB on android platforms for initial APK. This size is combination of customer code, dependencies and MJCS SDK.

Current Android MJCS SDK will add about 94.7 MB to overall APK size.

Size chart for 8.3.0 with ProGuard using MJCS Script and APK analyser size is from “Download size”

MJCS Core2.2MBThis includes AndroidX, Kotlin dependancies.
MJCS Archbitsizeemulatordevicescompatible with
armeabi-v7a32~10.1mbNOYESx86, arm64-v8a
arm64-v8a64~10.2mbNOYESx
x8632~11.1mbYESYESx
x86_6432_64~11.2mbYESNOx
Liveness Models~16.8mb
Liveness Archbitsizeemulatordevicescompatible withPerformance
armeabi-v7a32~2.5mbNOYESx86, arm64-v8a
arm64-v8a64~2.5mbNOYESxBig performance improvement
x8632~2.7mbYESYESx
x86_6432_64~2.8mbYESNOx
Profile – 1.16.0Size Smart ScanSize Smart Capture
default-gbr-profile~23.7mb~23.7mb
default-gbr_dl-profile~8.7mb~8.7mb
default-ltu-profile~13.4mb~5.2mb
default-fra-profile~9.8mb~6.4mb
default-icao-profile??? ~5MB?

Country list with extra Smart Scan support: List


Solution

The best solution up till 2019 August is to add only armeabi-v7a architecture witch with better or worse performance should support all architectures, after August 2019 there will be needed armeabi-v7a(32bit) and armv8(64bit) support. 

This is the most used configuration chart for GBR profiles, please use it as a guide for other regions, below this chart is showcase of setup of initial 4 showcases.

Architectures 8.3.0Profile 1.16.0Liveness 0.4.6.3Size Impact (With support libraries)
armeabi-v7adefault_gbr_dl_profilefalse~20.9mb
armeabi-v7adefault_gbr_dl_profiletrue~40.3mb
armeabi-v7a, arm64-v8adefault_gbr_dl_profilefalse~31.0mb
armeabi-v7a, arm64-v8adefault_gbr_dl_profiletrue~52.9mb
armeabi-v7adefault_gbr_profilefalse~35.2mb
armeabi-v7adefault_gbr_profiletrue~54.5mb
armeabi-v7a, arm64-v8adefault_gbr_profilefalse~45.3mb
armeabi-v7a, arm64-v8adefault_gbr_profiletrue~67.1mb
armeabi-v7aHot-Swapingfalse~12.7mb
armeabi-v7aHot-Swapingtrue~32.1mb
armeabi-v7a, arm64-v8aHot-Swapingfalse~22.8mb
armeabi-v7a, arm64-v8aHot-Swapingtrue~44.6mb

Configurations to create smaller size for GBR

Configuration for minimalistic approach before August 2019:
In app gradle.properties
defaultConfig{
...
  ndk {
      abiFilters 'armeabi-v7a'
  }
...
}
In app dependancies add:
implementation 'com.idscan.ieos:mjcs:8.3.0'
implementation 'com.idscan.ides:default-gbr_dl-profile:1.16.0'
This configuration is around: ~20.9mb
---------------------------------------------------------------
After 2019:
In app gradle.properties
defaultConfig{
...
  ndk {
      abiFilters 'armeabi-v7a', "arm64-v8a"
  }
...
}
In app dependancies add:
implementation 'com.idscan.ieos:mjcs:8.3.0'
implementation 'com.idscan.ides:default-gbr_dl-profile:1.16.0'
This configuration is around: ~31.0mb
---------------------------------------------------------------
Minimal with liveness before 2019
In app gradle.properties
defaultConfig{
...
  ndk {
     abiFilters 'armeabi-v7a'
  }
...
}
In app dependancies add:
implementation 'com.idscan.ieos:mjcs:8.3.0'
implementation 'com.idscan.ides:default-gbr_dl-profile:1.16.0'
implementation 'com.idscan.idfb:liveness-core:0.4.6.3'
This configuration is around: ~43.2mb
---------------------------------------------------------------
Minimal with liveness after 2019
In app gradle.properties
defaultConfig{
...
  ndk {
     abiFilters 'armeabi-v7a', "arm64-v8a"
  }
...
}
In app dependancies add:
implementation 'com.idscan.ieos:mjcs:8.3.0'
implementation 'com.idscan.ides:default-gbr_dl-profile:1.16.0'
implementation 'com.idscan.idfb:liveness-core:0.4.6.3'
This configuration is around: ~52.9mb
DescriptionLink
Analyse your APK sizehttps://developer.android.com/studio/build/apk-analyzer
64bit requirementhttps://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
Bundle packaginghttps://developer.android.com/guide/app-bundle/#build
Was this page helpful?