Sunday, March 23, 2014

Genymotion (http://www.genymotion.com/) is a great tool for debugging your Android code.
It is much faster than the Android emulator as it is based on x-86 native code, and unless you really do some low level work, is indistinguishable from a real device. It actually is faster and smoother than most devices, so make sure you also test on real devices...
Anyway, it became an important tool for me while developing. Highly recommended!

Occasionally you need to debug HTTP calls (to web sites, or more often to server API end points), and for that an HTTP proxy as Charles (http://www.charlesproxy.com/) is another great tool. Its paid version already returned its cost 10 fold for me...

So, first you will need to setup charles on your Mac as the proxy for the emulated Android machine. The key is to know the local mac IP is 10.0.3.2 and the default port for the proxy is 8888 (if you have not played with Charles settings).
Detailed instructions for setting the proxy on the Android virtual machine in Genymotion are available here: http://rexstjohn.com/using-genymotion-charles-proxy/:
And repeated for your convenience

In your Genymotion Android emulator…

Settings -> Wifi -> Press and hold your active network

Select “Modify Network”

Select “Show Advanced Options”

Select “Proxy Settings -> Manual”

Set your Proxy to: 10.0.3.2 (Genymotion’s special code for the local workstation)