Running Android on a Windows Mobile phone can be a challenge, but there are some tips that can help. Here are four tips to get started:

  1. Choose the right Android emulator. There are many different emulators available, and it is important to choose one that is compatible with your Windows Mobile phone.
  2. Configure your phone for Android. Once you have chosen an emulator and set up your phone for Android, the next step is to configure it for Android. This includes setting up your device’s language, locale, and network settings.
  3. Install the correct apps. Once you have configured your phone for Android, it is important to install the correct apps so that you can use the features of the Android operating system. This includes applications such as email, calendar, and messaging services.
  4. Use a VPN service to protect your privacy while using Android devices. A VPN service can help protect your privacy when usingAndroid devices by encrypting your traffic and hiding your identity from third-party providers

Update: This article was written 5 years ago, and as far as we know this process doesn’t work anymore on modern phones. It’s certainly possible that you can still run Android on a Windows mobile phone, but we don’t have a good solution to give you. We recommend asking about your specific phone model over on the XDA Developer forums.

Installing Android

To run Android you will need a microSD card that is not SDHC (typically a card less than 2GB) and a supported Windows Mobile phone (see below). You can check your microSD card compatibility by looking at the card to see if it shows the “HC” label.

The microSD card will need to be formatted in FAT32. Plug the microSD card into the computer and right click on it and choose format.

Note: Formatting a microSD drive will erase everything on that drive. Make sure you have any important files backed up before you format it.

Now that the microSD card is formatted, the first step to installing Android is finding the right Android port for your phone (see below). You will need to find the port that works on your phone as well as the version of Android you want to run. Versions start at 1.0 but typically you will find ports for version 1.6 or 2.1.

Once you have found the right port for your phone and Android version you want to use, extract the files to a folder using 7-zip.

After the files have extracted there should be a folder called “andboot”. Go into the andboot folder and there will be another folder called “startup config” or “startup”. Open this folder and you will need to find the right startup.txt file for your phone. Inside each folder will be a single “startup.txt” file. Copy the file for your phone model to the root of the andboot folder. This file will tell Android what type of hardware you have, how big your screen is, how much RAM your phone has etc. so it is very important to choose the right file. If you are confused on what these phone names are please read below on finding your phone model.

Once you have moved the correct startup.txt file to the andboot folder, copy the entire andboot folder to the root of your newly formatted microSD card.

Plug the microSD card back in the phone and open the file browser on your phone and browse to the memory card. Make sure the phone is plugged into power before the next few steps because on some phones running on battery may cause the phone to hang.

Open the andboot folder and run haret.exe. If the right startup.txt file is in the root of the andboot folder you should be able to click “Run” and you will get a quick loading screen while haret turns off Windows Mobile and starts up Android.

You should get some scrolling text and probably a nice Android logo while the phone boots up the first time.

Note: The first boot is going to take a considerably longer time than subsequent boots. and you may need to calibrate your screen during the boot process so make sure you keep an eye on it.

Once the basic Linux settings are done your new “Android” phone will boot to a welcome screen so you can walk through the rest of the settings like setting up your email account.

Tip: If you are running Android on a phone that does not have an active data plan but does have wifi, you can get around the startup screen by tapping on the welcome screen in this order: top left corner, top right corner, bottom right corner, bottom left corner then tap the Android logo. You can then enable wifi and join a network and set up your gmail account manually.

It is usually recommended that you leave your phone alone while it syncs your information for at least 10 minutes. Once the initial syncing is done the phone should start running faster and you can play around with installing apps. If you don’t wait for the phone to fully sync you may have problems with apps crashing prematurely and a force close dialog popping up.

Change any settings and install any apps you want, they will be saved to your memory card and ready on next boot. All phones that run Android from the microSD card will automatically boot Windows Mobile when the phone restarts. To run Android again, just open the file browser and run haret.exe again.

Android Ports

There are a few different Android ports for Windows Mobile devices and each one supports a different family of device; each family of device has a varying amount of hardware support. Most phones will support the touch screen, hardware buttons, cell phone radio, and data connection, but some ports may not support bluetooth, GPS, or power management. This is not a complete list of Android ports available, but it should cover the most popular Windows Mobile phones.

HTC Nike (Neon) HTC Polaris (Touch Cruise) HTC Kaiser (TyTN II) HTC Titan (Mogul, xv6800)

Note: HTC phones all have proper names that come from HTC and in many cases each carrier will give the phone its own branding and rename the phone to something else. For example, the HTC Titan was called the Mogul on Sprint and the xv6800 on Verizon. To find the Android port for your phone, start by finding the proper HTC name of your device. Start on HTC’s site to discover your device’s official name.

XDAndroid supports the most popular touch screen HTC Windows Mobile phones and if you bought a touch screen HTC Windows Mobile phone within the past year, most likely this port will support your phone. XDAndroid runs directly from the phones microSD memory card on the following phones:

Touch Pro (Fuze, RAPH, RAPH800, RAPH500) Touch Diamond (DIAMOND, DIAM500) Touch HD (BLACKSTONE) GSM Touch Pro2 (TILT2,RHODIUM, RHOD400, RHOD500) GSM Touch Diamond2 (TOPAZ)

Andromnia is an Android port for Samsung devices. Currently this port is in the pre-alpha stages and things like the headset speaker does not work. But if you want to test it out it supports the following phones:

Samsung i900 (GSM, supported worldwide) Samsung i910 (CDMA, used by Verizon in the US) Samsung i780 (Mirage) Samsung i907 (AT&T Epix)

Wing Linux isn’t as quickly developed as XDAndroid but should get the job done if your phone isn’t supported by any other port. Wing Linux supports the following phones to varying degrees:

HTC Artemis HTC Elf, HTC Elfin HTC Excalibur, T-Mobile Dash HTC Gene, HTC P3400 HTC Herald, T-Mobile Wing HTC Opal, HTC Touch Viva HTC Pharos HTC Prophet HTC Startrek HTC Wizard Asus P320, Galaxi Mini

You may also want to look at threads for the following phones to check the status of Android on these phones.

Sony Xperia 1

HTC Leo (HD2)

Extra links

If you still can’t find what you are looking for I recommend checking out these links for more information.

XDA-Developers forum

PPCGeeks forum

Connect-UTB

HTC Linux