Architecture of Android

Architecture of Android

  • Android provides a rich development architecture.                                                                                    
  • Android architecture is a software stack of components to support mobile device needs.          
  • Android software stack contains a Linux Kernel, a collection of c/c++ libraries which are exposed through application framework services, runtime, and application.                                  
  • The following diagram shows the major components of the Android architecture, the operating system, and the development architecture.  

  •  The Linux Kernel is the most important component of the android architecture which provides its operating system functions to mobile.                                                                                                                                     
  • Android Runtime and Dalvik Virtual Machine (DVM) is responsible for running a mobile application.                                                                                                                                                                                                        
  • Following are the main components of android architecture those are:                                                

                1. Application Layer :                                               

      • The top layer of the android architecture is the Application Layer.                                                                       
      • All android applications (Native & third party) are built on the application layer.                                                                                                                                     
      • The application layer runs within the Android Run Time, using the classes and services made available from the application framework.                                                               
      • The native and third-party applications like phone dialer, contacts, email, music, gallery, clock, games, etc. whatever application we develop will be installed on this layer.                                                                                                                                              
      • The application layer runs within the Android run time using the classes and services made available from the application framework.                                                          

                2. Android Framework :

      •  The application framework provides the classes used to create Android applications.                                                                                                                                                                                      
      • It also provides a generic abstraction for hardware access and manages the user interface and application resources.                                                                                      
      •  It basically provides the services through which we can create a particular class and make that class helpful for the Application creation.                                                      
      • The application framework includes services like Activity Manager, Location Manager, Window Manager, etc. 
                                   

                3. Android Runtime :

      • The Android runtime is what makes an Android phone an Android phone rather than a Linux phone.                                                                                          
      • Including the core libraries and Dalvik Virtual Machine (DVM), the Android Runtime is the engine that powers your applications and forms the basis for the application framework.                                                                                                                                         
      • Dalvik Virtual Machine (DVM) is a register-based virtual machine like Java Virtual Machine (JVM).                                                                                                                                                                 
      • It is specially designed and optimized for android to ensure that a device can run multiple instances efficiently.                                                                                                                    
      • It relies on the Linux kernel for threading and low-level memory management.

                4. Native / Core libraries :

      • The core Android libraries provide most of the functionality available in the core Java or C / C++ libraries, as well as the Android-specific libraries.                                                                                                                                                         
      • It will enable us to implement android applications using standard programming languages.

                5. Platform Libraries :

      • Libraries are running on top of the kernel and HAL, Android includes various C/C++ core libraries such as libc, Graphics, and SSL.                                                                                               
      • The following are the summary details of some core android libraries available for android development.              
        1. Media library for playing and recording audio and video formats
        2. The Surface manager library to provide a display management
        3. SGL and OpenGL Graphics libraries for 2D and 3D graphics
        4. SQLite is for database support and FreeType for font support
        5. Web-Kit for web browser support and SSL for Internet security

                6. Hardware Application Layer (HAL) : 

      • The Hardware Application Layer (HAL) provides an abstraction layer between the underlying physical device hardware and the remainder of the stack.                                                                                                                 
      • It provides access to all major hardware like Audio, Media, Cameras, and sensors.

                7. Linux Kernel :

      • Linux Kernel is the bottom layer and heart of the android architecture.                                                      
      • It manages all the drivers such as display, camera, Bluetooth, audio, memory, etc. which are mainly required for the android device during the runtime.                                                                                                        
      • All Core services (including hardware drivers, process and memory management, security, network, and power management) are handled by a Linux kernel.                                                                                             
      • The Linux Kernel will provide an abstraction layer between the device hardware and the remainder of the stack.

  • The following diagram shows all the components of the Android architecture.



Comments

Popular posts from this blog

Introduction to Android...