Google News
Android Interview Questions
Android is an open-source operating system and is mainly popular for Smartphones, Tablets and Laptops.
This operating system is Linux Kernel-based. Using the Android operating system, the developer develops the functions or programs which can perform basic as well as the advanced type of operations on the Smartphone.
The latest version of Android OS is 12, released in October 2021. Android is a mobile operating system developed by Google. It is based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Every other Android version has been named after either sweet or desserts. The following table represents the Android name, version and the year of release.

Android Name Version Year of Release
Android 1.5 Android Cupcake 2009
1.6 Donut 2009
2.0-2.1 Eclair 2009
2.2 – 2.2.3 Froyo 2010
2.3 – 2.3.7 Gingerbread 2010
3.0 – 3.2.6 Honeycomb 2011
4.0 – 4.0.4 Ice Cream Sandwich 2011
4.1 – 4.3.1 Jelly Bean 2012
4.4 – 4.4.4 KitKat 2013
5.0 – 5.1.1 Lollipop 2014
6.0 – 6.0.1 Marshmallow 2015
7.0 – 7.1.2 Nougat 2016
8.0 – 8.1 Oreo 2017
9.0 Pie 2018
10.0 Quince Tart September 3, 2019
11.0 Red Velvet Cake September 8, 2020
12.0 Snow Cone October 4, 2021
Google has changed the lives of everyone by launching a product that improves the mobile experience for everyone. Android helps in understanding your tastes and needs, by giving various features such as having wallpapers, themes, and launchers which completely change the look of your device’s interface.
Android has plenty of features. Some of the features are listed below :
* Open-source
* Customizable operating System
* Variety of apps can be developed.
* Reduces overall complexity
* Supports messaging services, web browser, storage(SQLite), connectivity,media and many more.
This is a set of tools that Android developers use in order to develop or write apps. It features a graphical user interface that emulates a handheld, Android-driven environment, making it easier for developers to create, test, and debug their code.
The tools include :
* Dalvik Debug Monitoring Services
* Android Emulator
* Android Asset Packaging Tool
* Android Debug Bridge
The build process in Android involves three steps
* The first step consists of the compilation of the resources folder using the Android Asset Packaging Tool (AAPT). These are compiled into a single class file known as, which only holds constants.

* In the second step, the java source code needs to be compiled to .class files using javac, which are then converted to Dalvik bytecode using the ‘dx’ tool, which is one of the tools in the software development kit. The final output file is classes.ex.

* In the third and final step, the Android apkbuilder is required to take all the inputs and build the Android Packaging Key (APK) file.
List of the most popular programming languages that can be used to develop applications in Android
Java : Java, the most popular programming language in the world has always been a starting point for new developers and used by the majority of people who work with Android development.

Kotlin : Kotlin is a relatively new, modern, safe and object-oriented cross-platform programming language. When Android studio 3.0 was released in Oct 2017, Kotlin was announced as the official programming language for Android. Many popular applications such as Trello, Square and Corda have since then shifted to Kotlin.

C# : Using the C# language developers can build native iOS and Android mobile applications.

Python : Python has emerged as one of the most popular programming languages in recent times. A dynamic and object-oriented programming language, Python is very popular in machine learning.

Other languages that can be used in Android are C++, HTML 5.
Android Software Development Kit (SDK) and Virtual Device Manager : This tool is used to generate and handle Android Virtual Devices (AVD) and SDKs. Through the emulator in the AVD, you can specify the supported SDK version, storage in the SD card, screen resolution, and other abilities such as GPS and touch screen.

The Android Emulator : The AE is the implementation of the Android Virtual Machine, designed to run processes within a virtual device itself, which can be used on a development computer. The main use of this tool is in testing and debugging of Android applications.

Android Debug Bridge (ADB) : The ADB is a command-line debugging application doled out with the SDK. It enables developers to communicate with the device, and facilitates actions such as the installation and debugging of an application.

Android Asset Packaging Tool (AAPT) : The AAPT builds the ‘.apk’ distributable Android package file.
Android architecture refers to the different layers in the Android stack. It includes your operating system, middleware, and important applications. Each layer in the architecture provides different services to the layer just above it. The four layers in the Android stack are:
Android architecture is in the form of software stack components.
Linux Kernel : Linux Kernel is placed at the bottom of the software stack and is the foundation of the Android architecture. Using Linux kernel, Android provides a connection between the other layers of the software. It helps to develop drivers like the keypad, display, audio for device manufacture, etc.

Hardware Abstraction Layer (HAL) : HAL provides an interface between device drivers and API framework. It consists of library modules that are specific to the hardware component.

Android Runtime : Linux kernel provides a multi-tasking execution environment so that multiple processes can execute each process runs on its own instance of Android Runtime (ART). Android has core runtime libraries like Dalvik VM specific libraries, Java Interoperability Libraries, Android Libraries, and C/C++ libraries.
Application Framework (Java API Framework) : The entire android functionalities are available through the API. It consists of multiple services like Activity Manager, Resource Manager, Notification Manager, etc., which form the environment in which the android application runs.

Applications : The Android application is a top layer and all types of in-built applications such as SMS, Browsers, Contact, etc are included in this top layer. It also includes third-party applications that are installed by the user such as Games, etc.
Android application architecture has the following components. They are as follows :
Services : It will perform background functionalities
Intent : It will perform the inter connection between activities and the data passing mechanism
Resource Externalization : strings and graphics
Notification : light,sound,icon,notification,dialog box,and toast
Content Providers : It will share the data between applications
The APK file or Android application package is the compressed file format that is used to distribute and install application software and middleware onto Google’s Android operating system. The file has .apk extension and has all the application code, resource files, certificates, and other files, compressed in it.