Do you think the "Run anywhere" marketing behind Java is rarely important? Java programs normally sit on a server, or many servers of the same arch. The decent thing is that someone can build a JVM for a new architecture and lots of /other/ languages that target the JVM work. But this seems different from "my program can runs on lots of architectures".
Or an Android smartphone or media streamer (Android TV).
However, those programs won't run anywhere; they need Android.
Java has turned into C. Java programs need a platform-specific set of libraries just like C needs POSIX, or Win32, or VXWorks or ThreadX or whatever.
This is pretty much inescapable.