Android Solutions — On-Device OCR and Field Debugging

7 mins.8.1k

Two jobs on an Android handheld get in the way of everything else: getting printed data into your business app, and getting a device debugged on a customer site.

HappyLab solves both, on the device and in the browser.

  • Android OCR turns a PDA into an OCR terminal — press the scan key, and the printed text lands in the active field.
  • AI-ADB runs a full ADB console in a browser tab — no drivers, no Python, no software on the customer’s machine.

Neither needs a backend, and neither sends your data anywhere.

Android OCR: read printed text on the device

A barcode scanner beeps all day and reads nothing but barcodes. Ask it for the printed serial number on a label, a batch code, an expiry date or a document reference, and it has nothing to say — those are printed characters, not encoded data. Until now, that meant typing the value by hand or running a separate OCR workflow.

Android OCR runs on the PDA as a background service. It reads printed text through the camera or the built-in scan engine and types the result straight into whatever field has focus. Press the scan key and the value appears — the same gesture your team already uses for barcodes.

Everything is computed on the device. No network, no server, no image ever leaving the PDA.

1
2
3
4
5
6
7
Business app (cursor in a field)
│ press the scan key / send a broadcast / tap the floating ball
▼
Resident OCR service
│ capture → crop → on-device OCR → rule extraction
▼
The result is typed into the business app's field — as natural as a barcode scan

Two capture paths

Mode Source Best for
📷 Camera Preview and capture through the device camera Free framing and wide fields of view
🔦 Scan engine The PDA’s built-in scan engine Devices with no camera, a camera in use, or where scan-head LED illumination helps

Three ways to trigger it

Trigger How it works Typical use
⌨️ Physical scan key The service listens for the PDA’s side or gun key The most natural gesture for operators
📡 Broadcast A business app sends an ocr.scan broadcast System-driven capture; no SDK to bundle
🪟 Floating ball A draggable on-screen button; tap to capture Devices without a scan key, and tablets

The broadcast channel is what makes integration cheap. One line in your app is enough:

1
2
Intent intent = new Intent("ocr.scan");
sendBroadcast(intent); // the PDA opens the capture window in the current mode

Getting the result into your system

Output channel Description
⌨️ Accessibility focus injection Types the text into the focused field; handles CJK input reliably
📡 Broadcast output Sends the result to your app through a configurable action and key
🧹 Whitespace trimming Optional: strip half-width and full-width spaces
⏎ Append Enter Optional: send Enter after a successful read

Recognition engine

Tier Model size Best for
🪶 Tiny (default) 6 MB Production lines; smooth on mid-range PDAs
📱 Small 30.5 MB Higher accuracy on complex backgrounds

Detect plus recognise, with in-house pre- and post-processing. A single region takes roughly 37 ms, only the framed area is processed, and you can switch tiers at runtime without reinstalling.

A 15-filter pre-processing chain and a regex rule library then turn the recognised text into the exact field you wanted:

1
2
3
4
Rule:     Serial number
Regex: [A-Z0-9]{12,18}
Text: "SN 4SC4-316-abc-123 batch B2026"
Result: "4SC4-316-abc-123"

Supported devices

Tested Android PDA families include EDA5S · EDA10A · EDA51 · EDA52 · EDA56 · EDA61K · CT32 · CT40 · CT45 · CT47 · CK62 · CK65 · CK67 · RT10A.

Using a model that is not listed? We support additional devices through custom development — send us the model.

Built for the next hardware generation

Android OCR runs a standard ONNX model on a standard Android inference stack — a deliberate choice:

  • ✅ Runs on today’s hardware — no special silicon required; mainstream PDAs are enough.
  • 🔮 Gets faster on tomorrow’s — the next generation of PDAs ships dedicated NPUs, and because the engine uses standard execution providers, those devices accelerate it with no code changes.
  • 📈 The model can grow — upgrade or swap the model without touching the hardware you already own.

Recognition capability should not be frozen at the moment of purchase.

AI-ADB: a full ADB console in the browser

Debugging an Android device should not require a toolchain. Installing ADB, matching drivers, fixing environment variables, hunting for a data cable, keeping a second phone ready to film the screen — the setup often takes longer than the fix. On a customer site, with a locked-down laptop and no admin rights, it can take all afternoon.

AI-ADB is a complete Android device console that runs entirely in a web browser. Plug in a USB cable, open a tab, and start working. No ADB install, no Python, no drivers, no software to deploy on the customer’s machine.

All communication happens over the USB cable itself. Nothing is sent to a server, so there is zero latency and zero data exposure.

AI-ADB device dashboard in the browser

Capability What you get
Device dashboard Model, Android version, SDK, resolution, serial number, battery, storage, memory
File management Browse, drag and drop files in, pull files out, preview, rename, delete
App management List, search, install, uninstall, start, stop; export APKs; bulk permissions
Logcat A live, colour-coded log stream with package filtering and one-click export
Terminal A real ADB shell in the browser, with command history
Screen mirroring Low-latency mirror to your screen, driven by mouse and keyboard
Power and system Reboot, recovery, bootloader, screenshots, rotation, volume, 16 one-tap presets

Mirroring uses the scrcpy protocol — H.264 hardware encoding on the device, decoded in the browser through WebCodecs and rendered to a canvas. The result is low-latency mirroring with click, swipe and drag mapped precisely to the device, plus a full navigation bar, screen wake and sleep, rotation, live screenshots and screen recording to a downloadable video. No plugins, no separate mirroring app.

Where it fits

Scenario How it helps
🎤 Pre-sales demos Mirror the device to a projector and hand the customer the mouse. No install, no dongles
🛠️ On-site debugging The customer’s PC has no ADB, no Python, no drivers — open a browser instead
🌐 Remote support The operator plugs in a cable and opens a URL; support reads the log live
🏭 Production-line testing One browser window to capture screenshots, export logs and batch-install apps
🎥 Training and documentation Mirror the walkthrough, record it in the same tab, download the video

Pricing

Product Free Online Offline
AI-ADB ✅ $69 one-time $99 one-time
Android OCR 30-day trial — $199 one-time

All licenses are one-time — no subscriptions, nothing to renew. Custom development starts at $300 for a specific output format, a non-listed device or an extra language.

Requirements and limits

  • Android OCR: Android 9+ (minSdk 29). Scan-engine mode needs a compatible scan engine; camera mode needs a camera. The license is bound to the device serial number. Key injection is system-restricted on Android, so accessibility-based injection is used today — native keyboard injection is in progress.
  • AI-ADB: a Chromium-based browser only (Chrome or Edge); Firefox and Safari do not expose WebUSB. USB debugging must be enabled, and some vendor ROMs restrict ADB by default. USB only — this is not a wireless ADB tool.
  • Interface language: Chinese for both today; the English build is in progress.
  • Fully offline: no backend, no database, no data leaving the device.

Try it first

Open AI-ADB in your browser with a device on the end of a USB cable and see it for yourself. For OCR on the desktop, try the online OCR tool.

Related reading: Android-OCR: On-Device OCR for Android PDAs and AI-ADB: Control Any Android Device From Your Browser.


💬 Questions or a custom requirement?

Tell us your device model and what you need it to do, and we will tell you whether it works out of the box or needs a custom build.

📧 sales@happylab.me · 🌐 global.happylab.me

avatar

HappyLab

HAPPY LAB · Tools · Solutions · Lookup

  • 17

    Articles

  • 6

    Categories

  • 89

    Tags

  • Home
  • Tools
  • Pricing
  • Order
  • About
  • Contact
  • 官方(中文)