[jonsmirl] and others suggested AoA -- which mostly seems to be an Android-side API to interface with USB devices. Not a bad idea, but what do we use for hardware?
Well, there's the official dev kit which doesn't exist anymore. Google/Android now wants you to tether the phone to a Raspberry Pi. LOL, thanks. The whole point of a cellphone/hardware interface was replacing the Pi.
Arduino made an ADK board for a while. Looks to be discontinued.
It looks like you can still get the IOIO board from Sparkfun, so that's good news. It's $40. Bummer.
So DIY? It looks like AOA needs a USB host attached to it. So you'd better like coding up USB host firmware. (I don't.)
I haven't looked hard enough into AOA -- If I'm missing something here, please let me know!