
Transition Guide for Android SDK
This section covers all technical changes that should be considered when updating from previous versions, including, but not exclusively: API breaking changes or new functionality in the public API, major dependency changes, attribute changes, deprecation notices.
- When updating your SDK version, all changes/updates made in in the meantime have to be taken into account and applied if necessary.
- Example: If you're updating from SDK version 3.7.2 to 3.9.2, the changes outlined in 3.8.0, 3.9.0 and 3.9.1 are still relevant.
4.17.0
Public API Changes
JumioTermsOfUse,JumioLookupResult,JumioLegalStatementclasses have been added- Optional property
orderhas been added toJumioCredentialInfo - Property
lookupResultof typeJumioLookupResulthas been added toJumioIDCredential - Method
userConsented(JumioLookupResult.JumioLegalStatement, Boolean)has been added toJumioIDCredential onInitialized()callback has been changed fromtoonInitialized(credentials: List<JumioCredentialInfo>, consentItems: List<JumioConsentItem>?)onInitialized(credentials: List<JumioCredentialInfo>, consentItems: List<JumioConsentItems>?, termsOfUse: JumioTermsOfUse?)
Instant Feedback Reject Reasons
The following reject reasons have been removed:
- BLACK_WHITE_COPY
- COLOR_PHOTOCOPY
Localizations Changes
The following keys have been added:
jumio_selfiedone_ID_Foundjumio_loaders_almost_therejumio_selfiedone_continuejumio_loaders_finishing_upjumio_selfiedone_scan_ID_manuallyjumio_loaders_successjumio_loaders_this_will_take_a_momentjumio_selfiedone_we_found_your_IDjumio_loaders_working_on_it
The following keys have been removed:
jumio_liveness_scanning_completedjumio_uploading_success
4.16.0
Localizations Changes
The following keys have been removed:
iproov__accessibility_prompt_align_faceiproov__accessibility_prompt_scanningiproov__error_cameraiproov__error_camera_permission_deniediproov__error_capture_already_activeiproov__error_device_not_supportediproov__error_face_detectoriproov__error_multi_window_mode_unsupportediproov__error_networkiproov__error_serveriproov__error_unexpected_erroriproov__failure_eyes_closediproov__failure_face_too_closeiproov__failure_face_too_fariproov__failure_misaligned_faceiproov__failure_not_supportediproov__failure_obscured_faceiproov__failure_sunglassesiproov__failure_too_brightiproov__failure_too_darkiproov__failure_too_much_movementiproov__failure_unknowniproov__failure_user_timeoutiproov__progress_assessing_genuine_presenceiproov__progress_assessing_livenessiproov__progress_confirming_identityiproov__progress_creating_identityiproov__progress_finding_faceiproov__progress_identifying_faceiproov__progress_loadingiproov__progress_streamingiproov__prompt_align_faceiproov__prompt_get_readyiproov__prompt_liveness_scan_completediproov__prompt_too_brightiproov__prompt_too_closeiproov__prompt_too_far
The following keys have been added:
jumio_dv_clear_or_uneditedjumio_dv_jpg_png_or_webp_formatjumio_dv_no_transparency_or_watermarksjumio_dv_selected_the_right_filejumio_dv_take_a_photo_or_upload_a_filejumio_dv_upload_an_imagejumio_dv_upload_from_photo_libraryjumio_choose_file_locationjumio_dv_retry_selected_file_cannot_be_processedjumio_id_scan_guide_initial
The following keys have been renamed
jumio_dv_retry_size_limittojumio_dv_retry_maximum_size_limit_exceededjumio_dv_confirm_file_infotojumio_dv_selected_the_right_file
Customization Changes
The following customization color attributes have been removed:
<item name="iproov_filterForegroundColor"><item name="iproov_filterBackgroundColor"><item name="iproov_titleTextColor"><item name="iproov_promptTextColor"><item name="iproov_promptBackgroundColor"><item name="iproov_promptRoundedCorners"><item name="iproov_surroundColor"><item name="iproov_closeButton_colorTint"><item name="iproov_livenessAssurance_ovalStrokeColor"><item name="iproov_livenessAssurance_completedOvalStrokeColor"><item name="iproov_genuinePresenceAssurance_notReadyOvalStrokeColor"><item name="iproov_genuinePresenceAssurance_readyOvalStrokeColor">
The following customization color attributes have been added:
<item name="jumio_id_aligned_stroke"><item name="jumio_id_unaligned_stroke">
The following customization color attributes have been renamed:
<item name="jumio_scanview_bubble_background">to<item name="jumio_scanview_background">
Dependency Updates
| Name | Jumio Module | Dependency | old version | new version |
|---|---|---|---|---|
| IProov | iproov | "com.iproov.sdk:iproov" | 9.1.2 | REMOVED |
| IProov | iproov | "com.jumio.android:iproov" | 4.15.0 | REMOVED |
4.15.0
Deprecation Notice
⚠️ The iProov dependency com.jumio.android:iproov is deprecated and will be removed in SDK v4.16.0.
Minimum SDK Version Changes
- minSdkVersion has been increased to 23. The SDK can still be integrated in Apps that support lower minSdkVersions - check if the platform is supported before initializing the JumioSDK, otherwise it will throw a PlatformNotSupportedException. The minSdkVersion change also internally changes how the apk is compressed which results in bigger apk files. Please see the FAQ for that.
New SDK Localizations Added
The following keys have been added:
jumio_nfc_error_description_idjumio_nfc_error_description_otherjumio_nfc_error_description_us
Customization Changes
- The following customization color attributes have been added:
<item name="jumio_nfc_phone_screen"><item name="jumio_nfc_phone_notch"><item name="jumio_nfc_chip_primary"><item name="jumio_nfc_chip_secondary"><item name="jumio_nfc_chip_glow"><item name="jumio_nfc_pulse">
jumio_nfc_id_foregroundcustomization color attribute has been removed.
Dependency Updates
⚠️ Please note that the Android Gradle Plugin update is officially recommended to fully support Android 16.
| Name | Jumio Module | Dependency | old version | new version |
|---|---|---|---|---|
| Gradle Wrapper | all | 8.9 | 8.11.1 | |
| Android Gradle Plugin | all | "com.android.library" | 8.7.3 | 8.9.3 |
| Appcompat | all | "androidx.appcompat:appcompat" | 1.7.0 | 1.7.1 |
| Coroutines | core | "org.jetbrains.kotlinx:kotlinx-coroutines-android" | 1.8.1 | 1.10.2 |
| Concurrent | core | "androidx.concurrent:concurrent-futures" | 1.2.0 | 1.3.0 |
| Material | core | "com.google.android.material:material" | 1.12.0 | 1.13.0 |
| LibYUV | core | "io.github.crow-misia.libyuv:libyuv-android" | 0.36.0 | 0.43.2 |
| Constraint Layout | core, defaultui | "androidx.constraintlayout:constraintlayout" | 2.2.0 | 2.2.1 |
| Lifecycle Viewmodel | defaultui | "androidx.lifecycle:lifecycle-viewmodel-ktx" | 2.8.7 | 2.9.3 |
| Lifecycle Savedstate | defaultui | "androidx.lifecycle:lifecycle-viewmodel-savedstate" | 2.8.7 | 2.9.3 |
| Lifecycle Livedata | defaultui | "androidx.lifecycle:lifecycle-livedata-ktx" | 2.8.7 | 2.9.3 |
| Lifecycle Runtime Android | defaultui | "androidx.lifecycle:lifecycle-runtime-android" | ADDED | 2.9.3 |
| Lifecycle Runtime Ktx | defaultui | "androidx.lifecycle:lifecycle-runtime-Ktx" | ADDED | 2.9.3 |
| Navigation UI | defaultui | "androidx.navigation:navigation-ui-ktx" | 2.8.5 | 2.9.3 |
| Navigation Fragment | defaultui | "androidx.navigation:navigation-fragment-ktx" | 2.8.5 | 2.9.3 |
| Browser | digital-identity | "androidx.browser:browser" | 1.8.0 | 1.9.0 |
| AndroidX Core KTX | docfinder | "androidx.core:core-ktx" | 1.15.0 | 1.17.0 |
| JMRTD | nfc | "org.jmrtd:jmrtd" | 0.7.42 | 0.8.2 |
| BouncyCastle | nfc | "org.bouncycastle:bcprov-jdk18on" | 1.78.1 | 1.81 |
4.14.0
Deprecation Notice
⚠️ SDK 4.14.0 will be the last SDK version supporting Android 5 (API level 21). All subsequent SDK versions will require at least Android 6.0 "Marshmallow" (API level 23).
General
- Added support for Android 16.
LiteRT Notice
JumioSDK bundles LiteRT Version 1.0.1 which supports 16kb page size for ARM64-v8 but not x86_64. This is fine for the JumioSDK as only ARM cpus are supported. An update to 1.4.0 is currently not possible because the min API level of LiteRT 1.4.0 (25) exceeds the min API level of the Jumio SDK (21). If you don't use LiteRT elsewhere in the code you can remove the x86 and x86_64 libraries by excluding them in the packagingOptions:
android {
...
packagingOptions {
...
it.excludes.add("lib/x86_64/libtensorflowlite_jni.so")
it.excludes.add("lib/x86/libtensorflowlite_jni.so")
}
}
If your apps min API level is at least 25 then the LiteRT dependency can be overridden:
implementation ("com.jumio.android:docfinder:4.14.0") {
exclude group: 'com.google.ai.edge.litert', module: 'litert'
exclude group: 'com.google.ai.edge.litert', module: 'litert-metadata'
}
implementation ("com.jumio.android:liveness:4.14.0") {
exclude group: 'com.google.ai.edge.litert', module: 'litert'
}
implementation 'com.google.ai.edge.litert:litert:1.4.0'
implementation 'com.google.ai.edge.litert:litert-support:1.4.0'
Public API Changes
- Unused
JumioFallbackReason.NO_DETECTIONhas been removed. IMAGE_ANALYSIShas been added toJumioScanUpdate- Property
SCANNING_ERRORhas been added toJumioFallbackReason. - The data parameter of
JumioScanStep.ADDON_SCAN_PARTnow containsJumioDocumentInfo. JumioDocumentInfocontains the issuing country and theJumioDocumentTypeof the initially scanned document .- Function
getHelpAnimation()has been deprecated inJumioScanPart.
Android Manifest Changes
The following optional permission can be declared in the AndroidManifest.xml file, in order to improve fraud prevention:
<uses-permission android:name="android.permission.HIGH_SAMPLING_RATE_SENSORS" />
New SDK Localizations Added
The following keys have been added:
jumio_id_scan_hint_error_fallbackjumio_eidas_descriptionjumio_eidas_login_headerjumio_button_continuejumio_switched_to_back_camerajumio_switched_to_front_camerajumio_search_completed_for_countryjumio_search_barjumio_no_results_foundjumio_clear_searchjumio_current_issuing_countryjumio_buttonjumio_accessibility_camera_switch_to_backjumio_accessibility_camera_switch_to_frontjumio_selectjumio_change_issuing_countryjumio_current_issuing_countryjumio_accessibility_scan_back
The following keys have been removed:
jumio_nfc_retry_error_generaliproov__prompt_pitch_too_highiproov__prompt_pitch_too_lowiproov__prompt_roll_too_highiproov__prompt_roll_too_lowiproov__prompt_yaw_too_highiproov__prompt_yaw_too_low