Android OS


    Android Open-Source Project 


Android is an open source and Linux-based Operating System for mobile devices such as smartphones and tablet computers. Android was developed by the Open Handset Alliance, led by Google, and other companies.

      Android offers a unified approach to application development for mobile devices which means developers need only develop for Android, and their applications should be able to run on different devices powered by Android.

     The source code for Android is available under free and open source software licenses. Google publishes most of the code under the Apache License version 2.0 and the rest, Linux kernel changes, under the GNU General Public License version 2.



Features


Android is a powerful operating system competing with Apple 4GS and supports great features. Few of them are listed below:

Sr.No
Feature & Description
1
Beautiful UI
Android OS basic screen provides
 a beautiful and intuitive user interface.
2
Connectivity
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
 Bluetooth, Wi-Fi, LTE, NFC and WiMAX.
3
Storage
SQLite, a lightweight relational database, 
is used for data storage purposes.
4
Media support
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, 
 HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, 
WAV, JPEG, PNG, GIF, and BMP.
5
Messaging
SMS and MMS
6
Web browser
Based on the open-source WebKit layout engine, coupled with 
Chrome's V8 JavaScript engine supporting HTML5 and CSS3.
7
Multi-touch
Android has native support for multi-touch which was initially
 made available in handsets such as the HTC Hero.
8
Multi-tasking
User can jump from one task to another and same time 
various application can run simultaneously.
9
Resizable widgets
Widgets are resizable, so users can expand them to 
show more content or shrink them to save space.
10
Multi-Language
Supports single direction and bi-directional text.
11
GCM
Google Cloud Messaging (GCM) is a service that lets 
developers send short message data to their users on 
Android devices, without needing a proprietary sync solution.
12
Wi-Fi Direct
A technology that lets apps discover and pair directly, 
over a high-bandwidth peer-to-peer connection.
13
Android Beam
A popular NFC-based technology that lets users 
instantly share, just by touching two NFC-enabled phones together.

15 new features in Google’s latest Android operating system


Google at its annual developer conference Google I/O 2018 showcased the next big Android OS release, dubbed as Android P. According to Google, Android P is all about simplicity, intelligence and digital well-being. It will leverage machine learning and artificial intelligence to take care of obvious settings on the smartphone. Also, the next Android version, Android P, is the first version of Android to highlight and pay attention on digital well-being and importance to balance phone and personal family time.


1.    New system navigation: Interface is more gesture-based

   
   Android P comes with a brand new system navigation which is predominantly gesture-based and intuitive. Google says this will be helpful with phones getting taller. There is a single home button, you can swipe up to see a newly designed Overview. It will provide previews of the recently used apps.


2.    Smart Text Selection: Get relevant suggestions
    
   
    In constantly switching between apps, Smart Text Selection recognises the meaning of the text you are selecting and suggests relevant actions. It now works in Overview, making it easier to perform the action you want.


3.  Smart Text Selection: Get relevant suggestions
   
      
   Auto-rotate now sees a big improvement. A new rotation icon will pop up beside the navigation icons to let you choose whether you want to actually rotate the screen or not, for apps which are otherwise always used on portrait mode, like Gmail. This will prevent accidental auto-rotate, which is frustrating at times.


4.   Smart volume function: Prevents you from accidentally muting your phone

     
   It’s irritating to end up lowering the volume of the ringer instead when you actually want to turn down the volume of the song or video that you are playing. The volume interface is now shown vertically and keeps the ringer volume to maximum. There are pre-set icons like mute, vibration or full ring instead.


5.  Adaptive battery: Squeeze maximum battery life
    
       
   In Android P, Google has partnered with DeepMind to build Adaptive Battery, which prioritises battery power only for the apps and services you use the most. This will help you to squeeze the most out of your smartphone battery.


6.  Adaptive brightness: Machine learning to learn surroundings

      
    Google has deployed used machine learning to create Adaptive Brightness, which learns how you like to set the brightness slider given your surroundings.


7.   App Actions: Predicts your next move better

     
   Android P aims to offer smarter suggestions and predict your next move better with App Actions. For example, if you are connected to your headphones to your device, Android will surface an action to resume your favourite Spotify playlist.


8.   Slices: More insights on simple Google searches

    
   A new feature called Slices offers a deeper look into favourite apps. For example, if you search for “Lyft” in Google Search, you can see an interactive Slice that gives you the price and time for a trip to work.


9.  ML Kit: Machine learning for all

       
    Google has announced ML Kit for developers who are not much proficient on machine learning. It is a new set of cross-platform APIs available through Firebase. ML Kit offers developers on-device APIs for text recognition, face detection, image labelling and more. So mobile developers can building apps-based on machine learning easily.


10.   Redesigned Quick Settings: Simplified ways to take screenshots and more

     
    Android P brings a redesigned interface for Quick Settings. It offers a better way to edit, simplified volume controls, an easier way to manage notifications and more.


11.  Android Dashboard: Focus on digital well-being

     
    Android Dashboard will take care of digital well-being. It will understand your habits, focus on what matters and will tell you to switch-off apps and spend time with family. For example, if you watch too much of YouTube or any other app, the Android dashboard will suggest you to take a break and talk to your family or friends.


12.    App Timer: Set time limits to app usage

      
    A new App Timer feature lets you set time limits on apps, and will nudge you when you are close to your limit and then grey out the icon to remind you of your goal.


13.   Shush mode: The new DND mode

      
    The new Shush mode is an upgrade of Do Not Disturb mode and silences not just the phone calls and notifications, but also all the visual interruptions that pop up on your screen. Also, if you turn your phone over on the table, it automatically enters Do Not Disturb mode.



14.   Wind Down mode: Helps you sleep better

     
    Wind Down will switch on Night Light when it gets dark, and it will turn on Do Not Disturb and fade the screen to grayscale at your chosen bedtime to help you remember to get to sleep at the time you want.


15.   Improved Security and Privacy

      
    Along with these features, Android P offers security and privacy improvements such as DNS over TLS, encrypted backups, protected confirmations and more.



Development


    Android is developed by Google until the latest changes and updates are ready to be released, at which point the source code is made available to the Android Open Source Project (AOSP), an open source initiative led by Google.

 The AOSP code can be found without modification on select devices, mainly the Nexus and Pixel series of devices. The source code is, in turn, customized and adapted by original equipment manufacturers (OEMs) to run on their hardware. 

    Also, Android's source code does not contain the often proprietary device drivers that are needed for certain hardware components. As a result, most Android devices, including Google's own, ultimately ship with a combination of free and open source and proprietary software, with the software required for accessing Google services falling into the latter category.


Architecture


Android is an open source, Linux-based software stack created for a wide array of devices and form factors. The following diagram shows the major components of the Android platform.



System Apps

Android comes with a set of core apps for email, SMS messaging, calendars, internet browsing, contacts, and more. Apps included with the platform have no special status among the apps the user chooses to install. So a third-party app can become the user's default web browser, SMS messenger, or even the default keyboard (some exceptions apply, such as the system's Settings app).
     The system apps function both as apps for users and to provide key capabilities that developers can access from their own app.

     For example, 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.



Java API Framework

The entire feature-set of the Android OS is available to you through APIs 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:
  • A rich and extensible View System you can use to build an app’s UI, including lists, grids, text boxes, buttons, and even an embeddable web browser
  • Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
  • Notification Manager that enables all apps to display custom alerts in the status bar
  • An Activity Manager that manages the lifecycle of apps and provides a common navigation back stack
  • Content Providers that enable apps to access data from other apps, such as the Contacts app, or to share their own data

Developers have full access to the same framework APIs that Android system apps use.



Native C/C++ Libraries

Many core Android system components and services, such as ART and HAL, are built from native code that require native libraries written in C and C++.

     The Android platform provides Java framework APIs to expose the functionality of some of these native libraries to apps.

     For example, you can access OpenGL ES through the Android framework’s Java OpenGL API to add support for drawing and manipulating 2D and 3D graphics in your app.  If you are developing an app that requires C or C++ code, you can use the Android NDK to access some of these native platform libraries directly from your native code.



Android Runtime

For devices running Android version 5.0 (API level 21) or higher, each app runs in its own process and with its own instance of the Android Runtime (ART). ART is written to run multiple virtual machines on low-memory devices by executing DEX files, a bytecode format designed specially for Android that's optimized for minimal memory footprint.

Build toolchains, such as Jack, compile Java sources into DEX bytecode, which can run on the Android platform.

        Some of the major features of ART include the following:
  • Ahead-of-time (AOT) and just-in-time (JIT) compilation
  • Optimized garbage collection (GC)
  • Better debugging support, including a dedicated sampling profiler, detailed diagnostic exceptions and crash reporting, and the ability to set watchpoints to monitor specific fields
      Prior to Android version 5.0 (API level 21), Dalvik was the Android runtime. If your app runs well on ART, then it should work on Dalvik as well, but the reverse may not be true.
       Android also includes a set of core runtime libraries that provide most of the functionality of the Java programming language, including some Java 8 language features, that the Java API framework uses.



Hardware Abstraction Layer (HAL)

The foundation of the Android platform is the Linux kernel. For example, the Android Runtime (ART) relies on the Linux kernel for underlying functionalities such as threading and low-level memory management.
       Using a Linux kernel allows Android to take advantage of key security features and allows device manufacturers to develop hardware drivers for a well-known kernel.



The Linux Kernel

The hardware abstraction layer (HAL) provides standard interfaces that expose device hardware capabilities to the higher-level Java API framework.

    The HAL consists of multiple library modules, each of which implements an interface for a specific type of hardware component, such as the camera or bluetooth module.

     When a framework API makes a call to access device hardware, the Android system loads the library module for that hardware component.



Security Technology / Model


Design Review

The Android security process begins early in the development lifecycle with the creation of a rich and configurable security model and design.

     Each major feature of the platform is reviewed by engineering and security resources, with appropriate security controls integrated into the architecture of the system.


Penetration Testing And Code Review

During the development of the platform, Android-created and open source components are subject to vigorous security reviews.

   These reviews are performed by the Android Security Team, Google’s Information Security Engineering team, and independent security consultants.

    The goal of these reviews is to identify weaknesses and possible vulnerabilities well before major releases, and to simulate the types of analysis that will be performed by external security experts upon release.



Open Source And Community Review

The Android Open Source Project enables broad security review by any interested party. Android also uses open source technologies that have undergone significant external security review, such as the Linux kernel.

Google Play provides a forum for users and companies to provide information about specific applications directly to users.



Incident Response

Even with all of these precautions, security issues may occur after shipping, which is why the Android project has created a comprehensive security response process.

      Full-time Android security team members monitor Android-specific and the general security community for discussion of potential vulnerabilities and review security bugs filed on the Android bug database.

        Upon the discovery of legitimate issues, the Android team has a response process that enables the rapid mitigation of vulnerabilities to ensure that potential risk to all Android users is minimized.

     These cloud-supported responses can include updating the Android platform (over-the-air updates), removing applications from Google Play, and removing applications from devices in the field.



Monthly Security Updates

The Android security team provides monthly updates to Google Nexus devices and all of our device manufacturing partners.



Version History 


Android versions 1.0 to 1.1: The early days

Android made its official public debut in 2008 with Android 1.0 — a release so ancient it didn't even have a cute codename.
Things were pretty basic back then, but the software did include a suite of early Google apps like Gmail, Maps, Calendar and YouTube, all of which were integrated into the operating system 
a stark contrast to the more easily updatable standalone-app model employed today.





Android version 1.5: Cupcake

Although not the very first version from Google after buying the company Android, Version 1.5 is considered as the first prominent version that highlighted the true power of its platform.
      
       With this version, in fact, Google kicked off the trend of naming its versions after yummy desserts. The many novel features associated with the Cupcake version include third-party keyboard and direct upload to YouTube.





Android version 1.6: Donut

Released in 2009, Android Version 1.6 has been code named as “Donut,” after the tasty ring-shaped delicacy. Its specialties like enhanced user experience, text-to speech support, improved video aspects and refined search integration helped Google to get itself rooted firmly in the highly competitive Smartphone market.

       Larger screen-size support and turn-by-turn navigation facilities were the other sweet coatings on the donut version.





Android versions 2.0 to 2.1: Eclair

Named after those oblong baked pastries with chocolate filling, Android 2.0 was released in October 2009. The bug fix version named as 2.0.1 soon followed a couple of months later in December 2009. Then in January 2010, out came Android 2.1 with added animation features.

       However, the three versions are often considered as a single release. Google map navigation is its highlighted feature. Other celebrated features of Version Éclair include flash and digital zoom options for camera, live wallpapers, multi-touch support mechanism and of course, Bluetooth 2.1 support.





Android version 2.2: Froyo

The next one in the queue, Android 2.2 is about sheer speed and nothing else. Short for Frozen Yoghurt, Google got this version’s speed technically enhanced. Yet another unique characteristic feature was its uniquely redesigned home screen. It ensured better functionality for the device, with the entire process streamlined.





Android version 2.3: Gingerbread

Named after the popular ginger-flavored cookies, Android version 2.3 looked new and fresh in various ways. A few of its unique features included several cameras, SIP internet calling, download manager, a few sensors like a barometer, gravimeter etc.





Android 3.0 to 3.2: Honeycomb

Google introduced Android 3.0 in February 2011 and called it, Honeycomb. Made for tablets, versions 3.1 and 3.2 followed in rapid succession. Gingerbread was, in fact, Android’s very first tablet-only update.





Android version 4.0: Ice Cream Sandwich

Version 4.0 was the outcome of Google’s plan to get the tablet-only platform of Honeycomb synthesized with a mobile platform. Dubbed as Ice-cream Sandwich, enhanced functionality was not the only big change that it brought in. In terms of design too, there were drastic changes.

     Introduction of default font was another highlight of Ice-cream Sandwich. From this version onwards, Google effectively brought all its services under the umbrella, ‘Google Play’.





Android versions 4.1 to 4.3: Jelly Bean

Although primarily meant to enhance functionality and improve user interface, “Google Now” was indeed the most innovative aspect of Version 4.1. Nicknamed as Jelly Bean, here was something that could correctly guess what you are up to search, before you actually go looking for it.

     Apart from the predictive feature, highly interactive notifications too made Jelly Bean stand out from the rest. Version 4.1 was also noted for its unique in- built speech-to-text engine, popularly referred to as ‘voice typing’. The outcome has been an overall performance enhancement that assured an absolutely buttery smooth user interface.





Android version 4.4: KitKat

Google officially unveiled Android version 4.4, which it named as Kitkat, in 2013. Nestle offered full support and even kicked off a special ad campaign on its release.

     However, the code name that Google had initially associated with Android 4.4 was “Key Lime Pie”. The name was later changed to Kitkat as they thought key lime pie was not a very popular dessert.

     Google wanted a dessert name that is known by all, and hence partnered with Nestle for the code name Kitkat. Version 4.4 debuted on Nexus 5, and can effectively run on quite many devices compared to earlier Android versions.

    ‘Google Now’ feature, introduced initially in Jelly Bean was taken even ahead with the introduction of Kitkat. Earlier, you had to touch the gadget to open up the smart artificial intelligence (AI) assistant. Now with Jelly Bean, all you got to do to initiate the search is to utter the required phrase to the gadget.

     Another advantage of Version 4.4 was that now the operating system could run even on devices with lower RAM. 512 MB RAM was the recommended minimum. The introduction of Emoji on Google’s keyboards was yet another unique aspect of Kitkat.





Android versions 5.0 and 5.1: Lollipop

With Version 5.0, popularly referred to as Lollipop, Android could simply spread across a wide range of devices from smart phones to televisions and even to smart watches. Lollipop came out with a brand new runtime. Battery saving feature ensures excellent battery life on these various devices. It saves your phone from damage even while its battery is running low.





Android version 6.0: Marshmallow

Android 6.0, named Marshmallow, has been released under the code name Android M. It has ushered in a fistful of welcome changes that are sure to make a major impact. Doze mode that cuts down the power consumption drastically when the device is idle, opt-in app permission, fully supported USB C, inbuilt fingerprint sensor support system is but a few of them.

It even allows the user to get a MicroSD card formatted and use it as internal storage, enjoying the same security level.





Android versions 7.0 and 7.1: Nougat

Google's 2016 Android Nougat releases provided Android with a native split-screen mode, a new bundled-by-app system for organizing notifications and a Data Saver feature. Nougat added some smaller but still significant features, too, like an Alt-Tab-like shortcut for snapping between apps.




Android version 8.0 and 8.1: Oreo

And that brings us to 2017's Android 8.x Oreo release. Oreo adds a variety of niceties to the platform, including a native picture-in-picture mode, a notification snoozing option and notification channels that offer fine control over how apps can alert you. 
      Oreo adds several significant features to the operating system, including a new picture-in-picture mode.
     Oreo also includes some noteworthy elements that further Google's goal of aligning Android and Chrome OS and improving the experience of using Android apps on Chromebooks ( something likely to be an increasingly important focus in the months and years ahead. )

Of course, all those versions that have been rolled out by Google till now have been sweet. Still sweeter ones are yet to come and steal the show. Android P, the next in line is already underway with its developer preview already released.




Android 'P'

The yet-to-be-named (or numbered) Android P release is currently in a public beta preview as Google gears up for its late-summer launch.
  Things could still evolve between now and that final release. But at the moment, Android P's most transformative change is its wacky new gesture navigation system — which trades the traditional Android Back, Home and Overview keys for a single multifunctional Home button and a series of gesture-based commands.
  Android P boasts numerous noteworthy new productivity features, too, including a universal suggested-reply system for messaging notifications; a more effective method of screenshot management; and more intelligent systems for power management and screen brightness control. The final software will also introduce a new series of "digital well-being" controlsintended to help with the ever-present challenge of balancing the digital and physical world.
  The P release has plenty of under-the-hood improvements as well, including a variety of significant privacy and security enhancements. And the software sports a fair share of visual tweaks, such as an updated look for notifications and the neighboring Quick Settings panel and an ambitious series of added animations all throughout the interface.
  According to Google's development timeline, Android P will see one more beta update in June and then two release candidates in the final weeks of testing. The software is then slated to make its official public debut sometime between July and September.  


References


No comments:

Post a Comment