Android – Software Stack

Hello folks, happy you are here once again to read more details about Android. In previous article we have highlighted introduction about Android & also how the era of Android Starts. So better you now know some things about Android. We have written this article to make you more familiar with Android – Software Stack that holds number of Layers inside with unique functionalities.

Android Software Stack Image

Android Software Stack

As you can see, android software stack contains different layers that are as described below:

  • Linux Kernel
    • Contain all low level drivers for various hardware components
    • Relaying on Linux Kernel for core system services like
      • Memory and process management
      • Network stack
      • Driver model
      • Security
    • Provides Abstraction between hardware and rest of the software stack
  • Android RunTime
    • Contains set of core libraries that enables developers to write Android Apps using Java Programming
    • It also has DVM that stands for Dalvik Virtual Machine, which provides environment to execute Android Applications. It also has lots of stuffs as,
      • Each android app runs in it’s own environment
      • have it’s own instance of Dalvik VM
  • Libraries
    • Exposed to developers through Android Application Framework
    • Contains C/C++ libraries used by components of Android Systems
    • few of features include
      • SQLite Library used for data storage and light in terms of mobile memory footprints and task execution
      • WebKit Library mainly functions for Web Browsing and much more in that.
  • Application Framework
    • Exposed various capabilities of Android that developers use them in their Application developments
    • Enables and simplify the reuse of components that are available directly for developers and their apps
      • Developers have full access to the same framework APIs used by the core applications, so that can enhance more in terms of functionalities of their applications
      • Users are allowed to replace components as they like and feel
    • Various Features are like,
      • View System – used to build an application, including lists, grids, texts, boxes, buttons and much more.
      • Content Provider – Enable application to access data from other application or to share their own data
      • Resource Manager – Provide access to non-code resources (localized Strings, Graphics and Layouts)
      • Notification Manager – Enable apps to display custom alerts in the status bar
      • Activity Manager – Manage the Lifecycle of apps & provide common navigation back stack
  • Applications
    • Top of the Android Application Stack contain tone of Apps that users can download from Android Official Play Market
    • Set of Core applications are pre-packed in the handset like Email Client,  SMS Program, Calendar, Maps, Browser, Contacts and few more.

So for now, you are aware about Android Software Stack and it’s layer terminology. I am sure you have get plenty of good notes from this article. Anytime if queries persist you can always comment back so we can answer back to you.

“Bless for You, Peace for the World” – Purvik Rana

Leave a Reply

Your email address will not be published. Required fields are marked *