* There are number of external libraries available which are very helpful in development.
* Access to all the native functions of the phone like external storage, contacts, camera, call logs, connectivity, recorder, etc.
* SDK has multi platform support, as development language is Java. Development can be done on windows, mac, and linux.
* Development tools are easily downloaded and we can target any API Level for our development.
* It is open source.
Room for Improvement:
* Emulators are slow, especially the ones above API level 12 (Tablets and ICS). Slow emulators can really hinder the process of development.
* Tough to manage layout for different screen sizes (Android devices come in a variety of resolutions).
* If an application is not built with OpenGL, then the application will not use the free GPU available with the device. Rather, the application will use CPU for rendering the application, making the application rendering a bit slower when compared to applications on iOS.
Google provides a comprehensive guide to ease the development of apps in Android. Due to the support from Google, and the fact that the Android app development can be undertaken anywhere, it's open source platform has contributed toward the immense success of Android. Although iPhone offers a lot of development tools, the freedom offered by Android is virtually unmatched. Almost the entire source code of Android is available to the developers, and they can manipulate it as they wish.