Managing an Android Fleet

There are a handful of android devices used by my family and, being a geek+dad, management of those devices has been ignored left to be my responsibility.

While a MDM (Mobile Device Management) would be the immediate solution that comes to mind, the privacy-conscious part of me didn’t want to introduce another cloud into my household (e.g. Comodo Device Manager). Furthermore, the old-man part of me wasn’t that keen on deploying and managing another FOSS stack/environment (e.g. Flyve).

Unfortunately, and strangely enough, my perceived geeky solution at this point was to write one or two android applications that would later be deployed to the devices 🤷

For the most part, my core requirements were simply:

  • Monitor battery levels (to determine which devices need to be charged)
  • Remote ring (to locate devices that the kids have hidden away for safe keeping)

Anything else, such as file transfer functionality, would be an added bonus.

However, just as I started coding-up a storm of untidy Android spaghetti code, I remembered the KDEConnect project. It had been quite some time since I last tested it out and so I figured that I should at least see how far they’ve progressed. Awesomely enough, the KDEConnect setup was the hidden gem to solve my current Android woes. It even worked well on this dodgy Android v4.4.2 device that I wanted to use for some IoT fun!

So, in essense, the “happily ever after” to my initial dilemma was:

  1. Install the KDEConnect desktop application on a KDE VM
  2. Install the KDEConnect APKS on all Android devices that I wished to manage
  3. Use the KDEConnect applications to pair all Android devices to the KDE VM
  4. Disable all unneeded/unwanted KDEConnect plugins on both the desktop application and all managed Android devices

With this setup, a power alert notification will pop-up on my KDE desktop whenever one of the Android devices are running low on juice, and I can send a ‘Ring’ command whenever I’m trying to locate AWOL devices. Happy days!