How about using a Playstation 3 controller on your Android, with full functionality of buttons, including analog ones? Because this is possible with Sixaxis Controller, an Android application (root required) that configures and maps commands on your Android.
Before you rush out to buy a video game controller, you need to check the program's compatibility with your smartphone or tablet, as Sixaxis is not always compatible. To verify, download the Sixaxis Compatibility Checker [FREE], it's free and lets you know if your smartphone will be compatible with the app and the controls.
I also found a video tutorial on Youtube, credits in the video.
http://www.youtube.com/watch?v=B5QvgFqOW0sSee another tutorial, now teaching you how to configure the controller in games that don't have any settings for physical joystick controls.
http://www.youtube.com/watch?v=Fgo9gRVu7q4
O Sixaxis Controller is a paid application (R$ 3,43) If you really want to do this trick and like to play on your cell phone, it doesn't cost anything, in fact it costs R$ 3,43, but it is worth remembering that by paying for the application, you are encouraging the design for more devices to be compatible.
The credits of the tutorial authors are in the respective videos.