Can I install Android on my non-Android device? Many people want to try/use Android without buying a new Android phone.  How can I install Android on my current phone or device running Nokia Symbian, Maemo, or MeeGo; Microsoft Windows Mobile or Windows Phone 7/8/10; Apple iOS (iPhone); RIM's BlackBerry OS; Palm's WebOS; Samsung's Bada; HP's WebOS; Mozilla's Firefox OS; or other phone / operating system?
The Short Answer

Theoretically, all devices that meet Android's minimum requirements can run Android, it's just a matter of customizing Android for the device.

The Long Answer

While Android is open source and can be modified to suit many devices, firmware and hardware drivers are most often not made readily available -- especially not the source code.  Android won't run on a device without drivers for that specific device, so this means that you can't simply compile the code for Android and run it on your phone.

Android is a very different operating system than other phone platforms; Android and Windows Phone 7, for example, are just as different as Ubuntu and Windows 7 for the PC.  This means that even if you have WP7 drivers for your device, those drivers won't work on Android.  You'll have to modify those drivers to be compatible with Android, and you may need to reverse-engineer a lot of code.  This is very difficult and time-consuming, and sometimes even a team of people have little success with it.  Even getting a new version of Android to run on an Android phone can be hard.

The upside is that many phone manufacturers are now putting out versions of the same device with different operating systems.  One example is the HTC HD2, which runs Windows Mobile 6 but is very similar to the Android HTC Desire Z.  The Desire Z ROM only requires slight modification to run on the HD2.

Android ROMs/projects for non-Android Phones

Various developers have gone through the effort of creating an Android ROM that can be installed on other devices, or have started to do so.  The following statuses will be used to describe each project/ROM:


Pre-alpha: Concept stage.  You cannot use Android at all yet.
Alpha: Android is technically usable, but many major features are missing.
Beta: Most major Android features are usable, but it's fairly buggy.
Complete: This is almost as good as "real" Android!
Unknown: It's, well ... unknown.




Apple iOS Devices

There used to be a project iDroid for porting Android 2.3 to a jailbroken iPhone (2G or 3G), but the project died in 2014 without ever becoming stable. Nobody seems to be working on a port for iPhone or iPad any more.

Bada devices


badaDroid (German site)
Android on Bada (XDA; based on cyanogenmod; also see here)
Android porting @BadaForums


LG Devices (Proprietary OS)


LG Arena / KM900


See the Arenoid project.  Pre-alpha.



WebOS (HP) Devices


HP Touchpad


Android 4.4: Touchpad Toolbox.  Beta.



Windows Mobile 6 Devices

HTC


Gene / P340x


Android 1.5: See this XDA thread (Wing Linux).  Alpha.

Leo / HD2


Android 2.2: See XDA's guide to running Android on the HD2.  Complete.
Android 2.3: See various 2.3 ROMs available on XDA. Unknown.
Android 4.0: NexusHD2. Complete.

Tilt / Kaiser / TyTN II / MDA Vario III


Android 2.1: See this XDA thread (CM5).  Beta.
Android 2.2: See this XDA thread.  Beta.

Touch CDMA / Vogue 100 / P3050


Android 2.2: See XDA's Touch CDMA - Android Development subforum.  Beta (most ROMs).
Android 2.3: Same subforum.  Alpha.

Touch Cruise / Polaris / P3650


Android 2.1: See this XDA thread (CM5).  Beta.
Android 2.2: Apparently "Fresh Froyo" may work, which is a Touch CMDA ROM.  See XDA's Touch CDMA - Android Development subforum.  Unknown.

Touch Diamond / MDA Compact IV / P3051 / P370x


Android 2.2: See this XDA thread.  Beta.

Touch Diamond 2 / Pure / Topaz / MDA Compact V / T5388


Android 1.6-2.2: See this XDA thread.  Beta.

Touch Dual / Nike / MDA Touch Plus / P5500


Android 2.2: See this XDA thread.  Alpha.

Touch GSM / Elf / P345x


Android 1.5: See this XDA thread (Wing Linux).  Alpha.

Touch HD / Blackstone


Android 2.2: See this XDA thread.  Alpha.

Touch Pro / Fuze / Raphael


Android 2.2: See this XDA thread.  Beta.

Touch Pro 2 / Tilt 2 / Rhodium


Android 2.2: See this XDA thread.  Beta.
Android 2.3: See this XDA thread.  Alpha.



Samsung


Omnia II / i8000 (See also: MoDaCo thread)


Android 2.1: See Omnia2Droid.  Beta.
Android 2.2: See Omnia2Droid.  Beta.



You may be able to boot Android from an SD card on your WinMo device as well, leaving WinMo intact on your device.  This guide shows how to do so, and it works on many WinMo devices.

Windows Phone 7 Devices

None yet.

Maemo and MeeGo (Harmattan) Devices


Nokia N900


Android 2.3: See NITDroid for N900. Alpha.

Nokia N9/N950


Android 4.1: See NITDroid for N9. Alpha.



Symbian Devices (Nokia and Sony Ericsson)

There aren't currently any known successful attempts to port Android to devices originally designed for Symbian.


Nokia N95 


Android Port for Symbian phones blog (Gizmodo mention of that project). Unknown



Other Proprietary OS Devices


Samsung Jet S8000 / S8003


Android 2.3: See JetDroid.  Beta.
Android 4.0: See CM9.  Alpha



x86 Tablets/PCs

The Android-x86 project develops distributions of Android for x86-based systems, such as Apple Macs, most Windows PCs and tablets. Some Android devices already have x86 SoCs, such as the Dell Venue series and the HP Slate series.

Android-x86 comes with the GRUB bootloader, which allows it to be dual-booted with Windows/Linux/OS X. It can be installed to a hard drive/SSD partition during initial setup.

There is no LiveCD functionality in Android-x86. It is regularly updated with the latest Android version.

For more information about Android-x86 and more specific help, look at our frequently asked android-x86 questions.


Feel free to add to this answer as new ROMs come out for more devices!