Android Architecture


Android Architecture


Image Not Found

Linux Kernel: This is located at the bottom of the stack. It has got Linux 3.6. This stack has got all the important device drivers like a camera, graphics, and keypad. It abstracts the device hardware. This layer takes care of networking and interfacing with other peripheral devices.

Libraries: In the second layer from the bottom, there are different libraries. This includes Runtime libraries, Web browser engine (Webkit), SQLLite, etc. In short, it will have all the libraries that might be required by the applications in the Android environment. We can compare this as a repository of libraries that an operating system has to support the operating environment.

This layer will have the android libraries as well. This contains the Java-based libraries which are specifically meant for Android-based development. It will contain the Application Framework libraries, UI development libraries, graphics libraries, and database access libraries. Some of the key android libraries are listed below:

  • Android.content: This library is responsible for facilitating content access, messaging between different application components, and publishing the contents as well.
  • Android.app: This library is responsible for providing access to the existing application model, and all Android applications rely on this library.
  • Android.text: This library is used for manipulating the text on the display.
  • Android.Database: This library will be used for accessing the data which has been published by the content providers. This should include the SQLite DBMS classes.
  • Android.View: This is a mandatory library for the development of App UI.
  • Android.Webkit: This library provides the capability for web browsing within the applications.

In this stack, we will also have an Android runtime section. Here we find Dalvik Virtual Machine, which is prototyped on Java Virtual Machine. Dalvik Virtual Machine is optimized completely for the Android environment. Dalvik Virtual Machine makes use of key Linux features such as multithreading and memory management. Dalvik Virtual Machine allows each and every Android application to run within its process, which will have its instance of Dalvik VM.

Application Framework

The Application Framework stack is made up of essential services. These high-level services are made accessible to the applications as Java classes. These services are used by the application developers, within their applications. Some of the key services are listed below:

  • Content providers: This service allows an application to share as well as publish its data with the other applications.
  • Activity Manager: This service manages the application lifecycle along with the activity stack.
  • Resource Manager: It provides access to those embedded resources which are non-code. It includes UI layouts and color settings.
  • Android.Database: This library will be used for accessing the data which has been published by the content providers. This should include the SQLite DBMS classes.
  • View System: It provides views that can be used for the creation of application UIs.

Applications

This is the topmost stack made up of android applications. The applications are installed at this layer.