Skip Navigation

Supported CPU architectures

The 
BlackBerry Dynamics SDK
 includes the native libraries built for the ARMv7, ARMv8, x86, and x86_64 CPU architectures. If you include the library project in your app, all of the ARMv7, ARMv8, x86, and x86_64 libraries are included when your app is built. Unless you use 
abiFilters
 as described below, all library types will be included.
Consider the following:
  • Including multiple CPU architectures can increase the size of the app.
  • x86 and x86_64 are supported for 
    Android
     emulators as a faster alternative to ARM architectures. You may only want to include the x86 or x86_64 library in test versions of your app that you want to run on an emulator.
  • Ensure that your app build includes the native library for each CPU architecture that it uses. It is a best practice to exclude native libraries for architectures that the app does not use. If the included libraries do not match the architecture used by the app, you may experience issues when running the app. For example, if your app uses a native library helloWorld_armv8.so, the app build must include the BlackBerry Dynamics ARMv8 library, and it does not need to include the ARMv7, x86, or x86_64 libraries.
    You can specify the required CPU architectures using 
    abiFilters
     in the build.gradle file. For example, to include only ARMv7 libraries in your project:
defaultConfig { ndk { abiFilters "armeabi-v7a" } }