Official SDKs, Device APIs & Drivers

Enterprise RFID Mobile SDKs & Multi-Vendor HAL

Download official hardware vendor SDK libraries, native Android archives (AAR), Flutter plugins, and runnable demo packages for Chainway, Zebra, Honeywell, and ATID terminals. Hosted directly with zero vendor gating.

RFID handheld SDK for developers
Direct In-Project Downloads

Individual Hardware SDKs & Driver Libraries

Download only the exact binary library or source adapter your project requires, one file at a time. Hosted directly on our secure storefront infrastructure with zero third-party gating.

Compiled Vendor Libraries (.JAR / .AAR)

Link directly into Android Studio / Gradle
Library File Vendor Type Size Compatible Hardware Action
cw-deviceapi20191022.jar Hardware UART Serial Driver for Chainway UHF Handhelds (C72, C66, C70, C71, UR4) Chainway JAR 499 KB Chainway C72, C66, C70, UR4
rfidapi3lib-2.0.5.275.aar Core Zebra RFID API3 Android Archive with native JNI binaries and reader event listeners Zebra Technologies AAR 1.7 MB Zebra MC3300R, MC3390R, RFD8500, RFD40, RFD90
rfidapi3ziotcllrplib-2.0.5.275.aar Zebra ZIOTC LLRP Sled Client Library for RFD8500 and RFD40 Bluetooth connectivity Zebra Technologies AAR 3.3 MB Zebra RFD Sleds (RFD8500, RFD40, RFD90)
honeywell-mobility-sdk-flutter.zip Honeywell Mobility SDK for Flutter & native Android barcode scanning, trigger event handling, and device metadata Honeywell SPS Flutter / Android 41 KB Honeywell CK65, ScanPal EDA50/EDA52/EDA71, CT40, CT45, CT60, Thor VM1A
uhf.jar Seuic AutoID9U / AutoID UF3 hardware UHF system service driver Seuic AutoID JAR 7.8 KB Seuic AutoID9U, AutoID UF3, Cruise 1-HC
scankey.jar Hardware pistol grip scan trigger key listener & barcode/RFID interceptor Seuic AutoID JAR 1.9 KB Seuic Pistol Grip Terminals
seuic-autoid-uhf-bundle.zip Complete Seuic bundle: uhf.jar, scankey.jar, Kotlin sample activity and integration manual Seuic AutoID Full Bundle 9.8 KB Seuic AutoID9U, UF3, Cruise 1-HC
atid.dev.rfid.jar ATID AT911N and AT870N UHF EPC Reader device communications library ATID Korea JAR 265 KB ATID AT911N, AT870N, AB700
atid.dev.barcode.jar ATID 1D/2D Barcode scanner engine driver companion for AT911N and AT870N ATID Korea JAR 398 KB ATID AT911N, AT870N
atid-at911n-complete-sdk-bundle.zip Complete AT911N Developer Bundle: All JARs, armeabi JNI .so binaries, sample apps & English PDF guides ATID Korea Full Bundle 28.3 MB ATID AT911N, AT870N, AB700
zebra-rfid-sample-apps.zip Ready-to-import Android Studio projects (HHSampleApp & ZIOTCSampleApp) plus precompiled test APK Zebra Technologies Sample Apps 11.0 MB Zebra MC3300R, MC3390R, RFD8500, RFD40, RFD90

Source Drivers & Middleware Connectors (.KT / .PY / .CS)

Production-tested implementation sources
Source File Module Language Size Target Environment Action
UhfReaderManager.kt Complete reflection-based Multi-Vendor HAL driver supporting Chainway, Zebra, Seuic, and Simulated hardware OpenRFID Core Kotlin 48 KB Cross-vendor Android handhelds & sleds Download
TagLockManager.kt Production EPC Gen2 memory bank lock manager with 32-bit hex access passwords and lock state verification OpenRFID Core Kotlin 5.2 KB All Gen2 UHF tags (NXP Ucode, Monza, Alien Higgs) Download
ChainwayInventoryActivity.kt Standalone Kotlin activity demonstrating hardware init, pistol trigger key events, power tuning, and tag deduplication Chainway Demo Kotlin 4.2 KB Chainway C72 / C66 Android Handhelds Download
ZebraRfidService.kt Background Android service managing Zebra RFID API3 reader lifecycle, asynchronous event callbacks, and session handling Zebra Demo Kotlin 4.1 KB Zebra MC3300R / RFD8500 / RFD40 Download
llrp_inventory_gateway.py Python daemon connecting to fixed RFID readers on TCP LLRP port 5084 with tag deduplication ring-buffer and webhook dispatch LLRP Gateway Python 3 3.6 KB Impinj Speedway, Zebra FX9600, Alien ALR-F800 Download
LlrpReaderService.cs High-performance C# .NET 8 socket client for industrial dock door readers with asynchronous channel pipeline .NET 8 Gateway C# .NET 8 2.9 KB Industrial Fixed Readers (Impinj, Zebra, Kathrein) Download
Battle-Tested HAL Pattern

One Codebase for Chainway, Zebra, Honeywell & Seuic

Writing vendor-specific code across multiple handheld devices leads to architectural fragmentation. Our production system (UhfReaderManager.kt) solves this using Java/Kotlin runtime reflection.

  • No Crash on Missing Drivers: By using reflection to bind to RFIDWithUHFUART or RFIDReader, the app runs gracefully on emulators and disparate devices without classloader crashes.
  • Built-In Software Simulator: Includes SIMULATED_HAL generating synthetic tag bursts with RSSI jitter for complete UI testing on Android Studio emulators before hardware arrives.
  • Modern Coroutines StateFlow: Exposes a clean tagFlow: StateFlow<TagRead> that integrates directly into Jetpack Compose or MVVM ViewModels.
MultiVendorRfidViewModel.kt Production Code
// Dynamically binds to Chainway, Zebra, Seuic or Simulator
val readerManager = UhfReaderManager.getInstance(context)

// Set power uniformly regardless of hardware
readerManager.setPower(30)

// Start continuous inventory sweep
readerManager.startInventory()

// Consume clean, debounced tags in Compose UI
viewModelScope.launch {
    readerManager.tagFlow.collect { tagRead ->
        Log.d("SCAN", "EPC: ${tagRead.epc} | RSSI: ${tagRead.rssi} dBm")
        reconcileStockItem(tagRead.epc)
    }
}
              

Git Hygiene & Clean Repository Maintenance

Why we exclude compiled binaries (.apk, .aar, build/) from Git version control.

Committing built Android binaries (.apk, .dex) or large vendor AAR archives directly into Git repositories permanently bloats .git/objects, slows down clone times, and risks hitting GitHub’s 100 MB per-file push rejection limit.

We recommend hosting compiled SDK archives either directly in your web server’s static assets (public/downloads/) or in an object storage bucket (GCS / S3 / Firebase Storage), tracking only wrapper code and the following .gitignore in your Git repository:

# Android & Build Artifacts
*.apk
*.aab
*.dex
build/
.gradle/
local.properties

Frequently Asked Questions: RFID Mobile SDKs

Technical guidance for Android Kotlin/Java developers, device driver architects, and mobile integrators.

How do I integrate the Chainway C72 UHF RFID reader into an Android app?
Add the official cw-deviceapi20191022.jar to your Android project libs/ directory. Initialize the hardware UART serial port using RFIDWithUHFUART.getInstance(). When the user presses the pistol grip trigger (KeyCode 139), initiate async inventory scanning to stream scanned EPC tags without blocking the Android UI thread.
Where can I download the official Zebra RFID API3 Android AAR library & sample apps?
We provide the official Zebra rfidapi3lib-2.0.5.275.aar and rfidapi3ziotcllrplib-2.0.5.275.aar archives, along with the full HHSampleApp and ZIOTCSampleApp Android Studio projects (and test APK) in our download catalog, compatible with MC3300R, MC3390R, RFD8500, RFD40, and RFD90.
How do I integrate Honeywell CK65 and ScanPal EDA50 barcode scanners in Flutter or Android?
Use the Honeywell Mobility SDK Flutter plugin from our catalog. Import the plugin, add implementation "com.github.AcmeSoftwareLLC:hwmsdk-android:main-SNAPSHOT" to android/app/build.gradle, and invoke HoneywellMobilitySdk.createBarcodeReader() with onRead and onTrigger event callbacks.
Why does ATID AT911N throw an UnsatisfiedLinkError on Android devices?
The atid.dev.rfid.jar relies on native C++ serial communication drivers. You must include the armeabi/ directory containing libbarcodereader.so, libIAL.so, libjserialport.so, and libsystem_control.so into your Android Studio project under app/src/main/jniLibs/armeabi/. Our atid-at911n-complete-sdk-bundle.zip includes all required JNI binaries and English PDF programming guides.
How does the OpenRFID multi-vendor HAL unify Chainway, Zebra, and Seuic scanners?
Our Kotlin Hardware Abstraction Layer (HAL) exposes a single clean interface: RfidScanner.startInventory() returning a Kotlin Coroutines Flow<TagRead>. The underlying driver automatically switches between Chainway UART, Zebra API3 Reader SDK, or Seuic AIDL without changing application business logic.
How do I capture the physical pistol trigger key on rugged Android RFID terminals?
Listen for KeyCode 139 (Chainway and Seuic pistol grip) or register a Zebra RFID API3 HANDHELD_TRIGGER_EVENT listener. Intercept the key event in onKeyDown(), start rapid tag inventory, and stop inventory on onKeyUp().
Can these Android RFID SDKs connect to cloud ERPs and Tally Prime?
Yes. Our OpenRFID mobile client bundles local offline SQLite queues and dispatches scanned tag batches over Wi-Fi directly to TallyPrime (Port 9000 XML), SAP S/4HANA (OData/BAPI), or Zoho Inventory REST APIs.

Need Custom Mobile RFID Firmware or App Development?

Our engineering team builds bespoke Android applications, Bluetooth thermal printing drivers, and edge daemons tailored to your exact warehouse floor workflows.