Welcome to Headwind MDM Q&A, where you can ask questions and receive answers from other members of the community.

Please do not post bug reports, missing feature requests, or demo inquiries. If you have such an inquiry, submit a contact form.

0 votes

We are preinstalling the system flavor of Headwind MDM signed by platform keys to a group of managed Android devices delivered to our big corporate customer.

Since the devices must get the Google Mobile Services (GMS) certification, the manufacturer requested a certification of GMS compliance for Headwind MDM as it is a system app.

What should we do to pass GMS compliance tests when Headwind MDM is preinstalled?


1 Answer

0 votes

To pass the GMS certification, the device must be not managed, that is, it should not have the device owner after the first start.

The system build of Headwind MDM claims itself as a device owner at first start and cannot be used in GMS-certified devices directly.

To make Headwind MDM safe for GMS certification, please perform the following changes in the source code of the launcher:

1. Remove the SystemUtils.java:becomeDeviceOwner() method and all references to it.

2. Remove the following protected permissions from the system flavor of AndroidManifest.xml: android.permission.MANAGE_DEVICE_ADMINS, android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS

Rebuild the source code and sign it by the platform keys provided by the manufacturer. 

Headwind MDM will still be able to update apps silently, but it will be GMS safe.

by (35.3k points)