Zebra quickstart
Evaluate Vision Scan on Zebra Android through the Android RC2 kit and DataWedge adapter.
Introduction
Your goal: scan a GS1 barcode with a Zebra device's hardware imager and render the GTIN-scoped evidence Vision Scan produces. This path runs through the same signed Android RC2 kit and the same evaluation contract as the Android quickstart — the only difference is the scan input: hardware imager and DataWedge instead of a CameraX pipeline.

Zebra Android is evaluation-only in RC2
Zebra Android is an evaluation target, not a certified device platform. Portability or pilot evidence is not a device certification or production support commitment.
Blocked on: Hardware validation (MC930P bench deferred) and named device certification decisions
Requirements
| Requirement | Detail |
|---|---|
| Zebra Android device | A Zebra Android device running Android 8.0 or newer (API 26+). The compatibility matrix names TC52x, TC57x, TC77, and MC930P families as portability targets only — no individual Zebra model is certified in RC2. |
| DataWedge | DataWedge 8.2 or newer, with its profile assigned to your host application. |
| Signed evaluation kit | The signed Android evaluation kit — release coordinate com.visionscan.sdk:vision-scan-android-sdk:0.1.0-RC4. The Zebra path uses the same Android kit. |
| Activated device | An activated device with its backend-issued tenant/device JWS. Apply the license before enabling scan controls. |
| Test application | Ships in the signed kit with sample source, SBOM, release notes, and a synthetic label — install its AAR or test APK through the authenticated tenant download grant. |
Quickstart
Four steps to your first scan, in order. Each step points to its detail section below.
Confirm evaluation scope
Zebra Android is an evaluation target in RC2. No individual Zebra model is certified for general availability by this release.
Deploy the DataWedge profile
Install the DataWedge adapter outside the portable core and assign its profile to your host application. Apply the same backend-signed tenant/device JWS before enabling scan controls.
Scan with the device imager
Scan a GS1 barcode with the hardware imager and map DataWedge output to canonical observations. Render only GTIN-scoped evidence produced by the adapter and parser.
Connect to the versioned API
Use only routes pinned in the signed customer integration contract. Enrollment and entitlement steps are covered by the device enrollment and license refresh guides.

DataWedge Coming soon
What is verified today:
- DataWedge 8.2 or newer receives the scan output.
- The DataWedge profile is assigned to your host application.
- DataWedge delivers scans through broadcast intents —
com.symbol.datawedge.api.ACTION. - Hardware trigger buttons map to session batch start/stop.
DataWedge profile artifact: not yet verified
A distributable DataWedge profile (or verified manual setup steps) is not yet in the repository — zero profile files exist. Do not treat the checklist above as a complete profile: name only the verified handoff, and do not invent profile settings.
Blocked on: DataWedge profile artifact or verified manual setup steps — SDK engineering
Scan input
The hardware imager is the scan input — there is no CameraX frame pipeline on this path. The trigger maps to session batch start/stop, and DataWedge output is the only supported input source.
Scan output
The adapter maps DataWedge output to canonical observations and the parser qualifies GTIN-scoped evidence. Render only that evidence — nothing the device invented locally.
Worn or partial labels that will not decode cleanly are the Focused Rescue case — rescue is constrained and never overwrites valid decoded data.
Intent handling
Register the host app for the DataWedge broadcast action. The action string is the verified contract surface:
<receiver android:name=".DataWedgeReceiver" android:exported="false">
<intent-filter>
<action android:name="com.symbol.datawedge.api.ACTION" />
</intent-filter>
</receiver>Vision Scan integration
The DataWedge adapter sits outside the portable core — camera, hardware, and OS adapters belong to the host layer. The integration pins are identical to the Android path: the signed evaluation kit, the backend-signed tenant/device JWS, and only routes pinned in the signed customer integration contract.
Applying the license follows the Android license flow — see License & Entitlement in the Android quickstart.

Result handling
A successful scan means your host app received the DataWedge scan output and rendered GTIN-scoped evidence from the signed customer integration contract — the device does not invent observations locally.
- Confirm the rendered evidence is GTIN-scoped before trusting it downstream.
- For the event vocabulary those observations feed, see Canonical JSON events.
- For retry guidance when a scan does not arrive, see Troubleshooting below.
Troubleshooting
The Zebra surface is thin on purpose: hardware validation is still in flight, so symptoms accrue from real validation runs only. For everything outside the two verified checks below, use the main troubleshooting page.
No scans reach my host app
Problem: the device scans, but nothing arrives at the host receiver.
Check: confirm DataWedge is 8.2 or newer, the DataWedge profile is assigned to your host application, and the host is registered for the broadcast action com.symbol.datawedge.api.ACTION.
Solution: fix whichever verified item is wrong. Do not invent receiver extras to work around a missing profile — the profile artifact is not yet verified.
The hardware trigger does not start or stop a batch
Problem: pressing the trigger does not map to a session batch start/stop.
Check: confirm the trigger is still mapped to scanning in DataWedge and that the scan controls were enabled after the signed license was applied.
Solution: re-apply the license check first — scan controls stay disabled without a valid JWS. Deeper trigger behavior is covered by hardware validation.
For entitlement, initialization, and scan-result symptoms beyond Zebra input, use the main troubleshooting page and assemble a support bundle with explicit user consent.