Software requirements
    Android development
      Android
 development| Item | Requirement | 
|---|---|
| Compatibility with previous versions of the SDK | The  BlackBerry Dynamics SDK for Androidis compatible with these previous releases of the SDK: 
 | 
| Supported  AndroidOS | Android9.0 or later | 
| AndroidAPI 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.
                     
 | 
| Build requirements | If the app project uses the SDK .jar distribution, load the shared libraries libsbgse.so and libgdndk.so. | 
| Google
            PlayServices | The SDK uses  Google
            PlayServices version 17.0.0 to support some of its functionality. If your app uses the following  Google
            PlayServices libraries, verify that you are using the following minimum version or later: 
 | 
| Supported CPU architectures | 
 | 
| Javacompatibility | Applications must be built using  Java8 compatibility. For more information, see java8-support. | 
| Suggested versions of platform and tools | 
 | 
| Package visibility restrictions | Package visibility updates were made in SDK version 8.1 and later to address changes in  Android11 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 Android11 or later only (targetSDKLevel=Android 11). If a BlackBerry
        Dynamicsapp is not upgraded to SDK version 8.1 and you change the target SDK level to Android11, the app cannot communicate with other BlackBerry
        Dynamicsapps 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  AndroidGradle 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  Android11 are able to perform interoperability operations with the apps that don't target Android11. Apps that are not targeted to Android11 can run on Android11 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,  Javadoes not work with UTF-8-BOM (byte order mark). | 
| Supported launch modes | Apps built with the  BlackBerry Dynamics SDK for Androidsupport the following launch modes in AndroidManifest.xml: 
 | 
| BlackBerry Dynamics Launcher Library | The  BlackBerry Dynamics Launcheris a user-friendly interface that allows users to easily access and switch between BlackBerry
        Dynamicsapps, configure app settings, and take advantage of other useful features. For more information, see the BlackBerry Dynamics Launcher Framework documentation. The  BlackBerry Dynamics SDKand the BlackBerry Dynamics Launcher Libraryare 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  BlackBerryand 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'. |