The relationship between Android and Linux

The relationship between Android and Linux … here is a solution to the problem.

The relationship between Android and Linux

If Android uses Linux, how does it run on a Windows machine for development? I know android uses java bytecodes and converts them to Dalvik bytecode. So, I need Java to write Android code. But where is the part of Linux?

Here I have an image of the android stack with the layers defined. So, the same question is how is Linux relevant and at what stage am I programming?
Picture of android stack

Solution

When you run the Android emulator, you are actually running a virtual machine that fully emulates the ARM processor of a typical phone. It includes copies of the Android Linux kernel, Dalkvik VM, and more.

From Android docs :

The Android system images available through the Android SDK Manager contain code for the Android Linux kernel, the native libraries, the Dalvik VM, and the various Android packages (such as the Android framework and preinstalled applications). The emulator provides dynamic binary translation of device machine code to the OS and processor architecture of your development machine.

Related Problems and Solutions