Here's an interesting idea: Running Windows programs under Android ...
As unlikely as that may sound work is afoot to port the Wine system to Android. If you've not come across Wine before (the name was an acronym for "Wine Is Not an Emulator") it is a compatibility layer that can run Windows applications on a variety of POSIX-compliant operating systems including Linux, OS X, BSD, and Solaris.
Wine is not a virtual machine or a Windows emulator but rather translates Windows application calls into POSIX calls. Because this technique involves fewer layers of code Windows applications run faster and Wine requires less memory than the other approaches. It's worth noting that Wine currently implements about 90% of the calls found in Windows specifications such as ECMA-234 and Open32 but that subset supports the majority of Windows applications.
A few weeks ago at the Free and Open source Software Developers' European Meeting (FOSDEM) Alexandre Julliard, who is also CTO of CodeWeavers, demonstrated the Wine on Android project.
According to the Phoronix blog:
... they now have working support for Android's Bionic C library, cross-compilation is supported for Wine on Android with both i686 and ARM architectures, and there's a basic graphics driver using the desktop mode.
Alas, reports suggest that the developers have a long way to go before there's a useful system but they have demonstrated Windows Solitaire running under Wine on Android on an ARM-based system. You should check out Julliard's presentation on Wine on Android at winehq.org
Wine on Android is a fascinating prospect and along with virtual machine and emulators points to what the future will provide: Any program running anywhere on anything.