Hosts files and the Google Android emulator

Using the Google Android emulator is a good way to test how a website behaves on Android devices.

Connecting to your local computer is the URL to connect to a website hosted on your local computer. localhost or will not work! This is all defined in the documentation on Android emulator networking.

Using a hosts file

The Android emulator will not make use of your local hosts file. This is unfortunate when your website relies on host headers to work correctly (eg. SharePoint). What you need to do is edit the hosts file on the Android emulator image itself.

  1. start your Android Virtual Device (AVD):

    emulator -avd myAvdNameHere -partition-size 128  

    This is located in C:\Program Files (x86)\Android\android-sdk-windows\tools\ on Windows 64bit.

    Note: The partition-size parameter is needed to expand the image size to prevent an error in step 5. If you try and perform these steps after starting the emulator from the UI you will receive the following error: failed to copy ‘c:\temp\hosts’ to ‘/system/etc/hosts’: Out of memory

  2. remount the device image as writable:

    adb remount  

    This is located in C:\Program Files (x86)\Android\android-sdk-windows\platform-tools\ on Windows 64bit.

  3. save a copy of the existing hosts file to a temporary location on your host computer:

    adb pull /system/etc/hosts c:\temp  

  4. edit the hosts file adding an entry pointing to your host computer:     localhost      mytesthost  

  5. save the edited hosts file to your Android emulator:

    adb push c:\temp\hosts /system/etc  

    You can now browse to your entered hostname in the Android browser.

    Android Emulator

comments powered by Disqus