When you migrate to the latest AirWatch SDK for Android, you must add the necessary libraries and add dependencies to Gradle. Also ensure that the base classes have the latest code.

Note:

The dependent libraries packaged with the SDK are upgraded in newer versions of the SDK. When migrating, upgrade the dependent libraries with the SDK.

Migrate from 17.x

The SDK for Android does not require entries to migrate from 17.x.

Migrate from 16.10

Add the following entry to the build.gradle file.

android {
                  defaultConfig {
                  …
                  ndk {
                  abiFilters "x86", "armeabi-v7a", "armeabi"
                  }
                  }
                  }
                  
                  
                  
               

Updates for the AWNetworkLibrary

The AirWatch SDK for Android 17.x removes the requirement to send an authentication token in an HTTP header. See Use the AWNetworkLibrary for updated requirements.

Migrate from 16.x

Select a migration process based on the use of a login module for initialization.

Login Module

To upgrade the master key manager, override the getPassword method in the application class. This override extends AWApplication to handle the upgrade.

@Override
                  public byte[] getPassword() {
                  if (SDKKeyManager.getSdkMasterKeyVersion(context) 
                  != SDKKeyManager.SDK_MASTER_KEY_CURRENT_VERSION) {
                  
                  SDKKeyManager.newInstance(context);
                  }
                  return super.getPassword();
                  }
                  
                  
                  
               

No Login Module

Initialize your SDKContextManager and call the updateSDKForUpgrade() API.

SDKContextHelper sdkContextHelper = new SDKContextHelper();
                  SharedPreferences securePreferences = SDKContextManager.getSDKContext().getSDKSecurePreferences();
                  int oldSDKVersion = securePreferences.getInt(SDKSecurePreferencesKeys.CURRENT_FRAMEWORK_VERSION,
                  0);
                  SDKContextHelper.AWContextCallBack callBack = new SDKContextHelper.AWContextCallBack()
                  {
                  @Override
                  public void onSuccess(int requestCode, Object result) {
                  //success continue
                  }
                  
                  @Override
                  public void onFailed(AirWatchSDKException e) {
                  //failed
                  }
                  };
                  try {
                  sdkContextHelper.updateSDKForUpgrade(
                  0,
                  oldSDKVersion,
                  callBack);
                  } catch (AirWatchSDKException e){
                  //handle exception
                  }   
                  
                  
                  
               

Migrate from a Version Older Than 16.x

  • Libraries
    • A total of 23 libraries including JAR and AAR files
    • SQLCipher library is an AAR file instead of a JAR file
  • Gradle Methods
    • For 16.02 – compile (name:'AWFramework 16.02',ext:'aar')

    • For 16.04 – compile (name:'AWFramework 16.04',ext:'aar')

    • For both – compile (name:'sqlcipher-3.5.2-2',ext:'aar')

  • Code

    If you are not using the login module for initialization, check the implementation of base classes.

For a list of the base classes that you migrate for the latest release of the AirWatch SDK for Android, see the following Workspace ONE UEM Knowledge Base article: https://support.workspaceone.com/articles/115001676868.