Hey man, I've been struggling with this for a while until I found micobridge
Theres no way to make an arduino act as a USB host so you need a USB host shield, about $20 or something . . . . all explained on the microbridge site !
Remember that the IOIO has been released which is like the officisl way of interfacing android with external hardware, look it up ! costs more than microbridge but supposedly easier