The Android platform is a software stack for mobile devices including an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK. Applications are written __using the Java programming language and run on Dalvik, a custom virtual machine __designed for embedded use which runs on top of a Linux kernel.