Generate QR code
Getting started
To create a new enrollment QR code, go to the Android Enterprise QR Code Generator web page and select Create. The following sections explain how to configure, generate, and save enrollment QR codes.



Select an EMM
To begin adding properties to the enrollment QR code, select an EMM from the list. The default is Other, which allows the administrator to manually create a QR code.
To create a QR code for one of Datalogic's EMM partners, select the desired EMM from the drop down list. Selecting an EMM will pre-populate the Component name of admin receiver and Download and enrollment sections.
The fields in the Component name of admin receiver and Download and enrollment sections are editable. However, it is not recommended to edit these values unless:
- Your EMM provides alternate values
- You are required to generate them yourself
Component name of admin receiver
DEVICE_ADMIN_COMPONENT_NAME
The admin receiver of the MDM application that will be set as the device owner.
Example: com.emm.android/DeviceAdminReceiver
This should be provided for you by the app developer, but if necessary, it is possible to discover this field if you have the APK file.
Manually extract admin receiver from APK
This example method requires the use of a third party tool: apktool. By following this example, the end user is agreeing to assuming all risk that may be associated with the installation and usage of the aforementioned tool. Datalogic will not be held liable for any issues that may arise from its use.
-
Run the tool on your APK.
apktool.bat decode <file.apk> -
Find the package name.
grep "package=" file/AndroidManifest.xml -
Find the receiver with the
BIND_DEVICE_ADMINpermission:grep BIND_DEVICE_ADMIN file/AndroidManifest.xml -
The value output should be placed in the
DEVICE_ADMIN_COMPONENT_NAMEfield.
Download and enrollment
The fields in this section are required if the EMM Agent (DPC) is not already installed.
DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION
A url that specifies the download location of the device admin package. This should be made available by the app developer, but it is possible to upload the file to your own http or https location if desired.
Example: https://github.com/mdm/agent.apk
On Datalogic devices with supported firmware, the device admin package can be downloaded from a FTP server.
Format: ftp://user:password@host:port/path
Example: ftp://username:1234@192.168.1.2:21/mdm/agent.apk
If you are going to host the file on a server on your local area network, it is necessary to configure the EMM Agent download settings.
DEVICE_ADMIN_SIGNATURE_CHECKSUM
This field stores a checksum value that is used by the device to verify that the admin application being installed has not been tampered with. This should be provided for you by the app developer, but if necessary, it is possible to generate the value if you have the APK file.
This example method requires the use of a third party tools: apksigner, xxd, tr, and openssl. By following this example, the end user is agreeing to assuming all risk that may be associated with the installation and usage of the aforementioned tools. Datalogic will not be held liable for any issues that may arise from their use.
The checksum output can be generated as follows:
- Bash
- PowerShell One-Liner
- PowerShell Script
apksigner verify -print-certs MY_APP.apk | grep -Po "(?<=SHA-256 digest:) .*" | xxd -r -p | openssl base64 | tr -- '+/' '-_'
$hex = (apksigner verify -print-certs MY_APP.apk | Select-String -Pattern 'SHA-256 digest:\s*(\w+)' | ForEach-Object { $_.Matches[0].Groups[1].Value }); [Convert]::ToBase64String(([byte[]]($hex -split '(.{2})' | Where-Object { $_ } | ForEach-Object { [Convert]::ToByte($_,16) }))) -replace '\+','-' -replace '/','_' -replace '=',''
# PowerShell script to extract the SHA-256 digest from an APK file,
# convert it from hex to binary, encode it in Base64, and make it URL-safe.
# Step 1: Run apksigner to print certificate info
# Replace the path with your actual APK file path
$apkFile = "MY_APP.apk"
$apksignerOutput = apksigner verify -print-certs $apkFile
# Step 2: Extract the SHA-256 digest (hex string) using regex
$hex = ($apksignerOutput | Select-String -Pattern 'SHA-256 digest:\s*(\w+)' | ForEach-Object {
$_.Matches[0].Groups[1].Value
})
# Step 3: Convert the hex string to a byte array
$bytes = $hex -split '(.{2})' | Where-Object { $_ } | ForEach-Object {
[Convert]::ToByte($_, 16)
}
# Step 4: Encode the byte array to Base64
$base64 = [Convert]::ToBase64String([byte[]]$bytes)
# Step 5: Make the Base64 string URL-safe by replacing characters and removing padding
$urlSafeBase64 = $base64 -replace '\+', '-' -replace '/', '_' -replace '=', ''
# Step 6: Output the result
$urlSafeBase64
ADMIN_EXTRAS_BUNDLE
The ADMIN_EXTRAS_BUNDLE field is optional. Selecting an EMM will auto populate the keys that are accepted by the EMM Agent. You will need to provide the values for the auto populated keys. Any key that does not have a value will be trimmed when the QR code is created. The auto populated keys may also be deleted, if desired. Additional key-value pairs may be added to the admin extras bundle. You should check with your EMM before adding keys to the admin extras bundle to prevent errors during provisioning. This field must contain valid JSON.
Configure Wi-Fi network
Configuring Wi-Fi is optional, but recommended to speed the provisioning process. All devices support WPA, WPA2, WEP, and Open networks.
Support for configuring an EAP Wi-Fi network in a standard Android Enterprise enrollment QR code will be available in Android Q. However, Datalogic has added the ability to configure an EAP network in the enrollment QR code on Datalogic devices running Android 8 and above with supported firmware.
Datalogic supports PEAP, PWD, SIM, AKA, and AKA PRIME networks.