Debug Android emulator remotly

When developing apps for Android I’m using Xamarin and Visual Studio. I’m running Windows under Parallels.Therefor I can’t use the x86 emulator with HAXM for hardware acceleration. But Android emulator is really slow without hardware acceleration, because of that i running the emulator on the host OS, in my case OS X.

To set up remote debugging there are a few steps to follow.

  • Enable “Remote Login” in OS X. You find it under “System Preferences” – > “Sharing”.
  • Install the Android SDK on the host OS.
  • Open SDK manager and install the Intel x86 Atom System Image for the API version you want the emulator to run on. If you have Xamarin Studio installed I think that is the easist way to start the SDK manager.

SDK Manager

 

Create emualtor dialog

  • Start your new emulator, if it start and using HAXM successfully you will se the text “HAX is working and emulator runs in fast virt mode” during the startup process.
  • Kill the adb server on the host OS using the command adb kill-server.
  • Kill the adb server on the guest OS using the command adb kill-server.
  • Install Putty on your Windows machine, that can be downloaded from here, http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  • Open Putty and type the hostname or IP address to your host OS.
  • Under SSH -> Tunnel, configure port forwarding on port 5554 and port 5555.

Putty

 

  • Open a new session and type your login credentials when Putty asks for them.
  • Start the adb server on the host OS using the command adb start-server. To verify that the emulator is connected use the command adb devices. 
  • You will now be ready to start debug your app in the emulator remotely.