Knox SDK migration introduction
In January 2018, we introduced a new consolidated Knox SDK v3.0. This SDK now includes the legacy Knox Standard, Premium, Customization, ISV, UCM, and VPN SDKs. In this tutorial, we’ll show how to migrate an app that was using a legacy Knox SDK v2.x to the latest Knox SDK v3.x. For details, about the changes in the v3.0 SDK, see What’s new in Knox SDK 3.0.
You must stop using the legacy Knox SDKs and their old namespaces before deploying on devices with Android 10 (Q). If you do not migrate to the Knox SDK and new namespace before Android 10, your app will no longer work!
One key change in v3.x is the use of a new, single namespace for API packages, intents, and permissions. These old namespaces:
have been replaced by this new namespace:
Updating an app to use the new namespace is straightforward, especially with an IDE like Android Studio, which can look up the class for an API method.
As the old namespaces are no longer supported in Android 10 (Q), we strongly encourage you to update your apps now.
Samsung Knox SDK — This new consolidated SDK provides two JAR libraries:
knoxsdk.jar — This provides all the API methods in the Samsung Knox SDK, using the new namespace for its API methods, intents, and permissions.
supportlib.jar — This library provides backwards compatibility with older devices, translating the new namespace used by the Samsung Knox SDK to the old namespace recognized by the older devices.
Make sure you are using the latest versions of these libraries offered through the Knox Developer Dashboard, as the latest versions support the latest devices, features, and bug fixes.
Samsung Android phones, with
Knox v3.0 or later — These devices have built-in support for the Samsung Knox SDK and can recognize the new namespace being used by its API methods, intents, and permissions. For these phones, you need to compile only the
Knox v2.9 or earlier — These older devices don’t recognize the new namespace. You can compile the supportlib.jar into your app and test to ensure that your updated app works on older devices.
Knox v2.5 to v2.9 — These older devices don’t recognize the new namespace unless you compile in the supportlib.jar, which translates the new namespace to the old namespace recognized by these older devices.
Is this page helpful?