Android Operating System

4 min read ⋅ 90 views

Android’s History

It’s been almost 10 years since the first commercial Android phone was presented to the public. The company Android Inc was founded in October 2003 in Palo Alto, California by its four founders: Rich Miner, Nick Sears, Chris White, and Andy Rubin. The next big chapter for the Android was when Android Inc was acquired by Google in 2005.

Android is a mobile operating system, based on a customized version of the Linux kernel (The Linux kernel is an open-source monolithic Unix-like computer operating system kernel) and other open source software designed to suit Google’s directions. Starting 2017, Android devices are using versions 3.18 or 4.4 of the Linux kernel, depending on the device model.

The operating system since its appearing has gone through few major releases, with the current version being 8.1 "Oreo", released in December 2017 and Android P to be revealed on this year’s Google IO.

The main Android source code is known as Android Open Source Project (AOSP) and is licensed under the Apache License. The decision to make Android an open source OS meant the Android itself could be offered to third-party mobile phone manufacturers.

In November 2007, it was formed a consortium of hardware, software, and telecommunication companies known as Open Handset Alliance, including Google, HTC, Samsung, T-Mobile, Qualcomm and many others with the goal of contributing to the development of the Android OS.

Each time the OHA releases an Android version, it names the release after a dessert. Android 1.5 is known as Cupcake, 1.6 as Donut, 2.0/2.1 as Eclair, 2.2 as Froyo, 2.3 is dubbed Gingerbread, 3.0 as Honeycomb,4.0 as Ice Cream Sandwich, 4.1-4.3 as Jelly Bean, 4.4 as KitKat, 5.0 as Lollipop, 6.0 as Marshmallow, 7.0 as Nougat and 8.0 Oreo. Once a version is released, so is its source code.

Development

The Applications in the Android OS are written using the Android Software Development Kit (SDK) and often, the Java programming language. Android Standard Development Kit includes an awesome set of tools as a debugger, software libraries, documentation, code samples and tutorials, development tools and emulator based on QEMU. At first, Android's supported integrated development environment (IDE) was Eclipse and was using the Android Development Tools (ADT) plugin; in December 2014, Google released Android Studio, based on IntelliJ IDEA, as its primary IDE for Android application development.

On the other hand, Java may be combined with C/C++. In May 2017, Google announced that Kotlin programming language is now an official language on Android app development.

Kotlin contains safety features for nullability and immutability, to make the Android apps healthy and performant by default. Using lambdas it simplifies the code, there is less boilerplate code and the best thing is safer code while avoiding the Java NullPointerExceptions.

The main hardware platform for Android is ARM (the ARMv7 and ARMv8-A architectures), with x86, MIPS and MIPS64, and x86-64 architectures also officially supported in later versions of Android.

Google Play Protect

Google Play Protect is built-in malware protection that should keep users safe from malware attacks for Android. Backed by the strength of Google's machine learning algorithms, it is always improving in real time. That means that the Android device it is automatically scanned and upgrading itself to the latest mobile security. Every Android application must undergo security testing before it appears on the Google Play Store. That way, no matter where the users get the app from, they will be sure that it’s been checked by Google Play Protect and it is secure.

Memory management

Since Android devices are usually battery-powered, it is of big importance to keep power consumption to a minimum. When an application is not in use the system suspends its operation so that, while available for immediate use rather than closed, it does not use battery power or CPU resources. Android could manage the applications stored in memory so all inactive processes are automatically closed when memory is low.

Advantages

No other smartphone platform allows so much flexibility in customizing desktop screens per their user's liking. Some Android phones have 3, others have 5, while still others have 7 screens. The screens can be populated with shortcuts of the apps, or widgets that display news headlines, weather, different search boxes etc.

Android-based applications are highly customizable and easier to manage. Being an open source platform, it allows developers to use their imagination and turn their creativity into reality and build advanced and interactive apps. No other platform offers you this creative freedom. Developers have an easy way to fix, improve and update their apps thanks to the facilities that Android tools provide them.

Android also offers a comprehensive menu. You access the menu in different ways on different phones, but none of them make it difficult to find. From the menu, the user can click on the neatly organized icons to access apps and features like the Google Play Store and many more, also the user can reorganize the position of the icons to their liking.

The Android interface varies slightly depending on the model of the phone or tablet, but in general, the software itself has become more improved over time.

The Bottom Line

Android possess a stronghold in the market and it’s a growing trend in the industry of mobile. Apple’s iOS is the biggest competitor to Android OS, and that competition doesn’t look like it will change any soon. The iPhone tries to create the best user experience by keeping it close within the company and restricting hardware and software standards. Opposite to that Android tries to ensure it by opening up as much of the operating system as possible.

The big variation of devices and sizes using Android means it takes significant delays for software updates, which means new versions of the operating system and security patches are taking months before reaching consumers. 





MORE ARTICLES

Comparison of Continuous Integration Tools

A review of the features offered by Travis CI and Circle CI

Primitive Data Types in Python 3

Introduction to Python 3 primitive data types

Continuous Integration: code quality and code review tools

Continuous integration best practices tools