BlackBerry Dynamics utilizes a number of capabilities of the operating system that require build-time configuration. Some build-time configuration is therefore mandatory for all applications.
A number of component definitions are mandatory for the AndroidManifest.xml
files of all applications. These definitions are all present in the manifest of the BlackBerry Dynamics runtime library project, which is installed as part of the SDK for Android. The definitions can be included from the library project into an application project by using automatic manifest merging. This can be enabled in the project properties file of the application by adding the following line:
Some earlier versions of the BlackBerry Dynamics SDK for Android didn't support automatic manifest merging. The build-time configuration of applications built with one of those earlier versions can generally be simplified for building with the current version.
Some earlier versions of the BlackBerry Dynamics SDK for Android did not support automatic manifest merging. Applications built with these versions will have:
All these elements can now be removed unless the application was already registered as a BlackBerry Dynamics AppKinetics™ service provider, and its registration cannot be changed. In that case, there still has to be an ICC receiving activity class in the source code, and a corresponding activity in the manifest file. The class must now be an empty subclass of the GDIccReceivi
ngActivity
class. See the GDIccReceivingActivity reference documentation for details and code snippets.
See under Service Provider Requirements in the icc package reference for details of service provider registration.
By default, the BlackBerry Dynamics runtime checks that there is a GDStateListener
or GDAppEventListener
event receiver when an authorize method such as GDAndroid.activityInit is called. If there isn't, the runtime will throw an error and the program will terminate. This check must be switched off in the case that the application doesn't implement the above interfaces and instead uses the GDStateAction
interface to monitor authorization.
The event receiver check can be turned off, as follows.
com.blackberry.dynamics.settings.json
file in the assets/
folder of the application. (Note that this is a different name to settings.json
which is used for other BlackBerry Dynamics settings.)CheckEventReceiver
and set its value to false
, as shown in the example below.Example com.blackberry.dynamics.settings.json
file that switches off the event receiver check:
The BlackBerry Dynamics runtime checks its own binary integrity when it runs. This is a function of the BlackBerry Dynamics runtime library, and is required as part of compliance with Federal Information Processing Standards (FIPS). No special build-time configuration is needed to switch on run-time integrity checking in a BlackBerry Dynamics for Android application.
The BlackBerry Dynamics runtime version 6.1 and earlier had a requirement on the following Android system permissions:
READ_PHONE_STATE
). Information that is only available to applications that have been granted this system permission is utilised to identify the Android device to the BlackBerry Dynamics infrastructure.Applications that target, and are running on devices at, API level 23 or higher prompted the user to grant the above permissions. The prompt was issued by the BlackBerry Dynamics runtime, without reference to the application code.
In BlackBerry Dynamics runtime version 6.1, applications could ‘opt out’ of this behaviour and thus the runtime would not show the prompt or have access to read the phone state.
The Request Permissions functionality was turned off, as follows.
com.blackberry.dynamics.settings.json
file in the assets/
folder of the application. (Note that this is a different name to settings.json
which is used for other BlackBerry Dynamics settings.)Request_READ_PHONE_STATE
and set its value to false
, as shown in the example below.From BlackBerry Dynamics runtime version 7.0 the default has been changed such that the runtime will no longer request to read the telephone state. Now if an application requires this state it will have to request it in the normal way.
Code obfuscation tools like Proguard are commonly used to protect the source code of Android applications. The BlackBerry Dynamics SDK includes the consumer proguard configuration files to enable applications to run correctly; no further configuration should be needed.