A broad alliance of leading technology and wireless companies recently joined forces to announce the development of Android, an open and comprehensive platform for mobile devices. Google Inc., T-Mobile, HTC, Qualcomm, Motorola and others have collaborated on the development of Android through the Open Handset Alliance, a multinational alliance of technology and mobile industry leaders. At the core, the linux based Android platform features a virtual machine, called Dalvik, that uses another format for the class files but otherwise looks very much like Java. They also provide a utility that can convert Java class files to so called DEX files: the native Dalvik format. It is a VM for applications and is itself a so-called MVM i.e., able to run several programs in the same address space where the individual applications can communicate with each others via (remote) services. Java code generally runs on Dalvik without changes to the source code.
Android itself is a software stack for mobile devices that includes an operating system, middleware and key applications featuring a built-in database, support for various media formats and access to geo-localization, telephony management etc. Android is currently used on mobile phones (like the t-mobile G1), but promises to be usable on other hardware like netbooks as well. Android itself is licensed under the Apache License with the linux specific parts licensed as GPLv2.
This talk presents the Android platform and how it is structured. We will talk about the provided functionality and how to use the various features of the Android kernel such as the built-in camera, Wifi, and GPS. Furthermore, we will go into the details of the provided middleware stack containing libraries such as WebKit, SQLite and other libraris for e.g., telephony, and multi-media support. Finally the perspectives of Android will be presented.