I've used QT Embedded on several projects, starting with the Trolltech Greenphone. The advantages of QT are that developers can write and debug code on their desktop, and then compile it for their target device. Android doesn't run "real" Java, it runs Dalvik, which is similar to Java, but not exactly the same. Once I get OpenJDK (the real Java) fixed up performance wise for the i.MX51, it should be possible to use that on Android. Although Android doesn't support C++,. which is what OpenJDK is written in, there are several C++ toolchain solutions that would make this possible.