Skip Navigation

Software requirements

Android
development

Item
Requirement
Compatibility with previous versions of the SDK
The
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
Supported
Android
OS
Android
9.0 or later
Android
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 libsbgse.so and libgdndk.so.
Google Play
Services
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:
  • com.google.android.gms:play-services-location:17.0.0
  • com.google.android.gms:play-services-safetynet:17.0.0
Supported CPU architectures
  • ARMv7
  • ARMv8
  • x86
  • x86_64
Java
compatibility
Applications must be built using
Java
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
Android
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
Android
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
Android
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
Android
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
Android
11 are able to perform interoperability operations with the apps that don't target
Android
11. Apps that are not targeted to
Android
11 can run on
Android
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,
Java
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
The
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.
The
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
BlackBerry
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'
.