A Java ME implementation Android applications are written using the Java language, but they are not run within a Java ME (Mobile Edition) VM, and Java-compiled classes and executables will not run natively in Android. Part of the Linux Phone Standards Forum (LiPS) or the Open Mobile Alliance (OMA) Android runs on an open-source Linux kernel, but, while their goals are similar, Androids complete software stack approach goes further than the focus of these standards-defining organizations. Simply an application layer (such as UIQ or S60) Although Android does include an application layer, Android also describes the entire software stack, encompassing the underlying operating system, the API libraries, and the applications themselves. A mobile phone handset Android includes a reference design for mobile handset manufacturers, but there is no single Android phone. Instead, Android has been designed to support many alternative hardware devices. Googles answer to the iPhone The iPhone is a fully proprietary hardware and software platform released by a single company (Apple), whereas Android is an open-source software stack produced and supported by the Open Handset Alliance (OHA) and designed to operate on any compatible device.