Android is a Linux-based operatingsystem designed primarilyfor touchscreen mobile devicessuch as smartphones and tabletcomputers.
Android is open source and Googlereleases the code underthe Apache License. This opensource code and permissivelicensing allows the software to befreely modified and distributed bydevice manufacturers, wirelesscarriers and enthusiast developers.
Androids user interface is basedon direct manipulation, usingtouch inputs that looselycorrespond to real-world actions,like swiping, tapping, pinchingand reverse pinching tomanipulate on-screen objects.
Android devices boot to thehomescreen, the primarynavigation and information pointon the device, which is similar tothe desktop found on PCs.
Android homescreens are typicallymade up of app icons and widgets;app icons launch the associatedapp, whereas widgets display live,auto-updating content such as theweather forecast, the users emailinbox, or a news ticker directly onthe homescreen.
Android is developed in private byGoogle until the latest changes andupdates are ready to be released, atwhich point the source code is madeavailable publicly.
This source code will only runwithout modification on selectdevices, usually the Nexus seriesof devices. With many devices,there are proprietary componentswhich have to be provided by themanufacturer, in order forAndroid to work.
Android has a growing selection of thirdparty applications, which can be acquiredby users either through an app storesuch as Google Play or the AmazonAppstore, or by downloading andinstalling the applications APK file froma third-party site.
Applications are developed inthe Java language usingthe Android software developmentkit (SDK). The SDK includes acomprehensive set of developmenttools,includinga debugger, software libraries, ahandset emulator based on QEMU,documentation, sample code, andtutorials.
In order to work aroundlimitations on reaching Googleservices due to Internetcensorship in the PeoplesRepublic of China, Androiddevices sold in the PRC aregenerally customized to usestate approved services instead.
Android consists of a kernel based on Linuxkernel version 2.6 and, from Android 4.0 IceCream Sandwich onwards, version 3.x,with middleware,libraries and APIs writtenin C, and application software running onan application framework which includes Java-compatible libraries based on ApacheHarmony.
Androids linux kernel has furtherarchitecture changes by Google outsidethe typical Linux kernel developmentcycle. Android does not have a nativeXWindow System by default nor does itsupport the full set ofstandard GNU libraries, and this makes itdifficult to port existing Linuxapplications or libraries to Android.
Since Android devices are usuallybattery-powered, Android isdesigned to manage memory (RAM)to keep power consumption at aminimum, in contrast to desktopoperating systems which generallyassume they are connected tounlimited mains electricity.
Android manages the apps storedin memory automatically: whenmemory is low, the system willbegin killing apps and processesthat have been inactive for a while,in reverse order since they werelast used (i.e. oldest first).
Google provides majorupdates, incremental innature, to Android every six tonine months, which mostdevices are capable ofreceiving over the air. Thelatest major update is Android4.2 Jelly Bean.
Research company Canalys estimatedin the second quarter of 2009 thatAndroid had a 2.8% share ofworldwide smartphone shipments. By the fourth quarter of 2010 this hadgrown to 33% of the market, becomingthe top-selling smartphone platform.
Respecfully submittedto Prof. Erwin M. Globio, MSIT