Some earlier Android builds did not come preloaded with the EMDK runtime and as such this will need to be installed before making use of any of the EMDK features on the device.

 

The runtime can be installed with a simple PC side script that comes as part of the EMDK installation or it can be pushed down to multiple devices at once through an MDM like AirWatch.

 

Since the EMDK runtime installer is packaged as an application and the installer is removed after a successful install, this can create complications for some MDMs that enforce that apps remain installed.  The following steps allow you to add the installer as a managed application in Airwatch and ensure that the install runs only once:

 

1.Add EMDKOSUpdate as a managed application in Airwatch
2.Create a product to install the application only (don’t send the intent to start it)
3.Add a new Files/Actions item to only run the intent for installation: mode=explicit,action=android.intent.action.MAIN,package=com.symbol.emdkosupdater,class=com.symbol.emdkosupdater.MainActivity
4.Create a separate product to run the intent action and list the EMDKOSUpdate application product as a dependency.
5.Activate both products

 

It is key that the dependency be set so that the intent is not fired before the application is installed.  By following these steps the installer application will be installed, and then the intent will be fired to kick off the install.  The device will reboot into recovery, perform the update, remove the installer, and reboot.  After the reboot Airwatch will detect that the app is no longer there and re install it however since the Action only runs once, the install will not be restarted.