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)

Friday, January 3, 2014

I have a mac running latest OSX 10.9 Mavericks. I want to be able to develop and test a Python Google App Engine app on this machine. This is the list of steps I took to make it happen. I am starting from a fairly clean machine as my older mac have multiple installations of Python, and I seem to get stuck attempting to setup my dev environment on it.

I placed this list here, as some of the documentation around the web is scattered and sometimes confusing or outdated. This was done on OSX Mavericks.Some of the steps below are specific to my own app (pycrypto, PIL and lxml may or may not be needed by your app).

Ok, now that I have the app engine development environment setup on a new mac, and some test scripts running fine, I am going to clean up my old mac (which is actually my work machine - a Mid 2012 Mac Book Air 13” with OSX 10.9.1).

It seems a bit radical, but after looking into what I got from running the list of files, it seemed to be fine. So I just did that and deleted all the directories and files listed under /Library/Frameworks/Python.framework various old versions, the Applications folder and the Receipts folder.

Finally, I made a symbolic link to the Apple python from /Library/Frameworks by:

cd /Library/Frameworks

then (just to be on the safe side):

sudo mv Python.framework Python.framework.orig

and then

ln -s /System/Library/Frameworks/Python.framework/ Python.framework

Next, I changed the python in the GAE Launcher preferences to /usr/bin/python2.7 and Voila!