"you can't take a Java SE or ME app or even compile it's source code and run it on Android"
I couldn't compile my Java SE game editor build on ME at the time Sun & Google were negotiating. Apparently it's OK for Sun to artificially fragment Java. Today I couldn't guarantee the Swing UI source would compile under ME, Swing support supposedly is there but partial.
At the same time more than 75% of the Java source is shared between my games editor and the Android game build, exactly the same source - this shitty language doesn't support conditional compilation, which normally pushes that shared source above 90% in other languages. Only the UI layer changed - as it would have to since it's doing a different job and there's no point reading sensors my PC doesn't have and a mouse my phone doesn't have!
Some of the tools I use only need a shell to inject command line parameters and an Activity stub to make them launchable on Android. They compile and run quite happily with that. Not a useful thing to do though.
You grossly exaggerate the level of incompatibility and ignore the fragmentation baked into Java itself.