Skip Navigation

Software requirements


Compatibility with previous versions of the SDK
BlackBerry Dynamics SDK for Android
is compatible with these previous releases of the SDK:
  • 9.2.x
  • 9.1.x
  • 10.0.x
  • 10.1.x
  • 10.2.x
  • 11.0.x
  • 11.1.x
9.0 or later
API Level
Minimum API level: 29
AndroidX libraries
Your apps must use the AndroidX support libraries to compile successfully. The SDK supports the following minimum versions. It is recommended to use the latest stable version of each library.
  • androidx.appcompat:appcompat:1.0.0
  • androidx.cardview:cardview:1.0.0
  • androidx.constraintlayout:constraintlayout:1.1.3
  • androidx.core:core:1.0.0
  • androidx.legacy:legacy-support-v4:1.0.0
  • androidx.preference:preference:1.1.0
  • androidx.recyclerview:recyclerview:1.0.0
Build requirements
If the app project uses the SDK .jar distribution, load the shared libraries and
Google Play
The SDK uses
Google Play
Services version 17.0.0 to support some of its functionality.
If your app uses the following
Google Play
Services libraries, verify that you are using the following minimum version or later:
Supported CPU architectures
  • ARMv7
  • ARMv8
  • x86
  • x86_64
Applications must be built using
8 compatibility. For more information, see java8-support.
Suggested versions of platform and tools
  • Android
    Studio 3 or later
  • The following values specified in sdk/libs/handheld/gd/build.gradle. Other versions of tools will work, but the
    BlackBerry Dynamics
    library gradle files might need to be updated accordingly.
Package visibility restrictions
Package visibility updates were made in SDK version 8.1 and later to address changes in
11 to how apps query and interact with other apps that are installed on the same device. These changes impact apps with the target SDK level set to
11 or later only (targetSDKLevel=Android 11). If a
BlackBerry Dynamics
app is not upgraded to SDK version 8.1 and you change the target SDK level to
11, the app cannot communicate with other
BlackBerry Dynamics
apps on the same device, breaking interoperability features (Easy Activation, authentication delegation, and so on).
To support the new package visibility queries element, you must either upgrade the
Gradle plugin to version 3.6.3 or later or follow the instructions from the Android Developers Blog: Preparing your Grade build for package visibility in Android 11 to use a major Gradle version with the latest dot release.
Apps that target
11 are able to perform interoperability operations with the apps that don't target
11. Apps that are not targeted to
11 can run on
11 and are not affected by the package visibility restrictions.
Character encoding for build files
Build files (for example, settings.json) must use UTF-8 character encoding. Verify that the editor that you plan to use does not add non-UTF-8 characters or headers. In general,
does not work with UTF-8-BOM (byte order mark).
Supported launch modes
Apps built with the
BlackBerry Dynamics SDK for Android
support the following launch modes in AndroidManifest.xml:
  • android:launchMode="standard"
  • android:launchMode="SingleTop"
  • android:launchMode="singleTask"
BlackBerry Dynamics Launcher Library
BlackBerry Dynamics Launcher
is a user-friendly interface that allows users to easily access and switch between
BlackBerry Dynamics
apps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation.
BlackBerry Dynamics SDK
and the
BlackBerry Dynamics Launcher Library
are mutually dependent. See the BlackBerry Dynamics SDK for Android Release Notes for the required version of the
BlackBerry Dynamics Launcher Library
Restricted key prefix
The key prefix "blackberry" is reserved by
and should not be used for key values, key attributes, or key elements. For more information and examples, see the Application Policies Definition in the appendix of the API Reference.
Credential manager requirements
Apps that will use the Credential Manager UI require the following updates:
In the app level module of your Gradle file (app/build.gradle), in the dependencies section, add
implementation 'androidx.recyclerview:recyclerview:1.0.0'