29 ms·
Google as far as I based android on the Apache VM which was implemented using the published OpCode spec for Java. So for ripping off the OpCode/VM, actually th
by justin_hancock 15y ago
Google as far as I based android on the Apache VM which was implemented using the published OpCode spec for Java. So for ripping off the OpCode/VM, actually they did something quite legitimate. From memory the Oracle claim centers on a few specific classes that they claim Google reverse engineered from the original Java source.
As for the incompatibility it was Oracle that chose to deny Apache a license for the Harmony VM, this was because they knew it was a threat to J2ME.
- vetinari 15y agoGoogle doesn't even do that. They are not using Apache VM. They are using their own Dalvik VM, which is not even compatible with Java VM. It uses their own opcodes. What they use though, is Apache Harmony - the library, that is reimplementation of java.* packages. Any Android app is compiled using using javac (or other compiler, producing class files) and then converted using Google's dex tool to be runnable by Dalvik. Android OS in unable to run untouched .class/.jar apps.
- prudhvis 15y ago*Android OS in unable to run untouched .class/.jar apps. Im not sure if that is correct. I have implemented a VoIP application using JAIN SIP jar files compiled with Standard JDK 1.6 that ran fine on Dalvik. This was of-course pre Android 1.0 days. Im not sure if that is the case today.
- vetinari 15y agoI'm sure that's correct. Sure, you can take jar file compiled using JDK's javac (actually, most android apps are compiled using JDK's javac), but you can't run it on device. You have to run it through dx tool, which combines all class and jar files and converts them into dex file. With different instructions than JVM.