This is a reminder that for your apps to continue to work on Android Q, you must stop using the legacy Knox Standard, Premium, Customization, ISV, UCM, and VPN SDKs and their namespaces. If you do not make these changes prior to Android Q, your app will no longer work! If you are already using the new Knox SDK v3.x, no changes are needed. Please find the details below.
In January 2018, we introduced our new Knox SDK v3.0, which improves the developer experience with better usability, efficiency, and troubleshooting.
One of the changes was to move to a new namespace. All Samsung Knox SDK packages, intents, and permissions now use this namespace:
com.samsung.android.knox. Previously, there were multiple namespaces, including one in the Google domain (
android.app.enterprise). The new namespace simplifies coding, troubleshooting, support, and removed the possibility of overlaps with Google.
As mentioned in our email and May 2018 blog post, you must migrate to the new namespace as Android Q will no longer support our use of the old namespace. If you continue to use the old namespace, your app will no longer work and customers may begin generating errors such as: “
Cannot define permission in android namespace: android.permission.sec.ENTERPRISE_DEVICE_ADMIN.”
How do I use the new namespace?
It’s pretty simple. If you are using one of the legacy SDKs: Knox Standard, Premium, Customization, ISV, or VPN, you must migrate to the new Knox SDK and update any old namespaces used in your app. We have a migration guide already made, but we’ll cover the key steps here.
- Download the Knox SDK.
If you are using Samsung Android phones with Knox v2.7 or earlier, you also need to download the supportlib.jar file to ensure the new namespace can be used with older phones.
- (Optional) Generate a Development License.
This is needed only if you don’t already have a license. If you already have an ELM (Enterprise License Management), KLM (Knox License Management), ISV (Independent Software Vendor), or KPE (Knox Platform for Enterprise) license, you can continue to use it with the new Samsung Knox SDK. If you don’t have a license, get a Development license to test your updated app, then a Commercial license when you are ready to deploy.
- Update your app.
Once you switch to the Knox SDK, you need to change all your old Knox namespaces to
com.samsung.android.knox, as shown below for imported packages:
import com.samsung.android.knox.license.EnterpriseLicense Manager;
- If you are using an IDE like Android Studio, you can easily change the namespace and make other necessary updates to your app. See our migration guide for the full details on how to update your app.