He's sort of right though, in that Dalvik's dx compiler expects .class files as
input. So the code has already passed syntactic checks and some structural
checks which can be repeated later (in a Java VM at least) by the bytecode
verifier.
For Android to be "compatible" with Java, the Dalvik VM needs to
give the same semantics to structures from a .class file (such as mangled method
names, or a Java bytecode that adds two floats together, etc.) as a Java VM
does.
OTOH, without the proper package APIs to compile against, you won't
have source-level compatibility, even if you do achieve semantic compatibility
for the compiled .class files themselves. So both kinds of compatibility were
needed.
(The semantic compatibility might come up somewhere during the
patents phase. Unfortunately, "compatibility" is not an affirmative defense for
using someone else's patented idea. Oops, I mean patented "invention". bleah.) [ Reply to This | Parent | # ]
|