Android is an open source operating system developed by Google and the Open Handset Alliance. It allows developers to write managed code in Java for mobile devices. The Android software stack consists of applications, an application framework, libraries/runtime, and the Linux kernel. Key features include support for Java, media, multi-touch, GPS, Bluetooth and over 1.8 million apps. Advantages include customization, good notifications and choice of hardware. Disadvantages include potential malware, battery drain issues, inconsistent app designs and occasional crashes.