Solution 1
If you don't want to change the coverage radius, sadly none of them would help you to achieve a coverage of 50m.
But if you are not using a camera feed and just want to control, I think RF transceiver would be best solution for you. But to implement this you mist connect an Arduino Mega ADK to your android device. Serially receive your directions to mega and then transmit the directions over RF transceiver.
Solution 2
If you are willing to change the coverage range to less than 15m, you can use Wi-Fi Module. This will also help you to get live camera feed from your RC car to your phone. Forget about Bluetooth module as they are slow, less range.
You can increase the coverage of Wi-Fi Module if you have a Wi-Fi AP with huge transmit power. As long as the module is able to receive the signal from AP, your car would do great.
P.S. :- Here is a cool tip. Record every turn instruction and the time after which it was given. When the signal from transmitter or AP is absent for more than a particular time, you can program the car to take a U-turn and reverse the directions. Your car will come home without any instruction.