for Android

DAF SDK for Android

BlackBerry Dynamics Release Notes - Updated: July 25, 2019

What's new in this release (

  • The BlackBerry Dynamics Trusted Authentication Framework is now able to activate programmatically. For more information about programmatic activation, see the BlackBerry Dynamics SDK Development Guide. The Class123Skelton sample app has been updated to demonstrate how to enable programmatic activation.
  • The DAF SDK provides extensions to the BlackBerry Dynamics SDK that allow you to easily integrate third-party authentication technologies and other cryptography-based functions into the BlackBerry Dynamics environment.
  • To support Android Q compatibility, this version of the DAF SDK should be used with the BlackBerry Dynamics SDK for Android version
  • You can now migrate BlackBerry Dynamics apps that use the Trusted Authentication Framework (TAF) from Good Control to UEM.


Integrating the DAF SDK in .aar format

As of release, the BlackBerry Dynamics SDK libraries are available in the SDK package as AAR files that can be published to an internal repository. The files are found in DAF-<version>/sdk.

Use one of the following methods to incorporate the .aar files into your BlackBerry Dynamics app projects. The appropriate method depends on how you installed the SDK.

Add .aar files as plain resources

1. Add the .aar files to an appropriate folder, for example, libs.

2. Define the path to the folder in the build.gradle file. For example:

allprojects {
    repositories {
        flatDir {
            dirs '<path_to_libs_folder>'
        //other maven URLs ...

3. Add the Gradle dependencies. For example: 

compile ( name : 'daf-<version>' , ext : 'aar' )


Add .aar files as a module using Android Studio

1. In Android Studio, go to File > New > New Module > Import .jar/.aar. Import the .aar file.

2. Add the Grade dependencies. For example:

compile project(‘daf-<version>’)


Enhancements from previous releases

  • The arm64-v8a .so files were missing in the Android DAF SDK version The files are included in the Android DAF SDK version (GD-37468)
  • Compatibility with the BlackBerry Dynamics SDK for Android version 4.0
  • Fix for the incorrect SHA224 hash prefix (GD-33478)
  • OpenSSL headers are now included in the SDK. See Extras/README-openssl.md in the SDK for more details. Bug fixes and general improvements.
  • Support for ARMv8 and x86 architectures Bug fixes and general improvements.
  • User interface changes to support Easy Activation using DAF-based applications. This will require changes to application code, see API Reference - Appendix 2 - Authentication With Warning (Android) for details. IMPORTANT: Existing DAF applications will fail to build with the new SDK until these changes are made.
  • Fix issue GD-8669. The getMechanisms() method is now attached to the DAKey class, not DADevice. This allows each key to report which crypto mechanisms it supports. Example code has been updated to reflect this.
  • Fix issue GD-8683. Keys which have the DA_USER_AUTHENTICATE attribute flag set are now asked to generate signatures (via the sign() method), and not encryption and decryption.
  • Correct bug in temporary unlock flow if we receive events from GD in an unexpected order after temporary unlock completes.
  • The first two digits of DAF version numbers now match the GD SDK they were tested with.
  • The TestRequester app has been removed from the distribution. Please use a GD sample app delegating authentication to your authenticator to test your app.
  • The native examples for class 2, 3 and 4 devices were removed from the distribution. Please contact Good customer support if you need additional native example code. The class 0 and 1 native and all Java examples remain.
  • DAF is now compatible with Android 5.0 'Lollipop' and GD release 1.9.1162. Native libraries now use the 'armeabi-v7a' ABI.
  • Bugs have been fixed in the Class0BLE and Class1NFC samples.
  • This release is suitable for use with version 1.8.x of the GD SDK. There is a compatibility issue which prevents examples taken from earlier releases of the DAF SDK from working with 1.8 and later of the GD SDK, namely:
  • The Android example apps have had their native app IDs changed to match their GD app IDs. The apps are now:
    • com.good.example.daf.class0ble 
    • com.good.example.daf.class0nfc 
    • com.good.example.daf.class1nfc 
    • com.good.example.daf.class3keystore
  • Additionally, an error handling bug was fixed in the DAF JNI layer.
  • This release is suitable for use with version 1.7.x of the Good Dynamics SDK
  • This code MUST be used in conjunction with release 1.6 or later of the Good Dynamics SDK. It will not work with earlier versions. S/MIME is not supported in this release on iOS or Android.
  • iOS DAF applications do not currently respond to policy messages received from the GC server. Support for custom authenticator policies is planned for a later release of Good Dynamics software.
  • 'Temporary Unlock Sequence' functionality is not implemented in iOS.