Friday, October 21, 2011

Getting Android Emulator Working With Fiddler (HTTP Proxy Tool)

CONFIGURING FIDDLER
Ok, I wrestled with this for days, but finally have it figured out. If you’re trying to make the Fiddler HTTP Proxy work with the Android emulator so you can debug web services and the like, here’s how to do it:
First we need to configure Fiddler to accept traffic from the emulator. In this case I am running Fiddler on the machine that is also hosting the emulator.
1. Start Fiddler
2. Go to Tools, then Fiddler Options
image
Figure: Going to Tools –> Fidler Options
3. Configure General and Connections tabs to look like the ones below:
image
Figure: The General tab’s settings
image
Figure: The Connections tab’s settings
4. Click OK
5. Quit and Relaunch Fiddler (important!)
6. Enable the Streaming feature in Fiddler so HTTP requests are shown as they occur.
CONFIGURING THE EMULATOR
image
Figure: The streaming option in Fiddler (shown in disabled state)
1. Start the emulator
2. Go to Settings, then Wireless controls
image
Figure: Wireless controls option
It is normal for tapping Wireless controls to cause a crash. Just try again and it will work. Don’t ask me why the emulator is so buggy – complain to Google.
3. Tap Mobile networks
image
Figure: Mobile networks option
4. Select Access point names
image
Figure: Access point names option
5. Choose the selected access point and configure the following options:
- Name : Internet
- APN : Internet
- Proxy : Fiddler’s proxy IP address (10.0.1.26 in my case)
- Port : Fiddler’s proxy IP port (8888)
- Username : <Not set> (clear it if anything is already there)
- Password : <Not set> (clear it if anything is already there)
- MCC : 310
- MNC : 260
Don’t play with any of the other settings!
image
Note: This part is special thanks to Xeros who posted to this thread.
6. Press MENU and then press Save
image
7. Keep going back until you’re at the home screen. I don’t know if this makes a difference, but I’m just making sure…
8. Try loading a Web site and you should see the traffic in Fiddler.
image
Figure: Web traffic still works, but is flowing through Fiddler.
image
Figure: Traffic being captured in Fiddler.
That should do it!
Note: You may need to disable Windows Firewall to make this work. Obviously I don’t need to tell you not to do this on a public network.