// the find
eclipse-paho/paho.mqtt.android
MQTT Android
The official Eclipse Paho MQTT client library for Android, wrapping the Java MQTT client in an Android Service so connections survive Activity lifecycle changes. It's the go-to choice if you need MQTT on Android and don't want to roll your own service binding layer. Targets Android developers doing IoT or any pub/sub messaging on mobile.
Uses a bound Android Service architecture, which is the correct approach — MQTT connections need to outlive your Activity and this handles that. AlarmPingSender uses Android's AlarmManager for keepalives, which is battery-aware and survives doze mode better than a raw timer. SQLite-backed message persistence (DatabaseMessageStore) means QoS 1/2 messages survive process death. Offline buffering is built in, so you don't have to queue messages yourself when connectivity drops.
Last meaningful commit was August 2024 and the README still references SDK 24 and Travis CI — this project is in maintenance mode at best, abandoned at worst. No MQTT 5 support at all; you're stuck on 3.1/3.1.1, which means no user properties, no reason codes, no topic aliases. The Gradle setup requires pulling from Eclipse's Nexus repo and explicitly adding the mqttv3 JAR as a separate dependency — messy for modern Android projects using version catalogs. The sample app still uses the deprecated NavigationDrawer pattern with Fragments wired up manually; anyone using this as a starting point will be copying 2015-era Android code.