Android Enterprise (Android enterprise) is a secure workspace available on Android devices running Android 5.0 and later. The workspace isolates business accounts, apps, and data from personal accounts, apps, and data. In Endpoint Management, you manage your bring your own device (BYOD) and company-owned Android devices by having users create a separate work profile on their devices. By combining hardware encryption and the policies that you deploy, you securely separate the corporate and personal areas on a device. You can remotely manage or wipe all corporate policies, apps, and data without affecting the personal area of the user. For more information about supported Android devices, see the Google Android Enterprise website.
You use Google Play to add, buy, and approve apps for deployment to the Android Enterprise workspace on a device. You can use Google Play to deploy your private Android apps, in addition to public and third-party apps. When you add a paid public app store app to Endpoint Management for Android Enterprise, you can review the Bulk Purchase licensing status. That status is the total number of licenses available, the number now in use, and the email address of each user consuming the licenses. For details about adding an app to Endpoint Management, see Add a public app store app.
Android Enterprise was previously called Android for Work. Some portions of our product still refer to Android for Work.
Set up Android Enterprise
Endpoint Management provides a simple way to set up Android Enterprise for your organization. Using Management Tools, you bind Endpoint Management as your enterprise mobility management provider through Google Play and create an enterprise for Android Enterprise.
G Suite customers, see Legacy Android Enterprise for G Suite customers, which includes a table of related policy information.
- Your Citrix account credentials to sign in to Management Tools for Endpoint Management
- Your corporate Google ID credentials to sign in to Google Play
In the Endpoint Management console, click the gear icon in the upper-right corner. The Settings page appears.
On the Settings page, click Android Enterprise.
- On the Android Enterprise page in Endpoint Management Settings, click Go to Endpoint Management Tools.
Sign in to your Citrix account if prompted.
In the Android Enterprise page in Endpoint Management Tools Management, click Go to Google Play.
In Google Play, register Citrix as your organization enterprise mobility management:
- Enter your organization name.
- Ensure that Citrix is shown as your enterprise mobility management.
- Accept the terms and then click Confirm.
- In the page that appears, click Complete Registration.
That step creates a file for you to download and then upload to Endpoint Management.
In the Android Enterprise page in Management Tools, create a password for file encryption. Make a note about the password for reference when you upload the file and need to enter the password. Click Download.
In Android Enterprise page in Endpoint Management Settings, click Upload file.
Browse to the file you downloaded and then enter the password you created. Click Upload.
An enterprise ID is added for Android Enterprise. To enable Android of Work, slide Enable Android Enterprise to Yes.
Publish Citrix mobile productivity apps for Android Enterprise
To publish Citrix mobile productivity apps for Android Enterprise, follow these steps.
- In your managed Google Play Store account, publish the apps you want your users to have. You can manage your Google Play account at https://play.google.com/work.
- In your Endpoint Management console, publish the same apps as the following:
Unenroll an Android Enterprise enterprise
You can unenroll an Android Enterprise enterprise using the Endpoint Management server console and Endpoint Management Tools.
When you perform this task, the Endpoint Management server opens a popup window for Endpoint Management Tools. Before you begin, ensure that the Endpoint Management server has permission to open popup windows in the browser you are using. Some browsers, such as Google Chrome, require you to disable popup blocking and add the address of the Endpoint Management site to the popup block whitelist.
After an enterprise is unenrolled, Android Enterprise apps on devices already enrolled through it are reset to their default states. Google no longer manages the devices. Re-enrolling them in an Android Enterprise enterprise may not restore previous functionality unless you perform further configuration.
After the Android Enterprise enterprise is unenrolled:
- Devices and users enrolled through the enterprise have the Android Enterprise apps reset to their default state. Android Enterprise App Permissions and Android Enterprise App Restrictions policies previously applied no longer affect operations.
- Endpoint Management manages devices enrolled through the enterprise. From the perspective of Google, those devices are unmanaged. You can’t add new Android Enterprise apps. You can’t apply Android Enterprise App Permissions or Android Enterprise App Restrictions policies. You can apply other policies, such as Scheduling, Password, and Restrictions, to these devices.
- If you attempt to enroll devices in Android Enterprise, they are enrolled as Android devices, not Android Enterprise devices.
To unenroll an Android Enterprise enterprise:
In the Endpoint Management console, click the gear icon in the upper-right corner. The Settings page appears.
On the Settings page, click Android Enterprise.
Click Remove Enterprise.
Specify a password. You’ll need the password for the next step to complete the unenrollment. Then click Unenroll.
When the Endpoint Management Tools page opens, enter the password you created in the previous step.
Enroll Android Enterprise devices
If your device enrollment process requires users to enter a username or user ID: The format accepted depends on whether Endpoint Management is configured to search for users by User Principal Name (UPN) or SAM account name.
If the Endpoint Management is configured to search for users by UPN, users must enter a UPN in the format:
If the Endpoint Management is configured to search for users by SAM, users must enter a SAM in one of these formats:
To determine which type of user name that Endpoint Management uses:
- In the Endpoint Management console, click the gear icon in the upper-right corner. The Settings page appears.
- Click LDAP to view the configuration of the LDAP connection.
Near the bottom of the page, view the User search by field:
- If it is set to userPrincipalName, Endpoint Management is set for UPN.
- If it is set to sAMAccountName, Endpoint Management is set for SAM.
Provision work-managed device mode in Android Enterprise
Work-managed device mode for Android Enterprise is available for corporate-owned devices only. Endpoint Management supports these methods of enrollment in work-managed device mode:
- afw#xenmobile: With this enrollment method, the user enters the characters “afw#xenmobile” when setting up the device. This token identifies the device as managed by Endpoint Management and downloads Secure Hub.
- QR code: QR code provisioning is an easy way to provision a distributed fleet of devices that do not support NFC, such as tablets. The QR code enrollment method can be used on fleet devices that have been reset to their factory settings. The QR code enrollment method sets up and configures work-managed device mode by scanning a QR code from the setup wizard.
- Near field communication (NFC) bump: The NFC bump enrollment method can be used on fleet devices that have been reset to their factory settings. An NFC bump transfers data through between two devices using near-field communication. Bluetooth, Wi-Fi, and other communication modes are disabled on a factory-reset device. NFC is the only communication protocol that the device can use in this state.
The enrollment method is used after powering on a new or factory reset devices for initial setup. Users enter “afw#xenmobile” when prompted to enter a Google account. This action downloads and installs Secure Hub. Users then follow the Secure Hub set-up prompts to complete the enrollment.
In this enrollment method is recommended for most customers because the latest version of Secure Hub is downloaded from the Google Play store. Unlike with other enrollment methods, you do not provide Secure Hub for download from the Endpoint Management server.
- Supported on all Android devices running Android 5.0 and above.
To enroll a device in device mode using a QR code, you generate a QR code by creating a JSON and converting the JSON to a QR code. Device cameras scan the QR code to enroll the device.
- Supported on all Android devices running Android 7.0 and above.
Create a QR code from a JSON
Create a JSON with the following fields.
These fields are required:
If Secure Hub is uploaded onto Citrix Endpoint Management server as an enterprise app, it can be downloaded from
https://<fqdn>:4443/*instanceName*/worxhome.apk. The path to the Secure Hub APK must be accessible over the Wi-Fi connection that the device connects to during provisioning.
These fields are optional:
android.app.extra.PROVISIONING_LOCALE: Enter language and country codes.
The language codes are two-letter lowercase ISO language codes (such as en) as defined by ISO 639-1. The country codes are two-letter uppercase ISO country codes (such as US) as defined by ISO 3166-1. For example, enter en_US for English as spoken in the United States.
android.app.extra.PROVISIONING_TIME_ZONE: The time zone in which the device is running.
Enter an Olson name of the form area/location. For example, America/Los_Angeles for Pacific time. If you don’t enter one, the time zone is automatically populated.
android.app.extra.PROVISIONING_LOCAL_TIME: Time in milliseconds since the Epoch.
The Unix epoch (or Unix time, POSIX time, or Unix timestamp) is the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT). The time doesn’t include leap seconds (in ISO 8601: 1970-01-01T00:00:00Z).
android.app.extra.PROVISIONING_SKIP_ENCRYPTION: Set to true to skip encryption during profile creation. Set to false to force encryption during profile creation.
A typical JSON looks like the following:
This QR code gets scanned by a factory-reset device to enroll the device in work-managed device mode.
To enroll the device
To enroll a device in work-managed device mode, the device must be in factory reset state.
- Tap the screen six times on the welcome screen to launch the QR code enrollment flow.
When prompted, connect to Wi-Fi. The download location for Secure Hub in the QR code (encoded in the JSON) is accessible over this Wi-Fi network.
Once the device successfully connects to Wi-Fi, it downloads a QR code reader from Google and launches the camera.
Point the camera to the QR code to scan the code.
Android downloads Secure Hub from the download location in the QR code, validate the signing certificate signature, install Secure Hub and sets it as device owner.
For more information, see this Google guide for Android EMM developers: https://developers.google.com/android/work/prov-devices#qr_code_method.
To enroll a device in device mode using NFC bumps requires two devices: One that is reset to its factory settings and one running the Endpoint Management Provisioning Tool.
- Supported on all Android devices running Android 5.0, Android 5.1, Android 6.0 and above.
- An Endpoint Management server version 10.4 that is enabled for Android Enterprise.
- A factory-reset device, provisioned for Android Enterprise in work-managed device mode. You can find steps to complete this prerequisite later in this article.
- Another device with NFC capability, running the configured Provisioning Tool. The Provisioning Tool is available in Secure Hub 10.4 or on the Citrix downloads page.
Each device can have only one Android Enterprise profile, managed by an enterprise mobility management (EMM) app. In Endpoint Management, Secure Hub is the EMM app. Only one profile is allowed on each device. Attempting to add a second EMM app removes the first EMM app.
You can start work-managed device mode on new devices or on devices restored to factory settings. You manage the entire device by using Endpoint Management.
Data transferred through the NFC bump
Provisioning a factory-reset device requires you to send the following data through an NFC bump to initialize Android Enterprise:
- Package name of the EMM provider app that acts as device owner (in this case, Secure Hub).
- Intranet/Internet location from which the device can download the EMM provider app.
- SHA1 hash of EMM provider app to verify if the download is successful.
- Wi-Fi connection details so that a factory-reset device can connect and download the EMM provider app. Note: Android now does not support 802.1x Wi-Fi for this step.
- Time zone for the device (optional).
- Geographic location for the device (optional).
When the two devices are bumped, the data from the Provisioning Tool is sent to the factory-reset device. That data is then used to download Secure Hub with administrator settings. If you don’t enter time zone and location values, Android automatically configures the values on the new device.
Configuring the Endpoint Management Provisioning Tool
Before doing an NFC bump, you must configure the Provisioning Tool. This configuration is then transferred to the factory-reset device during the NFC bump.
You can type data into the required fields or populate them via text file. The steps in the next procedure describe how to configure the text file and contain descriptions for each field. The app doesn’t save information after you type it, so you might want to create a text file to keep the information for future use.
To configure the Provisioning Tool by using a text file
Name the file nfcprovisioning.txt and place the file in the /sdcard/ folder on the SD card of the device. The app can then read the text file and populate the values.
The text file must contain the following data:
This line is the intranet/internet location of the EMM provider app. After the factory-reset device connects to Wi-Fi following the NFC bump, the device must have access to this location for downloading. The URL is a regular URL, with no special formatting required.
This line is the checksum of the EMM provider app. This checksum is used to verify that the download is successful. Steps to obtain the checksum are discussed later in this article.
This line is the connected Wi-Fi SSID of the device on which the Provisioning Tool is running.
android.app.extra.PROVISIONING_WIFI_SECURITY_TYPE=<wifi security type>
Supported values are WEP and WPA2. If the Wi-Fi is unprotected, this field must be empty.
If the Wi-Fi is unprotected, this field must be empty.
Enter language and country codes. The language codes are two-letter lowercase ISO language codes (such as en) as defined by ISO 639-1. The country codes are two-letter uppercase ISO country codes (such as US) as defined by ISO 3166-1. For example, type en_US for English as spoken in the United States. If you don’t type any codes, the country and language are automatically populated.
The time zone in which the device is running. Type an Olson name of the form area/location. For example, America/Los_Angeles for Pacific time. If you don’t enter a name, the time zone is automatically populated.
This data isn’t required, because the value is hardcoded into the app as Secure Hub. It’s mentioned here only for the sake of completion.
If there is a Wi-Fi protected by using WPA2, a completed nfcprovisioning.txt file might look like the following:
If there is an unprotected Wi-Fi, a completed nfcprovisioning.txt file might look like the following:
To get the Secure Hub checksum
To get the checksum of any app, add the app as an enterprise app.
In the Endpoint Management console, go to Configure > Apps and then click Add.
The Add Apps window appears.
The App information page displays.
Select the following configuration and then click Next.
The Android Enterprise Enterprise App page appears.
Provide the path to the .apk and then click Next to upload the file.
Once the upload is complete, the details of the uploaded package appear.
Click Next. Click Download JSON to download the JSON file which you then use to upload to Google Play. For Secure Hub, uploading to Google Play is not required, but you need the JSON file to read the SHA1 value from it.
A typical JSON file looks like the following:
Copy the file_sha1_base64 value and use it in the Hash field in the Provisioning Tool.
Note: The hash must be URL safe.
- Convert any + symbols to -
- Convert any / symbols to _
- Replace the trailing \u003d with =
If you store the hash in the nfcprovisioning.txt file on the SD card of the device, the app does the safety conversion. However, if you opt to type the hash manually, it’s your responsibility to ensure its URL safety.
The Provisioning Tool uses the following libraries in its source code:
v7 appcompat library, Design support library, and v7 Palette library by Google under Apache license 2.0
For information, see Support Library Features Guide.
Butter Knife by Jake Wharton under Apache license 2.0
Provision work profile mode in Android Enterprise
Work profile mode for Android Enterprise is available for devices on which you securely separate the corporate and personal areas on a device. For example, work profile mode is available for BYOD devices. The enrollment experience for work profile mode is similar to Android enrollment in Endpoint Management. Users download Secure Hub from Google Play and enroll their devices.
By default, the USB Debugging and Unknown Sources settings are disabled on a device when it is enrolled in Android Enterprise in work profile mode.
When enrolling devices in Android Enterprise in work profile mode, always go to Google Play. From there, enable Secure Hub to appear in the user’s personal profile.
Support for COSU Android Enterprise devices
Endpoint Management supports the management of corporate owned single use (COSU) Android Enterprise devices. COSU devices fulfill a single use case, such as digital signage, ticket printing, or inventory management. Administrators restrict these devices to one app or small set of apps. Administrators also prevent users from enabling other apps or performing other actions on the device.
To provision COSU devices:
- Add a role-based access control (RBAC) role that allows Endpoint Management administrators to enroll COSU devices to your Endpoint Management deployment. Assign this role to users whom you want to enroll COSU devices.
- Add an enrollment profile for Endpoint Management administrators that you allow to enroll COSU devices to your Endpoint Management deployment.
- Whitelist the app or apps you want the COSU device to access.
- Optionally, set the whitelisted app to allow lock task mode. When an app is in lock task mode, the app is pinned to the device screen when the user opens it. No Home button appears and the Back button is disabled. The user exits the app using an action programmed into the app, such as signing out.
- Provision each device using xfw#mobile, NFC bump, or QR code method, when the device is first powered on after factory reset. See afw#xenmobile, NFC bump, or QR code.
- Support for enrolling Android COSU devices begins with Android 6.0.
- Device must be new or factory reset.
Add the COSU role
The RBAC role for enrolling COSU devices enables Endpoint Management to silently provision and activate a managed Google Play account on the device. Unlike managed Google Play user accounts, these device accounts identify a device that is not tied to a user.
You assign this RBAC role to Endpoint Management administrators to enable them to enroll COSU devices.
To add the RBAC role for enrolling COSU devices:
In the Endpoint Management console, click the gear icon in the upper-right corner of the console. The Settings page appears.
Click Role-Based Access Control. The Role-Based Access Control page appears, which displays the four default user roles, plus any roles you have previously added.
Click Add. The Add Role page appears.
Enter the following information.
- RBAC name: Enter COSU or other descriptive name for the role. You cannot change the name of a role.
- RBAC template: Choose the ADMIN template.
- Authorized access: Select Admin console access and COSU devices enroller.
- Console features: Select Devices.
- Apply permissions: Select the groups to which you want to apply the COSU role. If you click To specific user groups, a list of groups appears from which you can select one or more groups.
Click Next. The Assignment page appears.
Enter the following information to assign the role to user groups.
- Select domain: In the list, click a domain.
- Include user groups: Click Search to see a list of all available groups. Or, type a full or partial group name to limit the list to only groups with that name.
- In the list that appears, select the user groups to which you want to assign the role. When you select a user group, the group appears in the Selected user groups list.
You can assign a role to user groups only for Active Directory users, not local users created in Endpoint Management.
Add a COSU enrollment profile
When your Endpoint Management deployment includes COSU devices, a single Endpoint Management administrator or small group of administrators enroll many COSU devices. To ensure that these administrators can enroll all the devices required, create an enrollment profile for them with unlimited devices allowed per user. Assign this profile to a delivery group containing the administrators who enroll COSU devices. That way, even if the default Global profile has a limited number of devices allowed per user, administrators can enroll an unlimited number of devices. Those administrators must be in the COSU enrollment profile.
Go to Configure > Enrollment Profiles. The default Global profile appears.
To add an enrollment profile, click Add. In the Enrollment Info page, type a name for the enrollment profile. Ensure that number of devices that members with this profile can enroll is set to unlimited.
Click Next. The Delivery Group Assignment screen appears.
Choose the delivery group or delivery groups containing the administrators who enroll COSU devices. Then click Save.
The Enrollment Profile page appears with the profile you added.
Whitelist apps and set lock task mode
The Kiosk device policy let you whitelist apps and set lock task mode. By default, Secure Hub and Google Play services are whitelisted.
To add the Kiosk policy:
In the Endpoint Management console, click Configure > Device Policies. The Device Policies page appears.
Click Add. The Add a New Policy dialog box appears.
Expand More and then, under Security, click Kiosk. The Kiosk Policy page appears.
Under Platforms, select Android Enterprise.
In the Policy Information pane, type the Policy Name and an optional Description.
Click Next and then click Add.
To whitelist an app and allow or deny lock task mode for that app:
Select the app you want to whitelist from the list.
Choose Allow to set the app to be pinned to the device screen when the user starts the app. Choose Deny to set the app not to be pinned. Default is Allow.
To whitelist another app and allow or deny lock task mode for that app, click Add.
Configure deployment rules and choose delivery groups. For more information, see Device policies.