Skip to content

What's New in Release 3.4.3

Upgrading to the Latest Version of the SDK

Extract the contents of the SAP BTP SDK for Android software update file to a folder on your computer and run the installation script. The installation script copies the SDK libraries to the local Maven repository and reinstalls the Android Studio plugin.

The installation script does not overwrite older versions of the SDK libraries. These are still present in the local Maven repository after the upgrade. This ensures applications referencing the older SDK will continue to compile.

For existing applications, manually update the SDK version in your Gradle files to the new one.


You can update the SDK version for your Wizard projects using the sdkVersion property in the file at the root of the generated project.

Fiori Library 3.4.3 Update

  • Bug fix: Fixed an issue that could cause a crash for Malaysian or Vietnamese users.

What's New in Release 3.4.2

SDK Wizard 3.4.2 Update

  • Bug fix: Fixed an issue where rotating a device would cause MainBusinessActivity to restart.
  • Bug fix: Fixed an issue where applications would register the lifecycle twice.

Fiori Library 3.4.2 Update

  • Bug fix: Fixed an issue related to Object Header when using dark mode.
  • Bug fix: Fixed an issue that would cause a crash on devices running Android version 11 or 12 when attempting to create a photo attachment.

What's New in Release 3.4.1

Flows Library 3.4.1 Update

  • Bug fix: Fixed an issue that caused an occasional cross-context SSO with OAuth failure.

Fiori Library 3.4.1 Update

  • Bug fix: Addressed an accessibility issue related to the attachment form cell header.
  • Bug fix: Extraneous language resources were removed that could have prevented publishing applications to the Google Play Store using .AAB files.

What's New in Release 3.4.0

Foundation Library 3.4.0 Update

  • DeviceUser is now serializable.
  • createDeviceUserFromJsonString* has been added to convert a JSON string to the DeviceUser model.
  • toString of the DeviceUser model now returns JSON format.
  • Better support for the API key only-authentication type for client applications on the SAP Mobile Services, Cloud Foundry environment.
  • Provide support for a user, logged in via a desktop, to scan a generated QR code with their device to authenticate and complete the onboarding process.
  • New format for both the Java and Kotlin API reference documentation for better navigation and content searching.
  • OAuthClientPassword has been added to support the new OAuth client with a short-duration password.

Fiori UI Library 3.4.0 Update

  • A new chart type, Donut Chart, has been added.
  • A new Data Table View has been added to display tabular data on mobile devices.
  • Inline Signature Capture has been improved to provide a Cancel button.
  • An "Add Signature" layout is now provided for those applications that want to launch a separate dialog for signature collection.

Flows Library 3.4.0 Update

  • Passcode policy enhancement. If the current passcode used to unlock an app does not meet the updated passcode policy requirements, change passcode steps will be appended to the Sign In screen for the next login.
  • Automatically terminate the current onboarding flow if the offline encryption key cannot be retrieved from the server for a multiple-user mode mobile app.
  • New API added to let client code monitor the flow finish event more easily. onActivityResult is now deprecated.
  • New flow option added, getApplicationTheme, to let client code pass in the client theme to make the onboarding screens the same style as the client app.
  • New flow option added to enable/disable the QR code confirmation screen during onboarding. The previous method to control this via QRCodeReaderSettings is deprecated.
  • New flow option added, isApplyFioriStyleForCustomFlow, to enable/disable full screen mode for custom flows.
  • updateConsentStatus API added to UserSecureStoreDelegate to let client code update the usage and crash report user consent status. Better support for the API key only-authentication type for client applications on the SAP Mobile Services, Cloud Foundry environment.
  • Better dark theme support.
  • New format for both the Java and Kotlin API reference documentation for better navigation and content searching.
  • Flow.start has been enhanced to support apps configured with OAuthClientPassword and support cross-context SSO with OAuth.

Onboarding Library 3.4.0 Update

  • Improved design of the QR code confirmation screen.
  • skipQRConfirmScreen in QRReaderScreenSettings is deprecated.
  • Better theme/style customization support.
  • Logo height and width can now be customized along with the image resource.

SDK Wizard 3.4.0 Update

  • New Crash Report Consent option on the Settings screen, allowing users to revoke this consent after onboarding. If users enable this consent on the Settings screen, a consent screen will then be displayed, requesting the users' agreement.
  • Offline OData sample code has been refactored to improve the architecture and decouple the sync worker from the user interface components.
  • Added dark theme support.

Offline OData Library 3.4.0 Update

  • Support bound and unbound action with simple type parameters.
  • Support bound and unbound action with complex and entity type parameters.

What's New in Release 3.3.5

Foundation Library 3.3.5 Update

  • Bug fix: Web pages now show in new browser windows during onboarding.
  • Bug fix: Remove obsolete language folder values-sh.

Flows Library 3.3.5 Update

  • Bug fix: Style of status bar in onboarding pages is now correct.

Android Wizard 3.3.5 Update

  • Bug fix: Remove obsolete language folder values-sh in the generated project.

Fiori UI Library 3.3.5 Update

  • Bug fix: Months that require six lines to display will now render correctly in the Date Picker on smaller devices.
  • Bug fix: Sensitive information will no longer be displayed when the Extract UI is used.
  • Bug fix: A build error caused by the Kotlin Extensions component has been addressed.
  • Bug fix: Dark mode issues related to the Hierarchy View and Object Header have been addressed.
  • Bug fix: The KPIHeader will now render correctly when it is used in a dialog.
  • Bug fix: Applications can now customize the List Picker Activity title.
  • Bug fix: When using Talkback version 9.1, the keyboard will now be displayed correctly when accessing a SimplePropertyFormCell.
  • Bug fix: The obsolete language folder, values-sh has been removed.
  • Accessibility: The header on the AttachmentFormCell is now correctly labeled as such to facilitate screen reader navigation.

What's New in Release 3.3.4

Flows Library 3.3.4 Update

Bug fix: Clear passcode on the Sign In screen when the app is brought to foreground.

Foundation Library 3.3.4 Update

Offline encryption key retrieval API support on SAP Business Technology Platform, Neo environment..

Offline OData Library 3.3.4 Update

Fixed first user switch issue for UploadOnUserSwitch feature.

What's New in Release 3.3.3

Foundation Library 3.3.3 Update

Upgrade SQLCipher to 4.4.3 to avoid vulnerability issues.

OData Library 3.3.3 Update

Support instance annotations feature.

Flows Library 3.3.3 Update

  • Bug fix: App crashes when changing system language or font scale, or switching between dark and light mode.
  • Bug fix: App crashes after cancelling change/verify passcode flow then accessing the user secure store.
  • Show error message in the passcode input field on the Set Passcode screen instead of displaying with a toast.
  • Dark mode theme support.

What's New in Release 3.3.2

Flows Library Update

  • Additional callback functions have been added to FlowStateListener.
  • New callback function to support client code validation of QR codes.
  • Utilities to add unique interceptors to OkHttpClient.
  • AppConfig information is saved in FlowContextRegistry.flowContext after the onboarding/restore flow.
  • Both current and previous user information are saved in FlowContextRegistry.flowContext, so the client code no longer needs to save the switched user status.
  • Generate offline encryption key for offline mobile apps.
  • API provided to get the runtime multiple user mode, which was saved locally during the very first user onboarding.
  • API provided to get the user detail information in UserSecureStoreDelegate.
  • New options in FlowOptions to support the client code deciding whether to display an end user license agreement screen during onboarding or create a new account flow.
  • New option in FlowOptions to allow the client code to decide whether to have the confirmation dialog for reset flow.
  • New option in FlowOptions to allow the client code to disable the toast messages in a flow.
  • New flow added to support client code checking the passcode only.
  • Mobile app migration support to upgrade the current mobile app to adopt the flows component.

Fiori UI Library Update

  • The Date Picker will now be presented correctly on smaller devices.
  • Object Cells that are configured to display a character rather than an image will now display the character correctly if they are selected and then deselected.
  • Passcode-related input fields on the onboarding screens now do not allow an Android system to collect user input data and do not show suggestions on the soft keyboard.

What's New in Release 3.3.1

  • The WebView used to display the EULA now supports dark mode.
  • KeyValueCell now maintains its expanded/collapsed state during orientation changes, and allows for programmatic expand/collapse.
  • Fixed Wizard hanging issue during code generation for offline type and certificate-based authentication application.
  • Moved offline synchronization-related UI screens from generated client project into Fiori UI component.

What's New in Release 3.3.0

Foundation Library Update

  • When using LogService with onboarding flows2, logging configurations will be set by the log policy on mobile services.
  • ApplicationStates supports automatic checking of the state of the device network.
  • Added a new type of CertificateProvider, named ChooseCertificateProvider, which displays a popup dialog allowing the user to choose a certificate.
  • The application no longer needs to call with AppLifecycleCallbackHandler. It is now handled by the SDK.

Android Wizard Update

  • The Wizard will display a message prompting the user to upgrade the H2 database.

Fiori UI Update

  • QRCode view now supports multi-scan mode and can also be customized.
  • A new Inline Signature Capture Form Cell has been added to facilitate signature capture without needing to launch a separate dialog.
  • A new Persistent Footer has been added, placed below a Form Cell, which can be used to provide immediate actions to the user.

Flows Update

  • flows2 now supports multiple users.

Improved Offline OData Library Update

  • Support for UploadOnUserSwitch. If enabled, during a user switch (a second user opens the same store used by the previous user), the upload function will be called automatically inside the open function. During the upload, pending changes from the previous user will be executed in the OData back end using the previous user’s context.
  • A new parameter, note, has been added to the offline OData library APIs sendStore and sendEncryptedStore. This allows for a description to be added to the offline store when it is sent to the server.
  • Prior to SAP BTP SDK for Android version 3.3, property values were generated in the back end for a newly created entity during upload, and the client had to issue a download to explicitly update the generated properties for the entity. This is usually not a problem, as the app normally performs a download after upload to update the local store. With the new early_populate_backend_generated_values offline option, the client can get updated values immediately during upload without waiting for next download. This could help in some circumstances where the back end is slow and it's preferable that the app performs fewer downloads, if possible.

What's New in Release 3.2.6

Notable new or changed features for the SAP BTP SDK for Android version 3.2.6.

  • The WebViewActivity now supports a _blank attribute for the link target that opens the default browser and loads the URL.
  • The Kotlin Extension component dependency now has a specific version assigned to it in order to avoid building against an incompatible version.
  • Fixed an issue that caused an offline app failure after uploading a local request.

What's New in Release 3.2.5

Notable new or changed features for the SAP BTP SDK for Android version 3.2.5.

  • The 32-bit versions of the libraries have been added back to the offline OData component.

What's New in Release 3.2.4

Notable new or changed features for the SAP BTP SDK for Android version 3.2.4.

  • Fixed an issue that caused an app crash when handling a relationship with more than two navigation properties.

  • Fixed an issue that caused offline app failure on Android 6 devices.

  • Fixed an issue that prevented the Calendar Picker from being fully visible on devices with smaller screens.

What's New in Release 3.2.3

Notable new or changed features for the SAP BTP SDK for Android version 3.2.3.

  • Fixed an issue that caused flushing of the buffer to the database to be interrupted in some instances by upgrading the UltraLite database version to

  • Fixed an issue that caused the AttachmentFormCell label to be invisible in some cases.

What's New in Release 3.2.2

Notable new or changed features for the SAP BTP SDK for Android version 3.2.2.

  • An issue that caused applications using charts with small Y-axis increments (relative to the overall data range) to crash has been addressed.
  • GenericListPickerFormCell is more accessible when using screen readers.

What's New in Release 3.2.1

Notable new or changed features for the SAP BTP SDK for Android version 3.2.1.

  • SQLCipher version upgraded to 4.4.1 to avoid vulnerability issues.
  • The KPI Header is now laid out properly following an orientation change.
  • Using the ObjectCellSwipeControl with an unmatched key will no longer cause a crash.
  • Using a GridTable with a Header will no longer cause a crash.
  • The Map Preview Panel will now display all cells.
  • As of release 3.2.0, offline OData provides support for the OData Version 4 Enum type and Stream type properties. The descriptions for deleteStream, downloadStream, and uploadStream have been updated accordingly.

What's New in Release 3.2.0

Offline OData Library

  • Support to remove a non-stream defining query from the opened offline store when allow_defining_query_removal is enabled on the server.
  • Introduced new API getDefiningQueries from class OfflineODataProvider, which returns all existing defining queries.
  • Support localized progress default messages.

  • Support OData version 4 with two new features:

    • Enum type
    • Stream property
  • Support OData version 4 with the following limitations:

    • OData Atom (xml) is not supported
    • Content-ID referencing in body and Content-ID referencing across change sets are not supported
    • Binds for a collection of value navigation properties in a PATCH request are not supported
    • Modification operations in batches outside of change sets are not supported
    • Bound actions and functions are not supported
    • Unbound actions and functions are not supported
    • Collection properties are not supported
    • Spatial types are not supported
    • Singleton is not supported
    • Derived entities are not supported
    • Containment navigation properties are not supported
    • $filter operations on date (such as add and sub) are not supported
    • System query options $search and $index are not supported
    • Built-in functions or literals: case, $level, $all, $each, $it, and $root are not supported
    • Upserting an entity is not supported

Foundation Library

  • AppConfig and Auth related model classes are moved from Flows to Foundation library.
  • OkHttp library version upgraded to 4.8.0

Fiori UI Library

  • A new chart type, Stacked Column Chart, has been added.
  • The horizontal swipe functionality of the Object Cell has been enhanced to include different right and left actions.
  • The Onboarding component has been enhanced to include new biometrics screens.
  • The new version of the QR Code Scanner no longer depends upon Google Play Services.

Android Wizard

  • Application configuration has been moved to the sap_mobile_services.json file for central management.

  • An enhanced progress bar for offline apps has been implemented using the Offline OData Enhanced Progress API to display the current progress of various operations, such as initial open, upload and download.

  • Support for Android Studio 4.0.x and 4.1.x.

What's New in Release 3.1.4

Notable new or changed features for the SAP BTP SDK for Android version 3.1.4.

  • The signature line in the Signature Capture Form Cell will no longer be too short following an orientation change.

  • Object Header Tags will no longer be misaligned following an orientation change.

  • Following an orientation change, the correct Detail page of the Object Header will be displayed.

  • When running on an Android 11 device, the Object Header KPI caption will no longer be split between two lines.

  • Attachments that are programmatically added to an Attachment Form Cell will now display the correct MIME type icon.

  • The "No Data" text can now be customized on Chart Cards.

  • Duplicate or missing series titles will no longer prevent a data series from being displayed on a Chart Card.

  • The version of UltraLite used by the Offline OData component has been updated to in order to incorporate SSL version 1.1.1g.

  • Trend Titles on Chart Cards will no longer appear using the negative text style when they are positively trending.

  • The repository URL used by the Assistant has been changed to point to the new central repository.

What's New in Release 3.1.3

Notable new or changed features for the SAP BTP SDK for Android version 3.1.3.

  • The design of the Passport API is now aligned with iOS.

  • An issue where X-axis labels on Horizontal Bar Chart Cards would overlap has been addressed.

  • X-axis labels on Bar Charts will no longer be clipped.

What's New in Release 3.1.2

Notable new or changed features for the SAP BTP SDK for Android version 3.1.2.

  • The SAP BTP SDK Wizard for Android no longer generates a metadata parsing error when creating a new project against some back-end systems.

  • Minor issues with the Fiori theme for Dark Mode (including color and elevation) have been resolved.

  • Orientation changes related to Object Header are now handled correctly.

  • A memory leak in the Offline OData progress observer has been removed.

  • The CollectionViewAdapter can now be extended in Kotlin.

  • The maximum number of data points for a Column Chart Header with two data series is now three.

  • Status text is no longer clipped on the left-hand side for Chart Cards.

  • Charts now correctly handle empty data sets.

  • Chart Header alignment is now correct for right-to-left locales.

  • The default height of Buttons using the FioriButton style has been adjusted.

  • Various legend display issues in Charts have been addressed.

  • The minimum height for Timeline items has been adjusted.

What's New in Release 3.1.1

Notable new or changed features for the SAP BTP SDK for Android version 3.1.1.

  • The SAP BTP SDK Wizard for Android now supports Android Studio 4.0.

  • The OAuth Authentication Webview will now close properly if the redirect URL uses a 307 response code.

  • Czech and Polish translations have been added for Timeline and the Basic Authorization screen.

  • The Horizontal Bar Chart component will now display expanded Y-axis labels.

  • X-axis labels for Chart Content will now display consistently and won't overlap.

What's New in Release 3.1.0

  • Support for passport-based Correlation. This feature currently supports metering and integration/user monitoring via the passport header.

  • A basic authentication dialog popup to allow applications to handle the basic authentication challenge seamlessly and without extra effort.

  • A generated app using the Flows framework to abstract complex details of the underlying Fiori and Foundation frameworks.

  • A Timeline control that displays events and objects in chronological order. The control displays information as interactive cells, focusing on important information about the object or event. The control also allows the timeline view to be filtered or searched.

  • Multiple criteria sorting and filtering to allow sorting of a list view by multiple fields (primary, secondary, and tertiary sort fields). A visual indicator reflects the current sort order.

  • Horizontal Bar Chart component: This chart type displays horizontal bars aligned to the Y-axis. In contrast to the column chart, horizontal charts provide more space for displaying labels for the item type while still providing the measurement of discrete items.

  • A Signature Capture control to easily capture a user's signature. The control provides a view for the user to draw a free hand signature using touch, pencil, or stylus. Once the signature is captured it is saved as an image.

  • A Chart Header control that displays a chart view of data inside an object header. This can be used to provide at-a-glance information about an object to the end user (this chart type can only be used inside an Object Header).

  • A Horizontal Fit Collection control for content to be displayed in a single horizontal line. In contrast with horizontal scroll, this control does not scroll horizontally.

  • Allow a chart card to be read-only and provide support for a ‘listener’ callback when a user taps on the control. The control also allows X-axis and Y-axis labels to be null, while auto-generating Y-axis incremental steps.

  • Redesigned Flows framework (version 2.0), designed to use the best practices and design patterns of Android Architecture Components. Flows version 1.0 is now deprecated and it is highly recommended to adopt the Flows 2.0 interface.

  • Enhanced Cancel Download API: Cancel download processes individually by using a specified cancelToken object. The server will be notified and cancel the ongoing downloading process.

  • Enhanced Progress API: Provide greater details about the progress of various operations, such as initial open, upload, download, and send store.

  • Send Store API: Send a decrypted offline store to the server.

  • Support for Android Studio 3.6.X. This contains code generation changes required to support the new project template in Android Studio 3.6.

Last update: September 1, 2021