Saturday, March 8, 2014

Andrutd Software stack

On top of the Linux kernel, there are the middleware, libraries and APIs written in C, and application software running on an application framework which includes Java-compatible libraries based on Apache Harmony. Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik "dex-code" (Dalvik Executable), which is usually translated from the Java bytecode.[113] Android 4.4 also supports new experimental runtime virtual machine, ART, which is not enabled by default.[114]
Android uses Bionic in place of a standard C library, originally developed by Google specifically for Android, as a derivation of the BSD's standard C library code. Bionic has several major features specific to the Linux kernel, and its development continues independently of other Android's source code bases. The main benefits of using Bionic instead of the GNU C Library (glibc) or uClibc are its different licensing model, smaller runtime footprint, and optimization for low-frequency CPUs.[115][116]
Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries, and this makes it difficult to port existing Linux applications or libraries to Android.[117] Support for simple C and SDL applications is possible by injection of a small Java shim and usage of the JNI[118] like, for example, in the Jagged Alliance 2 port for Android.[119]



 

No comments:

Post a Comment