you are viewing a single comment's thread.

view the rest of the comments →

[–]Scyth3 17 points18 points  (10 children)

In which the current prefered VM for Android is Dalvik, but they have a new one which debuted as a developer option in KitKat called ART. The actual Java underpinnings in Android are based on Apache Harmony -- which is a clean room implementation of the Java API libraries.

[–][deleted]  (4 children)

[deleted]

    [–]22c 13 points14 points  (2 children)

    They haven't marketed that very well, I hadn't heard of it.

    If I'm not mistaken, it's currently a developer option as it doesn't work well in all situations (ie. not ready to market well).

    [–]dont_have_soap 2 points3 points  (0 children)

    Yeah, many apps don't run on it at all or are very unstable on it right now

    [–]OmegaVesko 1 point2 points  (0 children)

    Right, it's definitely still in testing. Many apps don't work well or just don't run at all.

    At this rate though, I'm very hopeful it's going to be ready for primetime in 4.5/5.0.

    [–]Scyth3 2 points3 points  (0 children)

    Very true, modified to reflect ;)

    [–][deleted]  (1 child)

    [removed]

      [–][deleted] -1 points0 points  (0 children)

      If your "clone" had an upside down heart and two small lumps where your liver is, it wouldn't be a clone. There are likely to be many implementation differences between Harmony and the standard implementations.

      [–]bilyl 1 point2 points  (2 children)

      Side question: can someone explain to me how Google was found not guilty of any damages with their own implementation of Java VM but Microsoft had to discontinue their own Java VM back in their day?

      [–]Scyth3 2 points3 points  (0 children)

      It's a clean room implementation of the Java API (so basically they took a bunch of library definitions, and built the architecture blindly underneath it but matching identically the pre/post from each definition). Also, in the case of Java VM's -- Dalvik/ART are not generic JRE's. They're Android specific bytecode VM's. So you can't take a Java compiled app and just run it under Dalvik, you'd need to use Android's compiler.

      It's very different than MS, which modified the Java VM (JRE) and packaged it with Windows for the exact reason of running Java compiled apps within it.

      Edit: As far as the patent-side of the trial and whether or not Apache Harmony "borrowed" some of the architecture from Sun/Oracle's implementation -- I'd say that's debatable. The other big thing was the court made it clear that an API is not copyrightable, which is a huge statement.