Back to top

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 Release notes 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!

New namespace

One key change in v3.x is the use of a new, single namespace for API packages, intents, and permissions. These old namespaces:

  • android.app.enterprise
  • com.sec.enterprise
  • com.sec.vpn

have been replaced by this new namespace:

  • com.samsung.android.knox

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.

Requirements

  1. 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.

  2. Samsung Android phones, with

    • Knox v3.0 or higher — 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 knoxsdk.jar.

    • Knox v2.9 or lower — 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.

  3. Knox Platform for Enterprise license — This KPE license replaces the legacy licenses (ELM, KLM, ISV). To generate a license, see Get a license.

Is this page helpful?