3 ms·
Apart from technical reasons, there might be political or legal ones. One would be to bring the platform further away from Oracle's Java. Standard java uses the
by captainmuon 12y ago
Apart from technical reasons, there might be political or legal ones. One would be to bring the platform further away from Oracle's Java. Standard java uses the JVM, Android uses the Dalvik VM. While technically quite different, one could argue that in both cases Java is compiled to bytecode, and thus Android would be ripping of Java. ART would mean moving to machine code and thus a step away from the VM paradigm. However, I don't think this is a compelling reason, since the disputes have always been around the Java API and parts of the source, and not about the architecture.
Another (more paranoid) idea is that ART would nip stuff like Cydia Substrate in the bud. Substrate is basically a framework to hook arbitrary functions in apps or in the OS. For that, it depends on rewriting Dalvik bytecodes. If Google wants to lock the platform down to disallow stuff (bypassing DRM, turning off the camera sound, installing facial-recognition software on Glass, etc.) it would make sense to stop that kind of tool.
- pjmlp 12y agoThere are certified JVMs with AOT compilers available.