Connect Android device to Arduino Uno via USB
You would need some hardware added to the Uno which supports USB host mode, yes. This could be in the form of a USB host shield or some other USB host module (typically with its own on-board microcontroller)
Yes, definitely. Typically a board which incorporates USB host mode, would also be supported by its tried and tested libraries for implementing the host mode. 
Not the only option, but certainly the most updated and perhaps the most convenient. The classic ADB mechanism, predating the introduction of the Android Accessory Development Kit, is still supported. Depending on what the Arduino side of the system is expected to do, this might suffice at least until the ADB support is removed.