usb power and communication from anddroid to arduino,host(android)-slave(arduino

1)can i power and communicate with Arduino Uno(slave) from android device(phone) host via usb
with only usb cable (usb-otg)?

or do i need special otg support on android phone and(like moto g ) / or arduino(shield?).

2)which official software for communication arduino-android via usb can u recommend?

thankx.

jossie.