Run Android on Your Windows Mobile Phone

If you’re lucky enough to have a Windows Mobile device that has an Android ROM, you can simply flash the ROM like you would normally do. Of course, you’ll also have the benefit of not having to start Windows Mobile in order to launch Android, and the entire port will likely be faster and more stable. The advantage with HaRET on the other hand, is that you’ll have the option to run two different operating systems on your phone.

1. Download the Android Port For Your Device
Visit the xda-developers forum, locate your device in the list and enter the Android Development section. The devices that have separate forums for Android ports are currently:
Developers are also combining their efforts and working together on the project XDAndroid. As of today, the XDAndroid port is available for the following Windows phones: HTC Raphael, Rhodium, Diamond, Topaz and Blackstone. For the SE Xperia X1, there is also a major project called Xperoid, although at the time of writing, it hasn’t been officially updated since the 24th of February, and you’ll find superior Android builds for the X1 at the XPERIA X1 Android Development forum.

2. Copy the Required Files to Your Phone / Flash Your Android ROM
If there is an Android ROM available for your Windows phone, you basically just flash it the way you would flash a regular WinMo ROM. There might be some individual deviations, though, so look closely if there are any special instructions for your particular ROM.
In case you have a port that requires HaRET, the basic idea is that you extract the files included in the port to the root of your memory card, and then run HaRET.exe to launch Android. Your memory card should be formatted with FAT32 (it most likely already is) and have at least 500 MB of free space.
This is the most common files of an Android port that is launched via HaRET, and their respective functions.
Calibration WLAN firmware
Haret.exe Runs the Linux kernel and Android
initrd.gz Initial RAM disk, needed for Linux to boot (phase one)
modules-Version-Number.tar.gz Android WLAN driver
rootfs.img Holds the files needed for Linux to continue to boot (phase two)
STARTUP.TXT Contains various parameters for HaRET and boot options for the Linux kernel
system.sqsh Holds all of Android’s system files
zImage The Linux kernel
conf/*.user.conf Android configuration files
AndroidApps/*.apk Android applications, that are installed during start-up. Any Android .apk-files in this folder will be installed. You can add and remove .apk-files files as you see fit.
Source: vdelf at xda-developers.

3. Boot Android
If you have flashed an Android ROM, all that is needed to run Android is starting your device, of course.
If you have the Android port located on your memory card, to run Android, simply launch HaRET.exe with Windows Mobile’s native File Explorer, and eventually Android will boot. It will take some time at the initial launch, but Android will start faster the next time you run HaRET. A file that is called data.img will be created on the root of your memory card, and it holds the information for your Android setup. To hardreset your Android configuration and start over, just delete this file.
If the Android port you’ve downloaded can’t communicate with your phone’s GPS, it’s important that you disable the GPS in Android from Settings > Location & security > Use GPS satellites, or your device may freeze. It’s also recommended that you turn off your SIM card’s PIN protection in Windows Mobile, since many ports can’t handle PINs yet. The setting can be found at here: Settings > Personal > Phone > GSM/UMTS Services > PIN/PIN2 > Get Settings… > Require PIN when phone is used.

4. Updating the Linux Kernel
If you run Android through HaRET, you can update to your port’s latest Linux kernel in order to gain more functionality, once you have all the required files and Android up and running. You only have to replace a couple of files on your memory card.
  • Download the latest kernel image. You have to find out the download location yourself, but information where the latest kernel can be obtained will likely be available where you first downloaded your Android port. The file will be called something similar to
  • Extract the compressed archive, and it will result in the file zImage. This is the Linux kernel.
  • Copy zImage to the root of your memory card, and overwrite the original file. Make a backup copy of the current zImage, in case you want to go back to using it later on.
  • You also need to download the WLAN-modules – you should be able to get them from the same place as the kernal image (zImage). The WLAN-modules must match the kernel image, so make sure two files have the same date in their titles.
  • Extract the archive holding the WLAN-modules, and you will get a file approximately titled modules-2.6.27-01006-ga30aafa-dirty.tar.gz. Just copy this file to the root of your memory card (do not extract it), and you should be ready to test your new Linux kernel.
Source: vdelf at xda-developers.

5. A Quick FAQ for HaRET Based Android Ports
  • If the Android port for your WinMo phone can’t communicate with the GPS, it’s important that you disable the GPS in Android from Settings > Location & security > Use GPS satellites, or your device may freeze.
  • To add your own ringtones and notification sounds, navigate to the Media/Audio folder on your memory card. There you should find three folders called Alarms, Notifications and Ringtones. Copy your ringtones to the appropriate folders, and they should show up when you change your notification settings in Android. If these folders don’t exist, create them.
  • You can freely add and remove Android application files (.apk) to the AndroidApps folder on your memory card. Applications in this folder will be installed during boot.
  • It has been suggested that if you open STARTUP.TXT and remove the option mem=102M, memory will be increased from 102MB to 182MB and the speed of Android will be improved. This tweak may not apply to your particular Android port.
  • Copy all the files and folders included in the Android port for your Windows Mobile device, to the root of your memory card. Do not put them in a separate folder, just copy them straight to your memory card. If your port is supposed to be copied to your phone’s internal storage instead of the memory card, that will be stated in the instructions for your specific Android port.
  • To hardreset your Android setup, delete the file data.img located in the root of your memory card.
  • To enable the data connection in Android, you probably need to enter your APN settings manually from Settings > Wireless & networks > Mobile networks > Access point names. If you don’t know what APN settings to enter, check with your service provider.
  • In case your screen is upside-down, slide out the hardware keyboard (if your device has one), and when you slide it back in again, your screen should be turned the correct way.
  • It’s recommended that you turn off your SIM card’s PIN protection in Windows Mobile, since many ports can’t handle PINs yet. You can find this setting at this location: Settings > Personal > Phone > GSM/UMTS Services/ > PIN/PIN2 > Get Settings… > Require PIN when phone is used
  • To enable live wallpapers, try this solution.
  • If you’re having trouble sending text messages, this post at the xda might help.
  • Can’t turn off Android properly? Use an application called Spare parts and change its End button behavior setting to Nothing, and it might help.

Share this post


Post a Comment