Comment by cogman10
6 days ago
A little bit of all of the above.
Android's usage of Java started right as Sun was being acquired by oracle and right before the jdk was GPLed.
... And I'll be. Apparently Android is using the OpenJDK since Android 7. [1]
It isn't, check Gerrit commit history, they only take bits and pieces, plus ART doesn't do all bytecode equivalents. Some JVM bytecode don't have counterparts in Dex, rather get desugared into multiple instructions.
Was ART better at the time they wrote it? Do you know if there were any reasons other than perhaps legal, that caused them to go that route?
Mostly not wanting to pay Sun for Java Embedded licenses.
https://venturebeat.com/ai/google-sun-wanted-money-for-andro...
The problem isn't ART per se, embedded Java vendors also have their own internal implementations, but the big difference is that they pay for their licensing and support standard Java.