Android Architecture or Platform Architecture, is a divide in Six main sections. This 6 layers stack of Android operating system provides access, development configuration and API. You will learn step by step each on in this tutor
Here is the official Android Platform Architecture Image, you can see there are a major six layers in Architecture. Every layer has its own function and provides to access (interaction or customization) as per development requirements.
Everyone knows now android expanding mostly devices like Phone, TV, Watch, Car etc. So it’s not only top-level android apps, but you can build also hardware level apps.
Coming to another part where some company is manufacturing Android phones. They want to customize UI and other configuration in Software and hardware level as per needs, So this Platform Architecture provide all possibilities to do it.
Let’s go to understand every layer of Android Architecture
1. Linux kernel
The Linux Kernel is the bottom-most layer in the Android architecture and extremely important part of the software on nearly every Android device. Its handle and support Resource management, Security management, Network stack, Process management and Power management of the Android system.
Android is Linux based, it gives the Android developers a pre-built, already maintained operating system kernel to start with so they don’t have to write their own kernel.
2. Hardware Abstraction Layer (HAL)
HAL layer not highlighted by Google in the starting time of Android. The hardware abstraction layer (HAL) provides standard interfaces that expose device hardware capabilities to the higher-level Java API framework.
Thru HAL you can access Audio, Bluetooth, Camera, Sensors drivers and can use in your application.
Now Android gives you to extra flexibility to implement own device specs and driver, you can create own hooks between Android Platform stack and hardware. Android is also open source, so you can also contribute enhancements.
3. Android Runtime
Android is updating technology day by day to make faster apps. ART- Android Runtime is an application runtime environment. Android apps are stored in memory where it required space. Laughing app go thru process – stored in RAM memory and execute in short of time, all this supported in Android Runtime configuration by android.
Two major concept is in Android is JIN – Just in time compilation and AOT – Ahead-of-time compilation.
4. Native C/C++ Libraries
Example Webkit, Media Framework, OpenGL ES etc.
5. Java API Framework
The entire feature-set of the Android OS is available to you through APIs are written in the Java language. These APIs form the building blocks you need to create Android apps by simplifying the reuse of core, modular system components, and services, which include the following:
Like Activity, Content provider, Location etc.
6. System Apps
Android has some default and basic apps in OS, which included some is Internet browsing, Contacts, Calendars, emails, messaging applications. You can Install your own apps , its not restricted. Almost all manufacturing company and apps providing own keyboard, google chrome come with Pixel phones and the user also install different browsers. The basic app can be removed from the system if you have root access.
If you don’t like branded apps, you can remove by some extra effort, sometimes it’s possible to root android mobile and sometimes not. Root access gives by the company to company on devices (Rooting a device can be done by using some software is available in the market, but still its depend on the configuration of mobile). So there is some apps form company like Mi apps by Mi.
For developer perspective, if your app would like to deliver an SMS message, you don’t need to build that functionality yourself, you can instead invoke whichever SMS app is already installed to deliver a message to the recipient you specify.