Android on the HTC Rhodium
The following pertains to the GSM & CDMA models.
Right now Android only runs from HaRET on a sd card. There are first attempts of getting a NAND-Version, but they are in early developement. Ports itself are also far from finished, but basic usage should be possible.
Working as of: 01/13/10
- Sound music/ringtones/etc (Earpiece only via hacks)
- Radio GSM/Data
- Full Keyboard & Hardware Key Mappings
- Keyboard slide out toggles Orientation
- Backlight Dimming/Off
- Gsensor (Accelerometer)
- WiFi (Support for WEP security now appears WORKING!)
- My Location / geo location
- GPS (Some users report no lock, or a very long time - 10min+ - before it shows something other than the middle of the ocean)
- 3D (HW3D now works! Most apps that use 3d work, some do not. Depending on build/app. MAJOR improvement in interface speed and responsiveness.)
- In-call sound (Some have reported low volume during calls. Some have to toggle speakerphone twice to get mic working on incoming calls)
- Power Management
- Speakerphone enabled (Mic may need some hacks to worḱ)
- WiFi HotSpot Tethering!
- It appears you can get USB debugging connection working (with full adb support) if you have the phone plugged into a PC in WinMo prior to booting Android. (Tested on Windows 7)
- Camery (not very stabe atm)
Features Not Working as of: 09/26/10
- Power/Battery Reporting (Battery will not show accurate remaining life, but will show semi-accurate decline)
- LED Notifications (LED will show System idle state: Green = Sleep; Orange = Awake)
In order to run Android, start by formating your sd card to Fat32 (it may be necessary to perform a full format rather than "quick format" and check your partition table).
Once your card is formatted, there are three ways to go about installing Android on your Rhodium.
Install by cab file.
- Run cab to install XDAndroid package
- This will create a program called Project Android in the start menu. Click it
- The keyboard selector will pop up and make your selection and click Run Android
- HaRET should start automatically
Manually copy files from package
- Download the latest file
- Extract and copy all the files to your sd card
- See installation note 1
- Run Haret.exe from storage card
- This will load the latest work from the Devs, but could be less stable
- Load all base Android files to storage card, either via Option 1 or Option 2
- Download containing the latest ZImage
- Extract and replace the ZImage you've downloaded with the one on your sd card
- Download containing the latest rootfs and rename to "rootfs.img"
- Download containing the latest initrd and rename to "initrd.gz"
- Run Haret.exe from storage card
For CDMA Version
- Use any of the above installs except before you run HaRET
- Download the latest rootfs and startup.txt from here
- Unzip the rootfs, rename it to rootfs.img and replace the one on your sd card.
- NOW run HaRET
- When using a build that wasn't a .cab You will have to rename the DEFAULT_RHOD.TXT to STARTUP.TXT or DEFAULT.TXT and place it on the root or android folder or andboot folder on the storage card.
- This cab will create an icon in the start menu to launch HaRET so you dont have to browse to it.
- Recent builds allow you to select your keyboard style when launching Android from the start menu. If necessary, these cabs will copy the correct files to fix the keyboard "Tilt2" keyboard Touchpro2 Rhodium210 or Rhodium100.
- This thread for Rhodium100uk or fr or de
- To import your contacts only. Open your contacts and then hit the windows key then choose import/export. You can then choose Import from SIM or SD
- If you sync your Contacts, Calendar, etc. with Google Sync in Windows Mobile first, your Google Account can then be setup through the Marketplace or through "Menu (Windows Key) > Settings > Accounts & Sync > Add Account". Once logged into your account (setup above) your information will sync in the background.
- Screen calibration will run on first boot. (Calibration is touching the centers of a series of white boxes as they appear. They appear over the 'boot' text, one by one, remain after touched, and the next appears - possibly under your hand. Touch carefully, look the screen over for another before touching the same one again. They will appear upper left, middle, upper right, lower left, then right.)
- Cant get live wallpaper to work? See Devilcuban Post.
- If Touch Screen Calibration is off, try to delete the "ts-calibration" file and attempt to boot Android again. You will then be able to calibrate the screen once more during boot.
- If you have a pin enforced by an MS Exchange synchronization, you may find this post useful.
- When you boot back into WM from Android your time will display incorrectly because the two operating systems use time keeping differently. You will have to manually reset your time in WM. I use TimeSyncTZ to fix the time. Or
- In Android: Go to Settings / Date and Time Uncheck Automatic (Use network-provided values)Change time zone to to GMT* 00:00, Greenwich Mean Time. Then set time and date to current time in your time zone.
- It's advised to delete the old created data.img (and other files) when trying a new kernel build (especially when go between different versions of android (1.6, 2.0 etc), but then you will lose your settings you made in a previous kernel build.
- You should kill all the apps as soon as you boot into android. They are all running and this contributes to the battery running down so quickly.
- When you boot back to Windows Mobile and you are having issues with things not working like buttons or gps, etc.. try reflashing hardspl. This has fixed numerous problems
Keymapping for the Tilt 2/Touch Pro 2
|5||Volume Up button||Volume Up|
|6||Volume Down button||Volume Down|
|7||PTT Button (Tilt2 Only)||Currently Unmapped|
|8||Power Button||Home (on most builds)|
|9||Rear Mute Button (With LED)||Currently Unmapped|
Note: As of right now, it's impossible to split 'End Call' and 'Power' function in the code, so this last function can't be linked to Power button without it being 'End Call' too. Thus for the ease of ending a call, this function is placed on the normal EndCall-button and Power button is 'Home'.
Your Storage Card should have the following files/folders included on either the root or as folder called andboot:
|/AndroidApps/||Android application files|
|/conf/||Android configuration files|
|/media/||Android media files|
|/DEFAULT.TXT||Initialization file of HaRET|
|/haret.exe||Executable to shutdown WinMo and boot Android|
|/initrd.gz||The initial ramdisk, or initrd is a temporary file system commonly used in the boot process of the Linux kernel. It is typically used for making preparations before the real root file system can be mounted.|
|/modules-2.6.2-xxx.tar.gz||In linux we can have drivers included inside of the kernel or modules that you can load. In the kernel build for Android the modules are not required because they are already included in the kernel.|
|/rootfs.img||Root filesystem: special instance of ramfs (or tmpfs, if that's enabled). You can't unmount rootfs for approximately the same reason you can't kill the init process; rather than having special code to check for and handle an empty list, it's smaller and simpler for the kernel to just make sure certain lists can't become empty. Most systems just mount another filesystem over rootfs and ignore it. The amount of space an empty instance of ramfs takes up is tiny.|
|/zImage||Linux (Android) kernel files|
And after the first boot, the following files/folder will be added (some are optional):
|/cache/||Linux cache folder|
|/smem.txt||Memory debug information|
|/FSCKxxxx.rec||Recoverd files created by FSCK, new one after every boot|
|/data.img||contains all settings and data|
Links of Interest
- Android on the Topaz has alot of the same resources the Rhodium has.
- Dualboot modified by Reefermattness to work when using an Android folder on your sd card.