I have been having this problem too, making an Android app.
I have found that you cannot send an ARP without routing the phone (as far as i know). Sending an ARP requires the use of raw sockets which you can only achieve as root.
Let me know if you have found a way ;).