Full Android on Windows Mobile Devices
Good day. Without stretching the introduction, I will immediately get down to business. So, Android on Windows Mobile.
In the recent past, the fact of using a device that was originally designed to work with Windows Mobile OS running Android OS caused associations with glitchiness, instability, and complete inability to use the device except for “see what is there”.
But time is passing, and the development of the Android platform is moving forward by leaps and bounds. More and more Windows Mobile followers want to try and “touch” Android on their device. It is doubly pleasant that among them are those who are ready to take up the difficult task of porting Android to their favorite communicators with WM.
So, everyone who is interested in the opportunity to see what modern builds of Android on WM communicators are capable of, I ask for a cut
. At the moment, Android is most common on HTC communicators, which in principle does not cause much surprise, since everyone knows that they release a large part of communicators for Google on Android. In this regard, porting Android to their own, HTC, Windows Mobile communicators, is less painful and faster than communicators from other manufacturers.
As an example, the article will be based on personal experience using the Android OS on HTC Touch Cruise, aka Polaris, aka P3650.
To begin with, a little theory about what Android is on communicators with WM:
The main components of the firmware:
- Initrd.gz - a temporary file system used by the kernel during the initial boot of the OS (only when starting from under WM from a memory card)
- Haret.exe - file that ensures the launch of the Android OS (only when launched from under WM from a memory card)
- Zimage - the actually assembled Android kernel (only when launched from under WM from a memory card)
- Default.txt - boot script to run Android (only when launched from under WM from a memory card)
- androidinstall.tar - Android OS files
- The androidupdate.tar file is also possible - a file containing any updates to the Android OS components.
- Launching Android OS from a communicator’s memory card from under WM
- Android OS firmware in communicator memory
Launching Android OS from a communicator’s memory card from under WM
In this case, the entire set of files from the list above is located in any folder in the root of the memory card (for example, memory card \ android). At the same time, one of the main conditions for a successful launch of Android is the presence of a properly formed default.txt. The fact is that it is in this text file that are explicitly written (moreover, there is a comment for each option that it is) all the settings necessary for Haret.exe to successfully launch the Android OS.
Here is an example of the default.txt file:
set RAMSIZE 0x08000000
set MTYPE 1723
set KERNEL zImage
set initrd initrd.gz
# The following kernel parameters are useful
# ppp.nostart - Set ppp.nostart = 1 to disable starting the ppp connection on boot
# msm_sdcc.msmsdcc_fmax - The maximum frequency (in Hz) used by the SD controller
# pm.sleep_mode - The mode used when the phone is off
# 0 = Power Collapse Suspend, 1 = Power Collapse, 2 = Apps Sleep,
# 3 = Slow Clock and Wait for Interrupt 4 = Wait for Interrupt
# Default is 1, use 1 for best power savings
# board-htcpolaris.panel_type - Panel type used to power the panel off and on
# 0 = Don't power off the panel (Default)
# 1 = Sony 2 = Topoly 3 = Topoly (probably just the same as 2)
# lcd.density - Defaults to 160, 128 shows more on screen
set cmdline "ppp.nostart = 0 pm.sleep_mode = 1 mddi.width = 240 mddi.height = 320 no_console_suspend clock-7x00.mddi = 0xa51"
Actually, when Haret.exe starts, the phone reboots to another OS - while Android tries to use the parameters that the user specified in default.txt. That is, Android, although it is launched from under WM, you can restore WM back only with Soft Reset. Android retains its full functionality when launched from a memory card from under WM. Negative moments are associated with the speed of the device as a whole and with stability: involuntary crashes and reboots are possible.
As a result, this method can be recommended primarily to those who have long wanted to try Android, but did not know how to approach it: minimal effort is required, and as a result, you can fully get acquainted with the capabilities and beauties of the OS.
Android OS firmware in communicator memory
This method involves a bit more preparation. We will need:
• .nbh file — the file that is flashed into the communicator contains all the information on updating the firmware. Usually for Android it has the name polaimg-panel1-320-17-06-10 .nbh, where:
- polaimg - destination for a specific type of communicator (Polaris)
- panel1 - correspondence of a certain communicator model in case of several models (in the case of HTC Polaris, pane1 is Touch Cruise, for example panel3 is Touch Cruise 2 aka Iolite),
- 320 - screen resolution. The fact is that there are versions of firmware with a resolution of 480, but this, in the case of firmware, will lead to a small picture on the screen
- 17-06-10 - release date of the corresponding file. Of course, the fresher the file, the more errors in it are fixed in relation to previous versions and the better and more stable the communicator will work with it.
• Computer, USB cable, pre-unlocked communicator, utility for flashing HTC communicators called Custom ROM Update Utility or Custom RUU, and for each communicator model it has its own
• FAT32-formatted flash drive, the andboot folder created on the flash drive and the androidinstall.tar file placed in this folder and if there is \ you need the androidupdate.tar file. The flash drive is ready, now you can put it aside and finish the necessary operations with the communicator
• Enter the device in boot mode, for Polaris it is holding the photograph button and turning on the communicator with the photograph button pressed, for other devices there are methods for entering the boot mode. If everything went well, you will see a three-color screen with the Serial inscription at the bottom (on HTC smartphones)
• Connect the communicator to the PC, the Serial caption should change to USB (on HTC smartphones). Only after that we continue further actions
• On the PC, create any folder and put Custom RUU and the .nbh file we selected there. We start Custom RUU, follow the instructions on the screen, simultaneously ticking the agreement and confirm everything, click Update on the last screen and wait for the process to go both on the PC screen and on the communicator screen. The progress bar reaches 100%, Custom RUU says that everything is ready, the phone restarts. Since this file does not contain real firmware, like WM firmware, the phone does not download anything, it just freezes on the first screen. Everything is fine, the installation process for Android is yet to come
• Insert our prepared memory card into the communicator and make a soft reset. If you select the correct .nbh file, then after a few seconds the phone will blink on the screen and the Tux Penguin will appear on the screen and white text will run on the black screen. Important! At this stage, do not miss the moment when the words “Hold down Volume Up or DPad center to launch installer” appear on the screen - we press and hold either the volume + or the center of the joystick and get into the Install menu of Android'a
• Here, moving around the menu with the joystick and making selection with the central button, you can select the location of the Android firmware files, as well as proceed with the installation. So, select Sys on NAND, Data on NAND, go down below and select Install System,
• after the system returns to the same menu, if androidupdate.tar is available, select the Install Update item, wait for it to return to the menu and select Fix Permissions
• after returning to the menu, do soft reset, if you just quit, the phone will be inactive state
• We are waiting for the successful loading of the communicator. The first time it may take 5-15 minutes, depending on the selected firmware
• Enjoy Android :)
Briefly about firmware and functionality:
At the moment, the main firmware is based on either 1.6 Donut or 2.1 Éclair.
Donut is a more stable and functional version, as all the features have been tested there for a long time. Éclair firmware for WM communicators appeared relatively recently and is still a little damp, and it is a matter of functionality rather than stability. For example, the issue of a non-working camera has not yet been resolved, and depending on the phone there are problems with Bluetooth headsets, which does not affect the speed and stability of the device as a whole.
Positive points:Beautiful, unusual (especially after WM), very functional, fully working Market!, The responsiveness of the device compared to WM improves significantly, even on rather weak devices (in most firmware Rogue Tools is built-in, which allows you to overclock, for example, the old Polaris up to 600MHz!), complete synchronization with Google and with all its services in addition, the ability to configure all the smallest details of the communicator for yourself, the Russian language out of the box (on Éclair 2.1), etc.
It seems to me that everyone who has ever tried a communicator on WM, no matter which version, whether 5.0, 6.0, 6.1 or 6.5, determined their impressions of the shell as a whole, so Android is just like the interface through which you perform most of the daily actions at times more convenient and more functional. This applies to everything - reading mail, calls, SMS, viewing the photo gallery (on 2.1 Éclair it is 3D!), Music, installing and uninstalling programs, monitoring the status of the device ... the list can go on for a very long time and all this without inherent WM brakes after each button click or touching the screen.
I would like to say a few words about the Market. He is and he is huge. Almost everything that any user of any level needs is available for free, more than 90% works immediately and without restrictions on the hardware. There are games too, from simple card games to an almost 3D level. All that is required of the user is to go there, select, click install, the application will download itself and install on the phone. All! You can go to the menu and run. And if suddenly any application has been updated to a new version, Android will notify you of this and offer to download the update. As a former WM user, I can say that this is very different from the process of searching and installing applications on WM with the subsequent verification of new versions and the need to search for a new version on your own to download and reinstall.
In general, I think the following screenshots will show more than what I will say in words:
|Home Screen:||Switch between desktops:|
|Main menu:||3D photo gallery:|
|Lock screen:||Selection of widgets for desktops:|
PS I give a list of some devices and the development status of Android OS on them:
• HTC Kaiser (TyTN II) - there is a working version of the firmware
• HTC Touch - there is a working version of the firmware
• HTC Diamond - in development
• HTC Touch Diamond 2 - there is a working version of firmware
• HTC HD - there is a working version of firmware
• HTC HD 2 - in development
• HTC Touch Pro - there is a working version of the firmware
• HTC Touch Pro 2 - there is a working version of the firmware
• HTC Touch Cruise - there is a working version of the firmware
• HTC Touch Cruise 2 - there is a working version of the firmware
• Sony Ericsson XPERIA X1 - there is a working version of the
PPS forum firmware .xda-developers.com / index.php