Android sdk android version

Android version history - Wikipedia

Global Android version distribution since December 2009 Global Android version distribution as of August 2017. Android Marshmallow is the most widely used version of Android, running on 32.2% of all Android devices accessing Google Play, while Android Lollipop runs on 29.8% of devices (76.8% on it or newer).

The version history of the Android mobile operating system began with the public release of the Android beta in November 5, 2007. The first commercial version, Android 1.0, was released in September 2008. Android is continually developed by Google and the Open Handset Alliance, and it has seen a number of updates to its base operating system since the initial release.

Versions 1.0 and 1.1 were not released under specific code names. Android code names are confectionery-themed and have been in alphabetical order since 2009's Android 1.5 Cupcake, with the most recent major version being Android 8.0 Oreo, released in August 2017.

Code name Version number Initial release date API level Security patches[1]
(No codename)[2] 1.0 September 23, 2008 1 Unsupported
(Internally known as "Petit Four")[2] 1.1 February 9, 2009 2 Unsupported
Cupcake 1.5 April 27, 2009 3 Unsupported
Donut[3] 1.6 September 15, 2009 4 Unsupported
Eclair[4] 2.0 – 2.1 October 26, 2009 5 – 7 Unsupported
Froyo[5] 2.2 – 2.2.3 May 20, 2010 8 Unsupported
Gingerbread[6] 2.3 – 2.3.7 December 6, 2010 9 – 10 Unsupported
Honeycomb[7] 3.0 – 3.2.6 February 22, 2011 11 – 13 Unsupported
Ice Cream Sandwich[8] 4.0 – 4.0.4 October 18, 2011 14 – 15 Unsupported
Jelly Bean[9] 4.1 – 4.3.1 July 9, 2012 16 – 18 Unsupported
KitKat[10] 4.4 – 4.4.4 October 31, 2013 19 – 20 Supported;[11]See clarification
Lollipop[12] 5.0 – 5.1.1 November 12, 2014 21 – 22 Supported
Marshmallow[13] 6.0 – 6.0.1 October 5, 2015 23 Supported
Nougat[14] 7.0 – 7.1.2 August 22, 2016 24 – 25 Supported
Oreo 8.0 August 21, 2017 26 Supported

Note: To clarify, support for e.g. Android 4.4.4 KitKat (Google's support cut-off), means at least security patches in 2014, 2016 and up to and including at least September 2017.[15] The updates may or may not reach actual users' devices; that depends on vendors. Google (and others) may support their own users' devices with a major upgrade only, instead of a security update to those older versions, but it's possible to do.

A version of Android KitKat exclusive to Android Wear devices was released on June 25, 2014, with an API level of 20.

Pre-commercial release versions

The development of Android started in 2003 by Android, Inc., which was purchased by Google in 2005.[16]


There were at least two internal releases of the software inside Google and the OHA before the beta version was released.[17][18] The code names "Astro Boy" and "Bender" were used internally for some pre-1.0 milestones.[2]

Dan Morrill created some of the first mascot logos, but the current Android logo was designed by Irina Blok.[19] The project manager, Ryan Gibson, conceived the confectionery-themed naming scheme that has been used for the majority of the public releases, starting with Android 1.5 Cupcake.


The beta was released on November 5, 2007,[20][21] while the software development kit (SDK) was released on November 12, 2007.[22] The November 5 date is popularly celebrated as Android's "birthday".[23] Public beta versions of the SDK were released in the following order:[24]

  • November 12, 2007: m3-rc20a (milestone 3, release code 20a)[25]
  • November 16, 2007: m3-rc22a (milestone 3, release code 22a)[26]
  • December 14, 2007: m3-rc37a (milestone 3, release code 37a)[27]
  • February 13, 2008: m5-rc14 (milestone 5, release code 14)[28]
  • March 3, 2008: m5-rc15 (milestone 5, release code 15)[24]
  • August 18, 2008: 0.9 Beta[29][30]
  • September 23, 2008: 1.0-r1[31][32]

Version history by API level

The following tables show the release dates and key features of all Android operating system updates to date, listed chronologically by their official application programming interface (API) levels.

Android 1.0 (API 1)

Android 1.0 (API 1)

Android 1.0, the first commercial version of the software, was released on September 23, 2008.[33] The first commercially available Android device was the HTC Dream.[34] Android 1.0 incorporated the following features: Version Release date Features
1.0 September 23, 2008
  • Android Market allowed application downloads and updates through the Market application
  • Web browser to show, zoom and pan full HTML and XHTML web pages – multiple pages show as windows ("cards")[35][36]
  • Camera support – however, this version lacked the option to change the camera's resolution, white balance, quality, etc.[37]
  • Folders allowing the grouping of a number of application icons into a single folder icon on the Home screen[38]
  • Access to web email servers, supporting POP3, IMAP4, and SMTP[36]
  • Gmail synchronization with the Gmail application
  • Google Contacts synchronization with the People application
  • Google Calendar synchronization with the Calendar application
  • Google Maps with Street View to view maps and satellite imagery, as well as find local business and obtain driving directions using GPS[37]
  • Google Sync, allowing management of over-the-air synchronization of Gmail, People, and Calendar
  • Google Search, allowing users to search the Internet and phone applications, contacts, calendar, etc.
  • Google Talk instant messaging
  • Instant messaging, text messaging, and MMS
  • Media Player, enabling management, importing, and playback of media files – however, this version lacked video and stereo Bluetooth support[36][37]
  • Notifications appear in the Status bar, with options to set ringtone, LED or vibration alerts[35][36][39]
  • Voice Dialer allows dialing and placing of phone calls without typing a name or number[36]
  • Wallpaper allows the user to set the background image or photo behind the Home screen icons and widgets
  • YouTube video player[40]
  • Other applications include: Alarm Clock, Calculator, Dialer (Phone), Home screen (Launcher), Pictures (Gallery), and Settings
  • Wi-Fi and Bluetooth support

Android 1.1 (API 2)

Android 1.1 (API 2)

On February 9, 2009, the Android 1.1 update was released, initially for the HTC Dream only. Android 1.1 was known as "Petit Four" internally, though this name was not used officially.[2][41] The update resolved bugs, changed the Android API and added a number of features:[42] Version Release date Features
1.1 February 9, 2009
  • Details and reviews available when a user searches for businesses on Maps
  • Longer in-call screen timeout default when using the speakerphone, plus ability to show/hide dialpad
  • Ability to save attachments in messages
  • Support added for marquee in system layouts
On April 27, 2009, the Android 1.5 update was released, based on Linux kernel 2.6.27.[43][44] This was the first release to officially use a codename based on a dessert item ("Cupcake"), a theme which would be used for all releases henceforth. The update included several new features and UI amendments:[45] Version Release date Features Image(s)
1.5 April 27, 2009[43]
  • Support for third-party virtual keyboards with text prediction and user dictionary for custom words
  • Support for Widgets – miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates[46]
  • Video recording and playback in MPEG-4 and 3GP formats
  • Auto-pairing and stereo support for Bluetooth (A2DP and AVRCP profiles)
  • Copy and paste features in web browser
  • User pictures shown for Favorites in Contacts
  • Specific date/time stamp shown for events in call log, and one-touch access to a contact card from call log event
  • Animated screen transitions
  • Auto-rotation option
  • New stock boot animation
  • Ability to upload videos to YouTube
  • Ability to upload photos to Picasa
Android 1.5 home screen
On September 15, 2009, Android 1.6 – dubbed Donut – was released, based on Linux kernel 2.6.29.[47][48][49] Included in the update were numerous new features:[47] Version Release date Features Image(s)
1.6 September 15, 2009[48]
  • Voice and text entry search enhanced to include bookmark history, contacts, and the web
  • Ability for developers to include their content in search results
  • Multi-lingual speech synthesis engine to allow any Android application to "speak" a string of text
  • Easier searching and ability to view app screenshots in Android Market
  • Gallery, camera and camcorder more fully integrated, with faster camera access
  • Ability for users to select multiple photos for deletion
  • Updated technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-speech engine
  • Support for WVGA screen resolutions
  • Speed improvements in searching and camera applications
  • Expanded Gesture framework and new GestureBuilder development tool
Android 1.6 home screen
On October 26, 2009, the Android 2.0 SDK was released, based on Linux kernel 2.6.29 and codenamed Eclair.[50] Changes include the ones listed below.[51] Version Release date Features Image(s)
2.0 October 26, 2009
  • Expanded Account sync, allowing users to add multiple accounts to a device for synchronization of email and contacts
  • Microsoft Exchange email support, with combined inbox to browse email from multiple accounts in one page
  • Bluetooth 2.1 support
  • Ability to tap a Contacts photo and select to call, SMS, or email the person
  • Ability to search all saved SMS and MMS messages, with delete oldest messages in a conversation automatically deleted when a defined limit is reached
  • Numerous new camera features, including flash support, digital zoom, scene mode, white balance, color effect and macro focus
  • Improved typing speed on virtual keyboard, with smarter dictionary that learns from word usage and includes contact names as suggestions
  • Refreshed browser UI with bookmark thumbnails, double-tap zoom and support for HTML5
  • Calendar agenda view enhanced, showing attending status for each invitee, and ability to invite new guests to events
  • Optimized hardware speed and revamped UI
  • Support for more screen sizes and resolutions, with better contrast ratio
  • Improved Google Maps 3.1.2
  • MotionEvent class enhanced to track multi-touch events[52]
  • Addition of live wallpapers, allowing the animation of home-screen background images to show movement
Android 2.0 home screen
On May 20, 2010, the SDK for Android 2.2 (Froyo, short for frozen yogurt) was released, based on Linux kernel 2.6.32.[55] Version Release date Features Image(s)
2.2 May 20, 2010
  • Speed, memory, and performance optimizations[56]
  • Additional application speed improvements, implemented through JIT compilation[57]
  • Integration of Chrome's V8 JavaScript engine into the Browser application
  • Support for the Android Cloud to Device Messaging (C2DM) service, enabling push notifications
  • Improved Microsoft Exchange support, including security policies, auto-discovery, GAL look-up, calendar synchronization and remote wipe
  • Improved application launcher with shortcuts to Phone and Browser applications
  • USB tethering and Wi-Fi hotspot functionality[58]
  • Option to disable data access over mobile network
  • Updated Market application with batch and automatic update features[56]
  • Quick switching between multiple keyboard languages and their dictionaries
  • Support for Bluetooth-enabled car and desk docks
  • Support for numeric and alphanumeric passwords
  • Support for file upload fields in the Browser application[59]
  • The browser now shows all frames of animated GIFs instead of just the first frame only
  • Support for installing applications to the expandable memory
  • Adobe Flash support[60]
  • Support for high-PPI displays (up to 320 ppi), such as four-inch 720p screens[61]
  • Gallery allows users to view picture stacks using a zoom gesture
Android 2.2 home screen
2.2.1 January 18, 2011
  • Bugfixes, security updates and performance improvements
2.2.2 January 22, 2011
  • Minor bugfixes, including SMS routing issues that affected the Nexus One[62]
2.2.3 November 21, 2011[63]
On December 6, 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35.[64][65] Changes included:[64] Version Release date Features Image(s)
2.3 December 6, 2010[65]
  • Updated user interface design with increased simplicity and speed
  • Support for extra-large screen sizes and resolutions (WXGA and higher)[61]
  • Native support for SIP VoIP internet telephony
  • Faster, more intuitive text input in virtual keyboard, with improved accuracy, better suggested text and voice input mode
  • Enhanced copy/paste functionality, allowing users to select a word by press-hold, copy, and paste
  • Support for Near Field Communication (NFC), allowing the user to read an NFC tag embedded in a poster, sticker, or advertisement
  • New audio effects such as reverb, equalization, headphone virtualization, and bass boost
  • New Download Manager, giving users easy access to any file downloaded from the browser, email, or another application
  • Support for multiple cameras on the device, including a front-facing camera, if available
  • Support for WebM/VP8 video playback, and AAC audio encoding
  • Improved power management with a more active role in managing applications that are keeping the device awake for too long
  • Enhanced support for native code development
  • Switched from YAFFS to ext4 on newer devices[66][67]
  • Audio, graphical, and input enhancements for game developers
  • Concurrent garbage collection for increased performance
  • Native support for more sensors (such as gyroscopes and barometers)
  • First Android version to feature an Easter egg. It was an image of the Bugdroid standing next to a zombie gingerbread man, with many more zombies in the background.
Android 2.3 home screen
2.3.1 December 2010
  • Improvements and bugfixes for the Nexus S
2.3.2 January 2011
  • Improvements and bugfixes for the Nexus S
Version Release date Features Image(s)
2.3.3 February 9, 2011
  • Several improvements and API fixes[68]
Android 2.3 home screen
2.3.4 April 28, 2011[69]
  • Support for voice or video chat using Google Talk[70]
  • Open Accessory Library support. Open Accessory was introduced in 3.1 (Honeycomb) but the Open Accessory Library grants 2.3.4 added support when connecting to a USB peripheral with compatible software and a compatible application on the device[71]
  • Switched the default encryption for SSL from AES256-SHA to RC4-MD5.[72][73]
2.3.5 July 25, 2011
  • Improved network performance for the Nexus S 4G, among other fixes and improvements
  • Fixed Bluetooth bug on Samsung Galaxy S
  • Improved Gmail application
  • Shadow animations for list scrolling
  • Camera software enhancements[74]
  • Improved battery efficiency
2.3.6 September 2, 2011[75]
  • Fixed a voice search bug[a]
2.3.7 September 21, 2011
On February 22, 2011, the Android 3.0 (Honeycomb) SDK – the first tablet-only Android update – was released, based on Linux kernel 2.6.36.[78][79][80][81] The first device featuring this version, the Motorola Xoom tablet, was released on February 24, 2011.[82] The update's features included:[78] Version Release date Features Image(s)
3.0 February 22, 2011[80]
  • Optimized tablet support with a new “holographic” user interface
  • New Easter egg. This time it is an image of a Tron themed bumblebee.
  • Added System Bar, featuring quick access to notifications, status, and soft navigation buttons, available at the bottom of the screen
  • Added Action Bar, giving access to contextual options, navigation, widgets, or other types of content at the top of the screen
  • Simplified multitasking – tapping Recent Applications in the System Bar allows users to see snapshots of the tasks underway and quickly jump from one application to another
  • Redesigned keyboard, making typing fast, efficient and accurate on larger screen sizes
  • Simplified, more intuitive copy/paste interface
  • Multiple browser tabs replacing browser windows, plus form auto-fill and a new “incognito” mode allowing anonymous browsing
  • Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-lapse, and other camera features
  • Ability to view albums and other collections in full-screen mode in Gallery, with easy access to thumbnails for other photos
  • New two-pane Contacts UI and Fast Scroll to let users easily organize and locate contacts
  • New two-pane Email UI to make viewing and organizing messages more efficient, allowing users to select one or more messages
  • Hardware acceleration
  • Support for multi-core processors
  • Ability to encrypt all user data
  • HTTPS stack improved with Server Name Indication (SNI)
  • Filesystem in Userspace (FUSE; kernel module)
  • Disallows applications from having write access to secondary storage (memory cards on devices with internal primary storage) outside of designated, application-specific directories. Full access to primary internal storage is still allowed through a separate application-level permission.[83][84]
Android 3.0 home screen
Version Release date Features Image(s)
3.1 May 10, 2011[85]
  • UI refinements
  • Connectivity for USB accessories (USB On-The-Go).
  • Expanded Recent Applications list
  • Resizable Home screen widgets
  • Support for external keyboards and pointing devices
  • Support for joysticks and gamepads
  • Support for FLAC audio playback[86][87]
  • High-performance Wi-Fi lock, maintaining high-performance Wi-Fi connections when device screen is off
  • Support for HTTP proxy for each connected Wi-Fi access point
Android 3.1 home screen
Version Release date Features Image(s)
3.2 July 15, 2011[88]
  • Improved hardware support, including optimizations for a wider range of tablets
  • Increased ability of applications to access files on the SD card, e.g. for synchronization
  • Compatibility display mode for applications that have not been optimized for tablet screen resolutions
  • New display support functions, giving developers more control over display appearance on different Android devices[89]
Android 3.2 home screen
3.2.1 September 20, 2011
  • Bugfixes and minor security, stability and Wi-Fi improvements
  • Update to Android Market with automatic updates and easier-to-read Terms and Conditions text
  • Update to Google Books
  • Improved Adobe Flash support in browser
  • Improved Chinese handwriting prediction
3.2.2 August 30, 2011
  • Bugfixes and other minor improvements for the Motorola Xoom 4G
3.2.3 August 30, 2011 [89]
  • Bugfixes and other minor improvements for the Motorola Xoom and Motorola Xoom 4G
3.2.4 December 2011
  • Pay As You Go for 3G and 4G tablets
3.2.5 January 2012
  • Bugfixes and other minor improvements for the Motorola Xoom and Motorola Xoom 4G
3.2.6 February 2012
  • Fixed data connectivity issues when coming out of airplane mode on the US 4G Motorola Xoom
The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1,[90] was publicly released on October 19, 2011.[91] Google's Gabe Cohen stated that Android 4.0 was "theoretically compatible" with any Android 2.3.x device in production at that time.[92] The source code for Android 4.0 became available on November 14, 2011.[93] Ice Cream Sandwich was the last version to officially support Adobe Systems' Flash player.[94] The update introduced numerous new features:[95][96][97] Version Release date Features Image(s)
4.0 October 18, 2011[95]
  • Major refinements to the "Holo" interface with new Roboto font family
  • Soft buttons from Android 3.x are now available for use on phones
  • Separation of widgets in a new tab, listed in a similar manner to applications
  • Easier-to-create folders, with a drag-and-drop style
  • Improved visual voicemail with the ability to speed up or slow down voicemail messages
  • Pinch-to-zoom functionality in the calendar
  • Integrated screenshot capture (accomplished by holding down the Power and Volume-Down buttons)
  • Improved error correction on the keyboard
  • Ability to access applications directly from lock screen
  • Improved copy and paste functionality
  • Better voice integration and continuous, real-time speech to text dictation
  • Face Unlock, a feature that allows users to unlock handsets using facial recognition software
  • Automatic syncing of browser with users' Chrome bookmarks
  • Data Usage section in settings that lets users set warnings when they approach a certain usage limit, and disable data use when the limit is exceeded
  • Ability to shut down applications from the recent apps list with a swipe[98]
  • Improved camera application with zero shutter lag, time lapse settings, panorama mode, and the ability to zoom while recording
  • Built-in photo editor
  • New gallery layout, organized by location and person
  • Refreshed "People" application with social network integration, status updates and hi-res images
  • Android Beam, a near-field communication feature allowing the rapid short-range exchange of web bookmarks, contact info, directions, YouTube videos and other data
  • Support for the WebP image format[86]
  • Hardware acceleration of the UI[99]
  • Wi-Fi Direct[100]
  • 1080p video recording for stock Android devices
  • Android VPN Framework (AVF), and TUN (but not TAP) kernel module. Prior to 4.0, VPN software required rooted Android.
Android 4.0 home screen
4.0.1 October 21, 2011
  • Fixed minor bugs for the Samsung Galaxy Nexus.
4.0.2 November 28, 2011
  • Fixed minor bugs on the Verizon Galaxy Nexus, the US launch of which was later delayed until December 2011.[b]
Version Release date Features Image(s)
4.0.3 December 16, 2011[103]
  • Numerous bugfixes and optimizations
  • Improvements to graphics, databases, spell-checking and Bluetooth functionality
  • New APIs for developers, including a social stream API in the Contacts provider
  • Calendar provider enhancements
  • New camera applications enhancing video stabilization and QVGA resolution
  • Accessibility refinements such as improved content access for screen readers[104]
Android 4.0 home screen
4.0.4 March 29, 2012[105]
  • Stability improvements
  • Better camera performance
  • Smoother screen rotation
  • Improved phone number recognition[106]
Google announced Android 4.1 (Jelly Bean) at the Google I/O conference on June 27, 2012. Based on Linux kernel 3.0.31, Jelly Bean was an incremental update with the primary aim of improving the functionality and performance of the user interface. The performance improvement involved "Project Butter", which uses touch anticipation, triple buffering, extended vsync timing and a fixed frame rate of 60 fps to create a fluid and "buttery-smooth" UI.[107] Android 4.1 Jelly Bean was released to the Android Open Source Project on July 9, 2012,[108] and the Nexus 7 tablet, the first device to run Jelly Bean, was released on July 13, 2012. Version Release date Features Image(s)
4.1 July 9, 2012
  • Smoother user interface:
    • Vsync timing across all drawing and animation done by the Android framework, including application rendering, touch events, screen composition and display refresh
    • Triple buffering in the graphics pipeline
    • CPU input boost
    • Synchronizing touch to vsync timing
  • Enhanced accessibility
  • Bi-directional text and other language support
  • User-installable keyboard maps
  • Expandable notifications
  • Ability to turn off notifications on an application-specific basis
  • Shortcuts and widgets can automatically be re-arranged or re-sized to allow new items to fit on home screens
  • Bluetooth data transfer for Android Beam
  • Tablets with smaller screens now use an expanded version of the interface layout and home screen used by phones.[109]
  • Improved camera application
  • Multichannel audio[107]
  • The Fraunhofer FDK AAC codec becomes standard in Android, adding AAC 5.1 channel encoding/decoding
  • USB audio (for external sound DACs)[107]
  • Audio chaining (also known as gapless playback)[107][110][111]
  • Ability for other launchers to add widgets from the application drawer without requiring root access
Android 4.1 home screen
4.1.1 July 11, 2012[112]
  • Fixed a bug on the Nexus 7 regarding the inability to change screen orientation in any application
4.1.2 October 9, 2012[113]
  • Lock/home screen rotation support for the Nexus 7[114]
  • One-finger gestures to expand/collapse notifications[115]
  • Bugfixes and performance enhancements
Google was expected to announce Jelly Bean 4.2 at an event in New York City on October 29, 2012, but the event was cancelled due to Hurricane Sandy.[116] Instead of rescheduling the live event, Google announced the new version with a press release, under the slogan "A new flavor of Jelly Bean". Jelly Bean 4.2 was based on Linux kernel 3.4.0, and debuted on Google's Nexus 4 and Nexus 10, which were released on November 13, 2012.[117][118] Version Release date Features
4.2 November 13, 2012[119]
  • Lock screen improvements, including widget support and the ability to swipe directly to camera[120]
  • Notification power controls ("Quick Settings")
  • "Daydream" screensavers, showing information when idle or docked
  • Multiple user accounts (tablets only)
  • Rewritten Bluetooth stack, switching from Bluez to Broadcom open source BlueDroid,[121] allowing improved support for multiple displays and wireless display (Miracast)
  • Native right-to-left, always-on VPN and application verification.[122] A new NFC stack was added at the same time.[121]
  • Accessibility improvements: triple-tap to magnify the entire screen, pan and zoom with two fingers. Speech output and Gesture Mode navigation for blind users
  • New clock application with built-in world clock, stop watch and timer
  • All devices now use the same interface layout, previously adapted from phones on 4.1 for smaller tablets (with centered software buttons, the system bar at the top of the screen, and a home screen with a dock and centered application menu), regardless of screen size
  • Increased number of extended notifications and Actionable Notifications for more applications, allowing users to respond to certain notifications within the notification bar and without launching the application directly
  • SELinux
  • Premium SMS confirmation[123]
  • Group Messaging
4.2.1 November 27, 2012[124]
  • Fixed a bug in the People application where December was not displayed on the date selector when adding an event to a contact[125]
  • Added Bluetooth gamepads and joysticks as supported HID (Human interface device)
4.2.2 February 11, 2013[126]
  • Fixed Bluetooth audio streaming bugs[127]
  • Long-pressing the Wi-Fi and Bluetooth icons in Quick Settings now toggles the on/off state
  • New download notifications, which now shows the percentage and estimated time remaining for active application downloads
  • New sounds for wireless charging and low battery
  • New Gallery application animation allows faster loading
  • USB debug whitelist
  • Bugfixes and performance enhancements
Google released Jelly Bean 4.3 under the slogan "An even sweeter Jelly Bean" on July 24, 2013, during an event in San Francisco called "Breakfast with Sundar Pichai". Most Nexus devices received the update within a week, although the second-generation Nexus 7 tablet was the first device to officially ship with it.[128] A minor bugfix update was released on August 22, 2013.[129] Version Release date Features
4.3 July 24, 2013[130]
  • Bluetooth low energy support[131]
  • Bluetooth Audio/Video Remote Control Profile (AVRCP) 1.3 support
  • OpenGL ES 3.0 support, allowing for improved game graphics[131]
  • Restricted access mode for new user profiles[131]
  • Filesystem write performance improvement by running fstrim command while device is idle[132]
  • Dial pad auto-complete in the Phone application[131]
  • Volume for incoming calls (ringtone) and notification alerts is no longer adjustable separately
  • Improvements to Photo Sphere[133]
  • Reworked camera UI, previously introduced on Google Play edition phones[134]
  • Addition of "App Ops", a fine-grained application permissions control system (hidden by default)[135]
  • SELinux enabled by default
  • 4K resolution support[136]
  • Numerous security updates, performance enhancements, and bugfixes[137]
  • System-level support for geofencing and Wi-Fi scanning APIs
  • Background Wi-Fi location still runs even when Wi-Fi is turned off
  • Developer logging and analyzing enhancements
  • Added support for five more languages
  • Changed digital rights management (DRM) APIs
  • Right-to-left (RTL) languages now supported[131]
  • Clock in the status bar disappears if clock is selected as lockscreen widget
  • Native emoji support[138]
4.3.1 October 3, 2013[139]
  • Bugfixes and small tweaks for the Nexus 7 LTE[140]
Google announced Android 4.4 KitKat on September 3, 2013. Although initially under the "Key Lime Pie" ("KLP") codename, the name was changed because "very few people actually know the taste of a key lime pie."[141] Some technology bloggers also expected the "Key Lime Pie" release to be Android 5.[142] KitKat debuted on Google's Nexus 5 on October 31, 2013, and was optimized to run on a greater range of devices than earlier Android versions, having 512 MB of RAM as a recommended minimum; those improvements were known as "Project Svelte" internally at Google.[143] The required minimum amount of RAM available to Android is 340 MB, and all devices with less than 512 MB of RAM must report themselves as "low RAM" devices.[144] Version Release date Features Image(s)
4.4 October 31, 2013[145][146]
  • Refreshed interface with white elements instead of blue
  • Clock no longer shows bold hours; all digits are thin. The H, M, and S markings for the stopwatch and timer have been removed, leaving just the numbers.
  • Ability for applications to trigger translucency in the navigation and status bars[147]
  • Ability for applications to use "immersive mode" to keep the navigation and status bars hidden while maintaining user interaction[148]
  • Action overflow menu buttons are always visible, even on devices with a "Menu" key, which was officially deprecated by Android 4.0.[149]
  • Restriction for applications when accessing external storage, except for their own directories
  • Optimizations for performance on devices with lower specifications, including zRAM support and "low RAM" device API[143]
  • Wireless printing capability[143]
  • NFC host card emulation, enabling a device to replace smart cards[143]
  • WebViews now based on Chromium engine (feature parity with Chrome for Android 30)
  • Expanded functionality for notification listener services[143]
  • Public API for developing and managing text messaging clients[150]
  • Storage Access Framework, an API allowing apps to retrieve files in a consistent manner. As part of the framework, a new system file picker allows users to access files from various sources (including those exposed by apps, such as online storage services).[83]
  • New framework for UI transitions
  • Sensor batching, step detector and counter APIs[143]
  • Settings application now makes it possible to select default text messaging and home (launcher) application
  • Audio tunneling, audio monitoring and loudness enhancer[151]
  • Built-in screen recording feature (primarily for developers, as usage of ADB is required)[152]
  • Native infrared blaster API
  • Verified boot
  • Enforcing SELinux
  • Expanded accessibility APIs and system-level closed captioning settings
  • Android Runtime (ART) introduced as a new experimental application runtime environment, not enabled by default, as a replacement for the Dalvik virtual machine[153]
  • Bluetooth Message Access Profile (MAP) support[154]
  • Disabled access to battery statistics by third-party applications[155]
  • Settings application no longer uses a multi-pane layout on devices with larger screens
  • Wi-Fi and mobile data activity (TX/RX) indicators are moved to quick settings[156]
  • Disables text wrapping in the WebView browser component[157]
Android 4.4 home screen
4.4.1 December 5, 2013[158]
  • Improvements to auto focus, white balance and HDR+ for the Nexus 5 camera[159][160]
  • Better application compatibility for the experimental Android Runtime (ART)
  • Camera application now loads Google+ Photos instead of Gallery when swiping away from the camera view
  • Miscellaneous improvements and bugfixes
4.4.2 December 9, 2013[161]
  • Further security enhancements and bugfixes
  • Removal of the "App Ops" application permissions control system, introduced in Android 4.3[162]
4.4.3 June 2, 2014[163]
  • Refreshed Dialer app interface[164]
  • Updated the Chromium-based WebView to version 33 (screencasting to DevTools, HTML5 Canvas hardware acceleration performance improvements, vibration API, HTML5 form validation, HTML5 datalist)[165]
  • Miscellaneous improvements and bugfixes
4.4.4 June 19, 2014[166]
Android 5.0 "Lollipop" was unveiled under the codename "Android L" on June 25, 2014, during Google I/O. It became available as official over-the-air (OTA) updates on November 12, 2014, for select devices that run distributions of Android serviced by Google, including Nexus and Google Play edition devices. Its source code was made available on November 3, 2014.[172][173]

Lollipop features a redesigned user interface built around a responsive design language referred to as "material design". Other changes include improvements to the notifications, which can be accessed from the lockscreen and displayed within applications as top-of-the-screen banners. Furthermore, Google made internal changes to the platform, with the Android Runtime (ART) officially replacing Dalvik for improved application performance, and with changes intended to improve and optimize battery usage, known internally as Project Volta.[174][175][176][177]

Version Release date Features Image(s)
5.0[178] November 12, 2014[179]
  • Android Runtime (ART) with ahead-of-time (AOT) compilation and improved garbage collection (GC), replacing Dalvik that combines bytecode interpretation with trace-based just-in-time (JIT) compilation[178][180]
  • Support for 64-bit CPUs
  • OpenGL ES 3.1 and Android Extension Pack (AEP) on supported GPU configurations
  • Recent activities screen with tasks instead of applications, up to a configured maximum of tasks per application
  • Vector drawables, which scale without losing definition
  • Support for print previews
  • Material design, bringing a restyled user interface
  • Refreshed lock screen, no longer supporting widgets[181]
  • Refreshed notification tray and quick settings pull-down
  • Project Volta, for battery life improvements
  • Searches can be performed within the system settings for quicker access to particular settings
  • Lock screen provides shortcuts to application and notification settings[182]
  • Guest logins and multiple user accounts are available on more devices, such as phones.[183]
  • Audio input and output through USB devices
  • Third-party applications regain the ability to read and modify data located anywhere on external storage, such as on SD cards.[184][185]
  • Pinning of an application's screen for restricted user activity.[182]
  • Recently used applications are remembered even after restarting the device.[182]
  • WebViews receive updates independently through Google Play for security reasons, instead of relying on system-wide vendor updates[186]
  • Addition of 15 new languages: Basque, Bengali, Burmese, Chinese (Hong Kong), Galician, Icelandic, Kannada, Kyrgyz, Macedonian, Malayalam, Marathi, Nepali, Sinhala, Tamil and Telugu[187]
  • Tap and Go allows users to quickly migrate to a new Android device, using NFC and Bluetooth to transfer Google Account details, configuration settings, user data and installed applications[182]
  • A flashlight-style application is included, working on supported devices with a camera flash.[182]
  • User-customizable priorities for application notifications.[188]
  • Smart lock feature[189]
  • SELinux in enforcing mode for all domains
  • Updated emoji[190]
  • Improved accessibility support (e.g. switch access support)[191][191]
  • Block-based over-the-air (OTA) updates for new devices[192]
Android 5.0 home screen
5.0.1 December 2, 2014[193]
  • A few bugfixes, including resolving issues with video playback and password failures handling
5.0.2 December 19, 2014[194]
  • Fixes a bug with TRIM support, which prevented devices from the nightly on-charger cleanups of file system allocations if the device was turned off while being charged, or if it was charged during the day.
  • Changes how alarms wake the CPU, and how alarms compete for system resources.[195]
Version Release date Features Image(s)
5.1 March 9, 2015[196]
  • Improvements and bug-fixes to the Overview screen
  • Ability to join Wi-Fi networks and control paired Bluetooth devices from quick settings
  • Official support for multiple SIM cards[197]
  • Device protection: if a device is lost or stolen it will remain locked until the owner signs into their Google account, even if the device is reset to factory settings.
  • High-definition voice calls, available between compatible 4G LTE devices running Android 5.1[197]
  • Improvements to the notification priority system, to more closely replicate the silent mode that was removed in Android 5.0.[198]
Android 5.1 home screen
5.1.1 April 21, 2015[199]
Android 6.0 "Marshmallow" was unveiled under the codename "Android M" during Google I/O on May 28, 2015, for the Nexus 5 and Nexus 6 phones, Nexus 9 tablet, and Nexus Player set-top box, under the build number MPZ44Q.[201] The third developer preview (MPA44G) was released on August 17, 2015 for the Nexus 5, Nexus 6, Nexus 9 and Nexus Player devices,[202] and was updated to MPA44I that brought fixes related to Android for Work profiles.[203] Version Release date Features Image(s)
6.0 October 5, 2015[204]
  • Contextual search from keywords within apps.[205]
  • Introduction of Doze mode, which reduces CPU speed while the screen is off in order to save battery life[206]
  • App Standby feature
  • Alphabetically accessible vertical application drawer[207]
  • Application search bar and favorites
  • Native fingerprint reader support
  • Direct Share feature for target-specific sharing between apps[208]
  • Renamed "Priority" mode to "Do Not Disturb" mode
  • App Linking for faster instinctive opening of links with corresponding applications[209][210]
  • Larger Application folders with multiple pages
  • Post-install/run-time permission requests
  • USB Type-C support
  • Demo Mode feature for screenshot-capture usage[211]
  • Automatic full data backup and restore for apps[212]
  • 4K display mode for apps[213]
  • Adoptable External storage to behave like Internal Storage[214]
  • MIDI support for musical instruments[215]
  • Experimental multi-window feature[216][217]
  • App permissions now granted individually at run-time, not all-or-nothing at install time.[218]
Android 6.0 home screen
6.0.1 December 7, 2015[219]
  • Unicode 7.0 & 8.0 emoji support.[220]
  • Descriptions for USB connection options
  • New navigation bar layout for the Google Pixel C
  • Double-tap power button to open camera
Android "Nougat" (codenamed N in-development) is the major 7.0 release of the Android operating system. It was first released as a developer preview on March 9, 2016, with factory images for current Nexus devices, as well as with the new "Android Beta Program" which allows supported devices to be upgraded directly to the Android Nougat beta via over-the-air update. Final release was on August 22, 2016. The final preview build was released on July 18, 2016,[221] with the build number NPD90G. Version Release date Features Image(s)
7.0 August 22, 2016
  • Unicode 9.0 emoji and skin tone modifier support (and exposes a subset of ICU4J APIs).[222]
  • Ability to display color calibration
  • Ability to screen zoom
  • Ability to switch apps by double tapping in overview button
  • Added Emergency information part
  • Added the "Clear All" button in Overview screen
  • Another system partition, which gets updated when not in use, allowing for seamless system updates
  • Daydream virtual reality platform (VR interface)
  • Improved Doze functionality, which aims to prolong battery life
  • Improvements to file browser
  • More Quick Settings options
  • Multi-window support, which supports floating apps on a desktop layout
  • New Data Saver mode, which can force apps to reduce bandwidth usage
  • New JIT Compiler, making for 75 percent faster app installations and a 50 percent reduction in compiled code size
  • Just in Time (JIT) compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run[223]
  • Picture-in-picture support for Android TV
  • Redesigned notification shade, featuring instant access to certain settings
  • Redesigned Overview screen
  • Replaced notification cards with notification sheets
  • Settings app navigation drawer
  • Vulkan 3D rendering API
  • Multiple Device Locales[224]
Android 7.0 home screen
On October 19, 2016, Google released Android 7.1.1 as a developer preview for the Nexus 5X, Nexus 6P and the Pixel C. A second preview became available on November 22, 2016, before the final version was released to the public on December 5, 2016. Version Release date Features Image(s)
7.1 October 4, 2016[225]
  • Rearranged notification shade
  • Touch/display performance improvements
  • Moves (Fingerprint swipe down gesture – opt-in)
  • Opt-in with new hardware required:
    • Seamless A/B system updates
    • Daydream VR mode
  • Pixel specific:
    • System UI Blue Accent (Default Accent for other devices remains Teal)
    • Night Light
  • Developer features:
    • shortcut manager APIs
    • Circular app icons support
    • Keyboard image insertion
    • Fingerprint sensor gesture to open/close notification shade
    • Manual storage manager Intent for apps
    • Improved VR thread scheduling
    • Enhanced wallpaper metadata
    • Multi-endpoint call support
    • Support for various MNO requirements
      • PCDMA voice privacy property
      • Source type support for Visual Voicemail
      • Carrier config options for managing video telephony
  • Manual storage manager – identifies files and apps using storage
Android 7.1 home screen
7.1.1[226] December 5, 2016
  • New set of emojis adding different skin and haircut to existing ones
  • Send GIFs directly from the default keyboard
  • App shortcuts: Launch actions on apps by long pressing the app icon
  • Developer Options: Show CPU Usage feature removed
7.1.2[227][228] April 4, 2017
  • Battery usage alerts
  • Nexus specific
    • Enhanced notification stability
    • Fingerprint swipe on 5X/6P
    • General connectivity improvements
  • Pixel specific
    • Improved fingerprint swipe performance
    • Bluetooth connectivity improvements
    • New multitasking user interface on Pixel C
Android Oreo is the 8th major release of the Android operating system. It was first released as a developer preview on March 21, 2017, with factory images for current Nexus and Pixel devices. The final developer preview was released on July 24, 2017, with the stable version released in August 2017. Version Release date Features Image(s)
8.0 August 21, 2017
  • Project Treble, the biggest change to the foundations of Android to date: a modular architecture that makes it easier and faster for hardware makers to deliver Android updates
  • Picture-in-picture support
  • Support for Unicode 10.0 emoji (5.0) and replacement of all blob-shaped emojis by round ones with gradient and outline
  • Redesigned Quick Settings and Settings with white background and respectively black and Accent font color
  • Restructured Settings by regrouping in sections similar entries
  • Adaptive icons
  • Notification improvements
    • Notification channels
    • Notification dots (badges)
    • Notification snoozing
  • System-wide Autofill framework
  • Sony LDAC codec support
  • App-specific unknown sources
  • Multi-display support
  • 2 times faster boot time
  • Apps background execution and location limits
  • Google Play Protect
  • Downloadable fonts
  • Integrated printing support
  • Deep color (Wider color gamut for apps)
  • Wi-Fi Assistant
Android 8.0 home screen

Hardware requirements

The main hardware platform for Android is the ARM architecture (ARMv7 and ARMv8-A architectures; formerly also ARMv5), with x86[c] and MIPS[d] architectures also officially supported in later versions of Android. Unofficial Android-x86 project used to provide support for the x86 and MIPS architectures ahead of the official support.[231][232] Since 2012, Android devices with Intel processors began to appear, including phones[233] and tablets. While gaining support for 64-bit platforms, Android was first made to run on 64-bit x86 and then on ARM64.[234][235] Since Android 5.0 Lollipop, 64-bit variants of all platforms are supported in addition to the 32-bit variants.

Requirements for the minimum amount of RAM for devices running Android 7.1 depend on screen size and density and type of CPU, ranging from 816 MB–1.8 GB for 64-bit and 512 MB–1.3 GB for 32-bit meaning in practice 1 GB for the most common type of display (while minimum for Android watch is 416 MB).[236] The recommendation for Android 4.4 is to have at least 512 MB of RAM,[237] while for "low RAM" devices 340 MB is the required minimum amount that does not include memory dedicated to various hardware components such as the baseband processor.[144] Android 4.4 requires a 32-bit ARMv7, MIPS or x86 architecture processor (latter two through unofficial ports),[231][232] together with an OpenGL ES 2.0 compatible graphics processing unit (GPU).[238] Android supports OpenGL ES 1.1, 2.0, 3.0, 3.2 and as of latest major version Vulkan. Some applications may explicitly require a certain version of the OpenGL ES, and suitable GPU hardware is required to run such applications.[238]

Android used to require an autofocus camera, which was relaxed to a fixed-focus camera[239] if present at all, since the camera was dropped as a requirement entirely (except for smartphones) when Android started to be used on set-top boxes.

See also


  1. ^ The 2.3.6 update had the side-effect of impairing the Wi-Fi hotspot functionality of many Canadian Nexus S phones. Google acknowledged this problem and fixed it in late September.[76][77]
  2. ^ For Canadian consumers, 4.0.2 reportedly created a bug on the Galaxy Nexus that crashed the application market when users attempted to view details of any Android application. It also inadvertently reduced the NFC capabilities of the Nexus phone.[101][102]
  3. ^ Lowest supported x86 generation is the P6 microarchitecture, also called i686.[229]
  4. ^ Supported is revision 1 of MIPS32[230] and revision 6 for 64-bit MIPS64[229]


  1. ^ "Factory Images for Nexus and Pixel Devices". Archived from the original on 2017-04-04. 
  2. ^ a b c d "A History of Pre-Cupcake Android Codenames". Android Police. 2012-09-17. Archived from the original on 2013-08-25. Retrieved 2017-01-10. 
  3. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  4. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  5. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  6. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  7. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  8. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  9. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  10. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  11. ^ Ludwig, Adrian; Miller, Mel (March 22, 2017). "Diverse protections for a diverse ecosystem: Android Security 2016 Year in Review". Google Security Blog. Google. Archived from the original on March 22, 2017. Retrieved March 22, 2017. We released monthly Android security updates throughout the year for devices running Android 4.4.4 and up—that accounts for 86.3 percent of all active Android devices worldwide. 
  12. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  13. ^ "Android - History". Android. Archived from the original on 2017-05-14. 
  14. ^ "Android – Nougat". Android. Archived from the original on 2016-08-22. 
  15. ^ "Android Security Bulletin—September 2017". Android Open Source Project. 
  16. ^ Elgin, Ben (August 17, 2005). "Google Buys Android for Its Mobile Arsenal". Bloomberg Businessweek. Bloomberg. Archived from the original on February 24, 2011. Retrieved February 20, 2012. 
  17. ^ "Dianne Hackborn". Google+. September 1, 2012. Archived from the original on June 12, 2013. Retrieved April 8, 2013. 
  18. ^ "Dan Morrill". Google+. January 2, 2013. Archived from the original on January 19, 2013. Retrieved January 5, 2013. 
  19. ^ Breeze, Mez. "The designer behind the logo". TNW. Archived from the original on July 30, 2013. Retrieved August 14, 2013. 
  20. ^ "Google Launches Android, an Open Mobile Platform". Google Operating System. November 5, 2007. Archived from the original on September 30, 2011. 
  21. ^ "Live Google’s gPhone Open handset alliance conference call" (transcript). Gizmodo. November 5, 2007. Archived from the original on February 7, 2013. Retrieved February 8, 2013. 
  22. ^ "Google releases Android SDK". Macworld. November 12, 2007. Archived from the original on August 22, 2010. Retrieved February 8, 2013. 
  23. ^ "Android's 5th Birthday Celebration: European Best-of-Best Hackathon Series". October 2012. Archived from the original on December 26, 2012. Retrieved January 5, 2013. 
  24. ^ a b "SDK Archives". Archived from the original on March 3, 2015. Retrieved March 7, 2015. 
  25. ^ "The history of Android: Android 0.5, Milestone 3—the first public build". Ars Technica. June 16, 2014. Archived from the original on March 8, 2015. Retrieved March 7, 2015. 
  26. ^ "Android: the first week". Android Developers Blog. November 16, 2007. Archived from the original on January 21, 2013. Retrieved January 24, 2013. 
  27. ^ "Life can be tough; here are a few SDK improvements to make it a little easier". Android Developers Blog. December 14, 2007. Archived from the original on September 21, 2013. Retrieved January 24, 2013. 
  28. ^ "Android SDK m5-rc14 now available". Android Developers Blog. February 13, 2008. Archived from the original on September 21, 2013. Retrieved January 24, 2013. 
  29. ^ "Announcing a beta release of the Android SDK". Android Developers Blog. August 18, 2008. Archived from the original on September 21, 2013. Retrieved January 24, 2013. 
  30. ^ "The history of Android: Android 0.9, Beta—hey, this looks familiar!". Ars Technica. June 16, 2014. Archived from the original on March 11, 2015. Retrieved March 11, 2015. 
  31. ^ "Announcing the Android 1.0 SDK, release 1". Android Developers Blog. September 23, 2008. Archived from the original on September 21, 2013. Retrieved January 24, 2013. 
  32. ^ "The history of Android: Android 1.0—introducing Google Apps and actual hardware". Ars Technica. June 16, 2014. Archived from the original on March 10, 2015. Retrieved March 11, 2015. 
  33. ^ Morrill, Dan (September 23, 2008). "Announcing the Android 1.0 SDK, release 1". Android Developers Blog. Retrieved January 12, 2011. 
  34. ^ "T-Mobile Unveils the T-Mobile G1 – the First Phone Powered by Android". T-Mobile. Retrieved October 15, 2013. 
  35. ^ a b Topolsky, Joshua (October 16, 2008). "T-Mobile G1 review, part 2: software and wrap-up". Engadget. Retrieved June 28, 2013. 
  36. ^ a b c d e "Release features – Android 1.0". Google. 2008. Retrieved February 7, 2013. 
  37. ^ a b c Segan, Sascha (October 16, 2008). "T-Mobile G1 (Google Android Phone)". PC Magazine. Retrieved February 6, 2013. 
  38. ^ LaCouvee, Darcy (October 17, 2008). "Folders on the Android desktop, and how to rename them". Android Authority. Retrieved June 28, 2013. 
  39. ^ "Status Bar Notifications". Android Developers. May 24, 2012. Retrieved June 1, 2012. 
  40. ^ "What is Android?". September 18, 2008. Retrieved June 28, 2013. 
  41. ^ "Android Platform Overview". Retrieved September 15, 2012. 
  42. ^ "Android 1.1 Version Notes". Android Developers. February 2009. Retrieved January 12, 2011. 
  43. ^ a b Ducrohet, Xavier (April 27, 2009). "Android 1.5 is here!". Android Developers Blog. Archived from the original on September 25, 2009. Retrieved September 3, 2009. 
  44. ^ Rob, Jackson (April 30, 2009). "CONFIRMED: Official Cupcake Update Underway for T-Mobile G1 USA & UK!". Phandroid. Retrieved September 3, 2009. 
  45. ^ "Android 1.5 Platform Highlights". Android Developers. April 2009. Retrieved September 3, 2009. 
  46. ^ "App Widgets". Android Developers. 2012. Retrieved October 23, 2012. 
  47. ^ a b "Android 1.6 Platform Highlights". Android Developers. September 2009. Archived from the original on April 30, 2010. Retrieved October 1, 2009. 
  48. ^ a b Ducrohet, Xavier (September 15, 2009). "Android 1.6 SDK is here". Android Developers Blog. Archived from the original on September 25, 2009. Retrieved October 1, 2009. 
  49. ^ Ryan, Paul (October 1, 2009). "Google releases Android 1.6; Palm unleashes WebOS 1.2". Ars Technica. Archived from the original on October 2, 2009. Retrieved October 1, 2009. 
  50. ^ "Android 2.0, Release 1". Android Developers. Archived from the original on October 30, 2009. Retrieved October 27, 2009. 
  51. ^ "Android 2.0 Platform Highlights". Android Developers. Archived from the original on October 30, 2009. Retrieved October 27, 2009. 
  52. ^ "Android 2.0 API Changes Summary". Archived from the original on October 30, 2009. Retrieved March 6, 2010. 
  53. ^ "Android 2.0.1, Release 1 SDK". Android Developers. Archived from the original on January 15, 2010. Retrieved January 17, 2010. 
  54. ^ "Android 2.1, Release 1". Android Developers. Archived from the original on January 14, 2010. Retrieved January 17, 2010. 
  55. ^ Ducrohet, Xavier (May 20, 2010). "Android 2.2 and developers goodies". Android Developers Blog. Google. Retrieved May 20, 2010. 
  56. ^ a b "Unofficially Confirmed Froyo Features, Post-Day-1 Of Google I/O". Android Police. Retrieved May 20, 2010. 
  57. ^ "Nexus One Is Running Android 2.2 Froyo. How Fast Is It Compared To 2.1? Oh, Only About 450% Faster". Android Police. Retrieved May 13, 2010. 
  58. ^ Sorrel, Charlie (May 13, 2010). "Android 2.2 ‘Froyo’ Features USB, Wi-Fi Tethering". Wired. Retrieved February 14, 2013. 
  59. ^ "Browser support for file upload field is coming in Froyo". Retrieved May 13, 2010. 
  60. ^ Stone, Brad (April 27, 2010). "Google's Andy Rubin on Everything Android". New York Times. Archived from the original on April 30, 2010. Retrieved May 20, 2010. 
  61. ^ a b "Supporting Multiple Screens: Range of screens supported". Android Developers. Retrieved February 8, 2013. 
  62. ^ Hollister, Sean (January 22, 2011). "Nexus One gets tiny update to Android 2.2.2, fixes SMS routing issues". Engadget. Retrieved November 17, 2011. 
  63. ^ "Android 2.2.3 source tag". Google. Retrieved September 2, 2013. 
  64. ^ a b "Android 2.3 Platform Highlights". Android Developers Blog. December 6, 2010. Archived from the original on December 10, 2010. Retrieved December 7, 2010. 
  65. ^ a b Ducrohet, Xavier (December 6, 2010). "Android 2.3 Platform and Updated SDK Tools". Android Developers Blog. Archived from the original on December 27, 2010. Retrieved December 7, 2010. 
  66. ^ Ts'o, Theodore (December 12, 2010). "Android will be using ext4 starting with Gingerbread". Linux Foundation. Archived from the original on May 28, 2011. Retrieved June 11, 2011. 
  67. ^ Tim Bray (December 19, 2010). "Saving Data Safely". Android Developers Blog. Retrieved June 11, 2011. 
  68. ^ "Android 2.3.3 Platform". Android Developers. 2011. Retrieved November 19, 2012. 
  69. ^ "Android 2.3.4 source tag". Google. Retrieved September 2, 2013. 
  70. ^ "Video Chat on Your Android Phone". Google Mobile Blog. April 28, 2011. Retrieved April 18, 2013. 
  71. ^ "Open Accessory Library 2.3.4". Android Developers. Retrieved August 3, 2012. 
  72. ^ Sarkar, Abhijoy (October 14, 2013). "Is it Java that weakened Android’s SSL security?". Muktware. Retrieved November 2, 2013. 
  73. ^ "Why Android SSL was downgraded from AES256-SHA to RC4-MD5 in late 2010". October 15, 2013. Retrieved November 2, 2013. 
  74. ^ Arghire, Ionut. "Android 2.3.5 Arrives on Galaxy S in the UK". Retrieved December 1, 2011. 
  75. ^ Stephen Schenck (September 2, 2011). "Nexus S Ushers-In Android 2.3.6, But Does It Fix Or Cause Bugs?". pocketnow. Retrieved August 4, 2014. 
  76. ^ Ali Waqas (September 28, 2011). "Android 2.3.6 Gingerbread Update For Nexus S Available (Wi-Fi And Tethering Fix)". Addictive Tips. Retrieved December 20, 2011. 
  77. ^ Anton D. Nagy (September 27, 2011). "Google Samsung Nexus S Gets Android 2.3.6 Update". PocketNow. Retrieved December 20, 2011. 
  78. ^ a b "Android 3.0 Platform Highlights". Android Developers. Archived from the original on February 16, 2011. Retrieved February 23, 2011. 
  79. ^ Rubin, Andy (January 5, 2011). "A Sneak Peek of Android 3.0, Honeycomb". Google Mobile Blog. Archived from the original on January 8, 2011. Retrieved January 5, 2011. 
  80. ^ a b Xavier Ducrohet (February 22, 2011). "Final Android 3.0 Platform and Updated SDK Tools". Android Developers Blog. Archived from the original on March 5, 2011. Retrieved February 23, 2011. 
  81. ^ Mithun Chandrasekhar (February 2, 2011). "Google's Android Event Analysis". AnandTech. Retrieved February 5, 2011. I confirmed this with Google; Honeycomb, at least in the current form, will not be coming to non-tablet devices. 
  82. ^ Nilay Patel (January 26, 2011). "Motorola Atrix 4G and Xoom tablet launching at the end of February, Droid Bionic and LTE Xoom in Q2". Engadget. Retrieved February 5, 2011. 
  83. ^ a b Ho, Joshua. "Examining MicroSD changes in Android 4.4". Anandtech. Retrieved March 28, 2014. 
  84. ^ Cody Toombs (February 17, 2014). "External Blues: Google Has Brought Big Changes To SD Cards In KitKat, And Even Samsung Is Implementing Them". Android Police. Retrieved February 20, 2014. 
  85. ^ Ducrohet, Xavier (May 10, 2011). "Android 3.1 Platform, New SDK tools". Android Developers Blog. Archived from the original on May 11, 2011. Retrieved May 10, 2011. 
  86. ^ a b "Android Supported Media Formats". Android Developers. Retrieved March 30, 2012. 
  87. ^ "Issue 1461 – Android – FLAC file support enhancement request.". Retrieved August 5, 2011. 
  88. ^ Ducrohet, Xavier (July 15, 2011). "Android 3.2 Platform and Updated SDK tools". Android Developers Blog. Retrieved July 16, 2011. 
  89. ^ a b "Supporting Multiple Screens: Declaring Tablet Layouts for Android 3.2". Android Developers. 2012. Retrieved February 18, 2013. 
  90. ^ Maroger (October 19, 2011). "Ice Cream Sandwich Runs on Linux Kernel 3.0.1". Fine Oils. Blogspot. Retrieved July 24, 2013. 
  91. ^ Rey, Francis (October 19, 2011). "Android 4.0 Ice Cream Sandwich SDK Now Available". Social Barrel. Retrieved July 24, 2013. 
  92. ^ Stevens, Tim (October 19, 2011). "Google confirms Nexus S will get Ice Cream Sandwich – for real this time (Gingerbread devices, too)". Engadget. Retrieved July 24, 2013. 
  93. ^ Messina, Vincent (November 15, 2011). "Ice Cream Sandwich source code released, custom ROMs inevitable". AndroidGuys. Retrieved July 24, 2013. 
  94. ^ "Today Is The Last Day To Get Flash For Android". WebProNews. August 14, 2012. Retrieved February 7, 2013. 
  95. ^ a b Molen, Brad (October 19, 2011). "Android 4.0 Ice Cream Sandwich now official, includes revamped design, enhancements galore". Engadget. Retrieved October 19, 2011. 
  96. ^ German, Kent (October 18, 2011). "Ice Cream Sandwich adds tons of new features". CNET. Retrieved July 24, 2013. 
  97. ^ Velazco, Chris (October 18, 2011). "A Quick Android 4.0 Ice Cream Sandwich Feature Rundown". Tech Crunch. Retrieved July 24, 2013. 
  98. ^ Fitzpatrick, Jason. "What Exactly Happens When You Swipe An Android App From the Recent Apps List?". How-To Geek. Retrieved September 19, 2014. 
  99. ^ Kennemer, Quentyn (October 19, 2011). "Android 4.0 Ice Cream Sandwich has Hardware Acceleration". Phandroid. Retrieved October 19, 2011. 
  100. ^ "Wi-Fi Direct". Android Developers. Retrieved July 27, 2013. 
  101. ^ "Verizon’s 4G LTE Galaxy Nexus Gets Pictured, Receives Android 4.0.2 Update". DroidLife. November 28, 2011. Retrieved December 8, 2011. 
  102. ^ "Within 2 Hours of Activation, Your Galaxy Nexus Will Receive an Update". DroidLife. December 15, 2011. Retrieved December 15, 2011. 
  103. ^ "Android 4.0.3 Platform and Updated SDK tools". Android Developers Blog. December 16, 2011. Retrieved January 4, 2012.
  104. ^ "Android 4.0.3 announced, bringing 'variety of optimizations and bug fixes' to phones and tablets". Engadget. December 16, 2011. Retrieved December 17, 2011. 
  105. ^ "Google announces Android 4.0.4". The Inquirer. March 29, 2012. Retrieved March 31, 2012.
  106. ^ Google announces 4.0.4 on Google+. March 28, 2012. Retrieved March 31, 2012.
  107. ^ a b c d "Android 4.1 for Developers". Android Developers. Retrieved February 9, 2013. 
  108. ^ Queru, Jean-Baptiste. "Android 4.1 in AOSP". Retrieved July 12, 2012. 
  109. ^ "Confirmed: Android 4.1 uses different layouts for different tablet sizes". ComputerWorld. Retrieved July 8, 2012. 
  110. ^ "Issue 3461: Implement Gapless Playback of consecutive audio files". Retrieved November 12, 2012. 
  111. ^ "Android 4.1 finally adds gapless music playback to stock music apps". June 29, 2012. Retrieved June 30, 2012. 
  112. ^ "Android 4.1.1 Nexus 7 Update". July 11, 2012. Retrieved February 26, 2013. 
  113. ^ "Android 4.1.2 rolling out for Nexus 7". The Verge. October 9, 2012. Retrieved October 9, 2012.
  114. ^ "Android 4.1.2 brings homescreen rotation to devices". GigaOM. October 9, 2012. Retrieved October 9, 2012. 
  115. ^ "New Feature In Android 4.1.2: Expanding/Collapsing Notifications With One Finger (Video)". Android Police. October 9, 2012. Retrieved October 9, 2012. 
  116. ^ "Monday's Google event in NYC canceled due to Hurricane Sandy". Android Central. October 27, 2012. Retrieved February 19, 2014. 
  117. ^ "Android 4.2 Jelly Bean lands on Nexus 7". Know Your Mobile. November 14, 2012. 
  118. ^ "Google Releases Nexus 4, Nexus 10 and Android 4.2". IGN. November 13, 2012. Retrieved November 16, 2012. 
  119. ^ "Android 4.2 adds gestue typing, wireless TV display, multiple user support on tablets, and more". The Verge. October 29, 2012. Retrieved October 29, 2012.
  120. ^ "Android 4.2 Jelly Bean brings all-new photography powers". October 29, 2012. Retrieved November 12, 2012.
  121. ^ a b Klug, Brian (May 19, 2013). "The Next Version of Android - Some of What's Coming". Retrieved October 28, 2014. 
  122. ^ "Jelly Bean". Android developer portal. Retrieved July 2, 2014. 
  123. ^ "Exclusive Android 4.2 Alpha Teardown, Part 2: SELinux, VPN Lockdown, And Premium SMS Confirmation". Android Police. October 17, 2012. Retrieved November 12, 2012.
  124. ^ "(Changelog) What's New In Android 4.2.1 (JOP40D)". Android Police. November 27, 2012. Retrieved November 27, 2012.
  125. ^ "Sorry, Santa – Google Cancels December In Android 4.2". Android Police. November 17, 2012. Retrieved November 27, 2012.
  126. ^ "Breaking: Android 4.2.2 (Build JDQ39) Update Rolling Out To GSM Galaxy Nexus, Nexus 7, Nexus 10". Android Police. February 11, 2013. Retrieved February 12, 2013.
  127. ^ "Android 4.2.2 brings Bluetooth audio fixes to Nexus phones and tablets". Ars Technica. February 12, 2013. Retrieved February 12, 2013. 
  128. ^ "Google Announces Android 4.3, Update Rolling Out Today". Tom's Hardware. July 24, 2013. Retrieved July 25, 2013. 
  129. ^ "Android Open Source Project now has latest 4.3 fixes for most Nexus hardware". Engadget. August 22, 2013. Retrieved August 22, 2013. 
  130. ^ "Android 4.3 announced, rolling out to Nexus devices today". The Verge. July 24, 2013. Retrieved July 24, 2013.
  131. ^ a b c d e "Introducing Android 4.3, a sweeter Jelly Bean". Official Android Blog. July 24, 2013. Retrieved July 30, 2013.
  132. ^ "Android 4.3 supports TRIM, improves performance on Nexus devices". Engadget. July 30, 2013. Retrieved July 30, 2013.
  133. ^ "Another Android 4.3 Change: Photo Spheres Look A Lot Better Now". Android Police. July 25, 2013. Retrieved July 28, 2013.
  134. ^ "Android 4.3 And Updated Camera UI Spotted On A Nexus 4 At Thailand Mobile Expo". Android Police. May 24, 2013. Retrieved July 30, 2013.
  135. ^ "App Ops: Android 4.3's Hidden App Permission Manager, Control Permissions For Individual Apps!". Android Police. July 25, 2013. Retrieved July 30, 2013.
  136. ^ "Android 4.3 source code reveals support for 4K resolution". Engadget. July 26, 2013. Retrieved July 30, 2013.
  137. ^ "An In-Depth Look At The Big (And Small) Additions To Android Jelly Bean 4.3". Android Police. July 24, 2013. Retrieved July 25, 2013.
  138. ^ Jaymar Cabebe (July 25, 2013). "Google Android 4.3 Jelly Bean Release Date, Price and Specs - CNET". CNET. CBS Interactive. 
  139. ^ "Suddenly, A Wild Android 4.3.1 Appears – LTE Nexus 7 Receiving Android 4.3.1 OTA (JLS36I)". Android Police. October 3, 2013. Retrieved October 4, 2013.
  140. ^ "Factory Image And Binaries Are Now Available For The Nexus 7 LTE Android 4.3.1 Update (JLS36I)". Android Police. October 8, 2013. Retrieved October 9, 2013.
  141. ^ Kelion, Leo (September 3, 2013). "Android KitKat announced". BBC News. Retrieved September 3, 2013. 
  142. ^ "Android 5.0 Key Lime Pie release date, news and rumors". TechRadar. July 2, 2013. Retrieved July 22, 2013. 
  143. ^ a b c d e f Molen, Brad (November 5, 2013). "Engadget review the Nexus 5". Engadget. Retrieved November 11, 2013. 
  144. ^ a b "7.6.1". Android Compatibility Definition Document (PDF) (4.4 ed.). Google. November 27, 2013. p. 33. Archived (PDF) from the original on March 4, 2014. 
  145. ^ "Android for all and the new Nexus 5 ". Google Official Blog. October 31, 2013. Retrieved November 1, 2013.
  146. ^ "Android KitKat". Android Developers Portal. Retrieved November 1, 2013. 
  147. ^ Bonn, Dieter (October 31, 2013). "Google's Nexus 5 with KitKat available today, starting at $349: hands-on impressions". The Verge. Retrieved November 1, 2013. 
  148. ^ David Ruddock (October 31, 2013). "KitKat Feature Spotlight: Apps Can Now Go Truly Full-Screen, Hide The Navigation Bar". Retrieved November 3, 2013. 
  149. ^ "Android menu button now on by default on all device with KitKat". December 9, 2013. Retrieved February 9, 2014. 
  150. ^ "Getting Your SMS Apps Ready for KitKat". Android Developers Blog. Retrieved October 14, 2013. 
  151. ^ "Android 4.4 brings support for low-power audio playback". October 31, 2013. Retrieved February 25, 2014. 
  152. ^ Jason Cipriani (November 5, 2013). "How to record your screen on Android 4.4 KitKat". CNET. CBS Interactive. Retrieved January 4, 2014. 
  153. ^ "Android Developers: ART and Dalvik". March 9, 2015. Retrieved March 19, 2015. 
  154. ^ David Ruddock (October 31, 2013). "KitKat Feature Spotlight: Android Finally Supports Bluetooth MAP, Will Make Bluetooth Integration With Your Car Suck A Lot Less". Android Police. Retrieved November 2, 2013. 
  155. ^ "Android Issue 61975: Undo removal of access to BATTERY_STATS permission for apps". November 2013. Retrieved January 29, 2014. 
  156. ^ "Android Issue 61834: 4.4 KitKat reception/Wifi indicators no longer show data rx/tx during operation". November 2013. Retrieved February 20, 2014. 
  157. ^ "Android Issue 62378: KitKat WebView text wrap no longer works". Retrieved October 28, 2014. 
  158. ^ Official Nexus Google+ page (December 5, 2013). "Android 4.4.1 Released to Nexus 5". Google Plus. Retrieved December 5, 2013. 
  159. ^ Christopher Trout (December 5, 2013). "Android update focuses on Nexus 5 camera improvements". Engadget. Retrieved December 5, 2013. 
  160. ^ David Pierce (December 5, 2013). "Fixing the Nexus 5: with a new version of Android, Google tackles the camera". The Verge. Retrieved December 6, 2013. 
  161. ^ Artem Russakovskii (December 9, 2013). "Android 4.4.2 (KOT49H) Is Already Rolling Out To All Nexus Devices – Here Are The OTA ZIP Links For Manual Updating". Android Police. Retrieved December 9, 2013. 
  162. ^ Peter Eckersley (December 12, 2013). "Google Removes Vital Privacy Feature From Android, Claiming Its Release Was Accidental". Electronic Frontier Foundation. Retrieved December 14, 2013. 
  163. ^ Ron Amadeo (June 2, 2014). "Google releases Android 4.4.3 to Nexus devices". Ars Technica. Retrieved June 2, 2014. 
  164. ^ Kellex (June 2, 2014). "Fresh New Dialer Arrives in Android 4.4.3". Droid Life. Retrieved June 2, 2014. 
  165. ^ Android Developers (June 3, 2014). "Android 4.4.3 aka KitKat MR2 is rolling out - Google+". Android Developers (Google+). Retrieved June 4, 2014. 
  166. ^ Kellex (June 19, 2014). "Whoa: Android 4.4.4 Factory Images Posted as Build KTU84P". Droid Life. Retrieved June 19, 2014. 
  167. ^ Ryan Whitwam (June 19, 2014). "Google Rolling Out Android 4.4.4 Update (KTU84P) With A Security Fix, Factory Images/Binaries Up For Nexus Devices". Retrieved June 25, 2014. 
  168. ^ Rob, Triggs. "Google uploads part of the Android Wear source code to AOSP". Android Authority. Retrieved July 22, 2014. 
  169. ^ Andrew Grush (September 6, 2014). "Android Wear platform fully unveiled at I/O 2014". Android Authority. Retrieved January 25, 2015. 
  170. ^ Michael Crider (September 6, 2014). "Samsung Gear Live Updated To Android Wear 4.4W.1 Build KGW42N: Here's What's New". Android Police. Retrieved January 25, 2015. 
  171. ^ Rita El Khoury (October 21, 2014). "Android Wear 4.4W.2 Build KNX01Q Starts Rolling Out For The LG G Watch, Brings Offline Music And GPS Support (Though You Can't Use The Latter)". Android Police. Retrieved January 25, 2015. 
  172. ^ "From Android L to Google Fit: All the new products and features from Google I/O". PC World. June 25, 2014. Retrieved June 26, 2014. 
  173. ^ "Updated Android Lollipop Developer Preview image coming to Nexus devices in a couple of days". October 15, 2014. Retrieved October 16, 2014. 
  174. ^ "Google's new 'Material Design' UI coming to Android, Chrome OS and the web". Engadget. June 25, 2014. Retrieved June 26, 2014. 
  175. ^ "We just played with Android's L Developer Preview". Engadget. AOL. Retrieved June 26, 2014. 
  176. ^ "Google Reveals Details About Android L at Google IO". Anandtech. Retrieved June 26, 2014. 
  177. ^ Andrei Frumusanu (July 1, 2014). "A Closer Look at Android RunTime (ART) in Android L". AnandTech. Retrieved July 5, 2014. 
  178. ^ a b "Android 5.0 APIs". Retrieved October 28, 2014. 
  179. ^ "Android: Be together. Not the same.". Official Google Blog. October 15, 2014. Retrieved October 17, 2014. 
  180. ^ Ben Cheng; Bill Buzbee (May 2010). "A JIT Compiler for Android's Dalvik VM" (PDF). Google. pp. 5–14. Retrieved March 19, 2015. 
  181. ^ "Exploring Android L: Lockscreen widgets also bite the dust". June 2014. Retrieved January 25, 2015.
  182. ^ a b c d e "Android 5.0 Lollipop's new features". India Times. November 27, 2014. Retrieved December 23, 2014. 
  183. ^ "Lollipop brings proper multi-user accounts to your phone". Android Central. Retrieved January 25, 2015. 
  184. ^ Cody Toombs (November 4, 2014). "Android 5.0 Makes SD Cards Great Again, Extends API To Allow Full Directory Access, Automatic MediaStore, And Improves Security". Android Police. Retrieved November 29, 2014. 
  185. ^ Michael Crider (November 27, 2014). "Root Explorer 3.3 Update Adds SD Card Write Capability Without Root In Lollipop". Android Police. Retrieved November 29, 2014. 
  186. ^ "Lollipop stops Chromium bugs from endangering Android". ZDNet. October 24, 2014. Retrieved October 28, 2014. 
  187. ^ "Android - 5.0 Lollipop". November 3, 2014. Retrieved November 28, 2014. 
  188. ^ Jason Cipriani (November 3, 2014). "Set up 'Priority' mode on Android 5.0 Lollipop". CNET. Retrieved December 23, 2014. 
  189. ^ "Smart lock screen security options in Android 5.0 Lollipop". 
  190. ^ "Android 5.0 Emoji Changelog". Emojipedia. Retrieved 2 February 2017. 
  191. ^ a b "Accessibility features in Android 5.0 Lollipop". Android Central. October 25, 2014. Retrieved January 30, 2016. 
  192. ^ "Block-Based OTAs | Android Open Source Project". Retrieved January 30, 2016. 
  193. ^ Liam Spradlin (December 2, 2014). "Android 5.0.1 (LRX22C) Hitting AOSP Now (Update: Factory Images Too)". Android Police. Retrieved December 3, 2014. 
  194. ^ "Factory Images for Nexus - Android". Google. 
  195. ^ Stephen Schenck (December 22, 2014). "What’s actually new in Android 5.0.2?". Retrieved January 6, 2015. 
  196. ^ David Nield. "10 Things You Can Do in Android 5.1 That You Couldn't Before". Field Guide. Gawker Media. 
  197. ^ a b "Google confirms Android 5.1 is rolling out today, will support multi-SIM devices and HD calls". VentureBeat. Retrieved April 24, 2015. 
  198. ^ "Android 5.1 reinstates Silent Mode, but there's a catch". AndroidPIT. Retrieved March 27, 2015. 
  199. ^ a b "Android 5.1.1 (LMY47V) officially uploaded to AOSP and here’s the full changelog, Nexus Player factory images also available". Retrieved May 1, 2015. 
  200. ^ Jennings, Jack (June 26, 2015). "Google Open Source Code for Wi-Fi Calling". XDA. Retrieved November 2, 2015. 
  201. ^ "Google’s Android M preview build will run on the Nexus 5, 6, 9, and Player [Updated]". Ars Technica. Condé Nast. Retrieved May 28, 2015. 
  202. ^ "Downloads Android Developers". August 17, 2015. 
  203. ^ "Support and Release Notes | Android Developers". Retrieved August 22, 2015. 
  204. ^ "Get ready for the sweet taste of Android 6.0 Marshmallow". Android Developers. Retrieved October 6, 2015. 
  205. ^ "Now on Tap". 
  206. ^ "Android Doze". 
  207. ^ "Android vertical app drawer". 
  208. ^ "Android 6.0 APIs - Android Developers". 
  209. ^ "Handling App Links". 
  210. ^ "App Linking in Android 6.0". 
  211. ^ "Use Android 6.0’s Hidden System UI Tuner to Customize Your Quick Settings and Status Bar". 
  212. ^ "Android 6.0 APIs - Android Developers". 
  213. ^ "Android 6.0 APIs - Android Developers". 
  214. ^ "Android 6.0 APIs - Android Developers". 
  215. ^ "MIDI - Android Open Source Project". 
  216. ^ "How to Unlock the Hidden Multi-Window Mode in Android 6.0 Marshmallow". 
  217. ^ "Enable Multi-Window mode in Android 6.0 Marshmallow with a bit of tinkering". 
  218. ^
  219. ^ "Google releases Android 6.0.1 Factory Images for Nexus 6P/6, Nexus 5X/5, Nexus Player, Nexus 9 And Nexus 7 [2013]". GadgetzArena. Retrieved March 10, 2016. 
  220. ^ "Android 6.0.1 Emoji Changelog". Emojipedia. Retrieved 2 February 2017. 
  221. ^ "Android 7.0 Nougat Developer Preview 5 - the final preview - is available for download". Android Police. July 18, 2016. Retrieved July 19, 2016. 
  222. ^ "Android 7.0 Nougat Emoji Changelog". Emojipedia. Retrieved 2 February 2017. 
  223. ^
  224. ^
  225. ^ "Android 7.1 Nougat's changelog is here, includes both Pixel-exclusive and non-Pixel exclusive changes". Android Police. October 4, 2016. Retrieved October 5, 2016. 
  226. ^ "A sweet update to Nougat: Android 7.1.1". Google Blog. December 5, 2016. Retrieved December 13, 2016. 
  227. ^ "Google Groups". Retrieved 2017-04-04. 
  228. ^ "Some Pixel C and Nexus Player owners are getting the official Android 7.1.2 update". Android Authority. April 2, 2017. Retrieved April 2, 2017. 
  229. ^ a b "The syntax of the build file". Archived from the original on June 10, 2015. Retrieved June 14, 2015. 
  230. ^ Shah, Agam (March 23, 2015). "Imagination floats sub-$100 MIPS tablet running Firefox OS". PC World. IDG. Archived from the original on June 5, 2015. Retrieved June 5, 2015. 
  231. ^ a b Shah, Agam (December 1, 2011). "Google's Android 4.0 ported to x86 processors". Computerworld. International Data Group. Archived from the original on January 24, 2012. Retrieved February 20, 2012. 
  232. ^ a b "Android on Intel Architecture". July 11, 2013. Archived from the original on February 9, 2014. Retrieved February 9, 2014. 
  233. ^ Warman, Matt (June 7, 2012). "Orange San Diego Intel Android mobile phone review". The Daily Telegraph. Telegraph Media Group Limited. Retrieved June 19, 2013. 
  234. ^ "Android Lollipop". Archived from the original on November 25, 2014. Retrieved November 24, 2014. It's supported on ARM, x86, and MIPS architectures and is fully 64-bit compatible. 
  235. ^ "How to check which of the Processor, ARM, ARM64 or x86, powers your smartphone". 16 April 2016. Archived from the original on 27 November 2016. 
  236. ^ "Android 7.1 Compatibility Definition" (PDF). Retrieved 2017-08-23. 
  237. ^ "Android KitKat". Android Developers Portal. Archived from the original on November 16, 2013. Retrieved November 16, 2013. 
  238. ^ a b "Android Developers: Graphics". Archived from the original on October 10, 2014. Retrieved November 15, 2015. 
  239. ^ "Android Developers: Android Compatibility". Archived from the original on October 17, 2013. Retrieved November 16, 2013. 

External links

Уровни API, версии Android, —target, файл AndroidManifest.xml

$10 на счёт при регистрации облачного виртуального сервера (Cloud VPS) от по реферальной ссылке: 10 долларов на счету это 2 месяца хостинга на тарифе $5/месяц за 512MB RAM и 20GB SSD, или же 1 месяц на тарифе $10/месяц за 1GB RAM и 30 GB SSD.

В комплект SDK должна входить хотя бы одна платформа, под которую вы будете компилировать ваши проекты и тестировать готовые приложения. Платформа предоставляет разработчику фреймворк (framework) — набор библиотек, позволяющих взаимодействовать с системой Android, использовать возможности системы при разработке приложений. Такая платформа называется целевой (target platform) и задаётся во время создания проекта через параметр —target.

Также эта платформа будет использоваться при создании виртуального Android устройства (AVD — Android Virtual Device), которое запускается через родной эмулятор, входящий в состав SDK. В наших уроках мы пользуемся эмулятором Genymotion, работающем на базе виртуальной машины VirtualBox.

Узнать список установленных в SDK платформ можно командой:

android list targets

В ответ на команду мы получим список с описанием установленных платформ:

Available Android targets: ---------- id: 1 or "android-19" Name: Android 4.4.2 Type: Platform API level: 19 Revision: 4 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : default/armeabi-v7a, default/x86 ---------- id: 2 or "android-20" Name: Android 4.4W.2 Type: Platform API level: 20 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in, AndroidWearRound, AndroidWearSquare, AndroidWearRo und, AndroidWearSquare Tag/ABIs : android-wear/armeabi-v7a, android-wear/x86 ---------- id: 3 or "android-21" Name: Android 5.0.1 Type: Platform API level: 21 Revision: 2 Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default /x86, default/x86_64 ----------

В приведённом примере мы видим описание трёх целей. Первой строкой каждого описания идёт идентификатор (ID), уникальное значение, однозначно указывающее на конкретную цель. ID представлен в двух вариантах — в виде натурального числа и символьного значения. При задании параметра —target можно использовать любой из указанных вариантов, но следует помнить, что числовое значение ID является порядковым номером цели в конкретном SDK, и, соответственно, зависит от порядка, в котором платформы устанавливались в SDK. Текстовое же значение ID уникальным образом указывает версию платформы, независимо от компьютера, на котором такая платформа установлена.

В поле «Name» содержится имя цели. В нашем примере мы видим три версии Android: 4.4.2, 4.4W2 и 5.0.1. A поле «Type» говорит о том, что цель является платформой (platform). Каждой версии Android уникальным образом соответствует уровень API (API level)

Уровень API (API level) — это натуральное число, уникальным образом указывающее на редакцию фреймворка, предоставляемого данной версией платформы. В приведённом выше примере можно увидеть, что установленным платформам соответствуют уровни API 19, 20 и 21.

Ниже приведена таблица соответствий версий Android и уровней API:

Версия платформы Уровень API Код версии
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.2Android 2.3.1Android 2.3 9 GINGERBREAD
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE


Каждый проект Android-приложения должен иметь файл AndroidManifest.xml в своей корневой директории. Этот файл описывает необходимую информацию о вашем приложении для системы Android. По-умолчанию файл манифеста выглядит следующим образом:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="" package="com.example.echo" android:versionCode="1" android:versionName="1.0"> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

В корневом элементе <manifest> мы видим атрибуты описывающие код и кодовое имя версии приложения, а также имя Java-пакета, являющего уникальным именем приложения в системе Android. Дочерний элемент <application> (приложение), описывающий компоненты входящие в состав приложения, имеет атрибуты ссылающиеся на строковый ресурс, задающий имя приложения, и на ресурс изображения, задающий иконку приложения. В свою очередь <application> содержит дочерний элемент <activity> содержащий информацию о единственной активности, созданной по-умолчанию.  Имя, заданное атрибутом android:name должно совпадать с именем соответствующего класса, наследующего от Activity. В качестве android:label мы видим ту же самую ссылку на строковый ресурс app_name. Этот атрибут задаёт текст выводимый в заголовок графического интерфейса соответствующей активности. Внутри элемента <activity> расположен элемент <intent-filter> (фильтр намерений), описывающий как и каким образом может использовать соответствующая активность; например, может ли активность вызываться напрямую из других приложений или из области уведомлений Android. В нашем случае элемент <action android:name = «android.intent.action.MAIN»> говорит, что данная активность является главной точной входа в приложение и не ожидает никаких входных данных. Элемент  <category> со значением android.intent.category.LAUNCHER указывает на то, что активность является начальной активностью некоторой задачи, которая может состоять из некоторого ряда связанных активностей. Подробнее мы поговорим обо всех названных элементах далее в рамках этого курса.

Элемент <uses-sdk>

Очень важную информацию описывает элемент <uses-sdk>, который не добавлен в файл манифеста по-умолчанию во время создания проекта, тем не менее настоятельно рекомендуется использовать его в каждом создаваемом приложении. Этот элемент является дочерним элементом для <manifest> и может иметь 3 атрибута:

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="20" android:maxSdkVersion="21" />

Несмотря на названия, данные параметры описывают не версию SDK, а различные уровни API. Эти атрибуты помогают выразить совместимость приложения с разными версиями Android. Рассмотрим подробнее:

  • minSdkVersionСодержит номер минимального уровня API, необходимого для запуска вашего приложения. Означает, что ваше приложение в обязательном порядке использует возможности имеющиеся в уровнях API равных или выше, чем указанный в minSdkVersion, и не сможет корректно работать на системе с меньшим уровнем API. Если этот параметр задан, то, при попытке установки приложения, Android сравнит это значение со своим уровнем API, и, если уровень API системы окажется ниже, чем minSdkVersion, то система воспрепятствует установке такого приложения. Рекомендуется всегда задавать этот параметр.
  • targetSdkVersionСодержит номер уровня API целевой платформы, с использованием возможностей которой разрабатывалось и тестировалось приложение. Если уровень API, предоставляемый системой совпадает с targetSdkVersion установленного приложения, то это будет знаком системе, что нет необходимости включать режимы совместимости.
  • maxSdkVersionСодержит номер максимального уровня API, предоставляемого платформой, на которой может быть запущено приложение. Очевидно подразумевалось, что приложения с более низким уровнем API не смогут работать на некоторой более новой платформе с более высоким уровнем API. На практике же мы имеем полную обратную совместимость старых приложений с более новыми платформами. Теперь этот параметр не рекомендуется к использованию.

Рекомендации по значениям minSdkVersion и targetSdkVersion

Вы можете разрабатывать приложение с использованием возможностей более высокого уровня API, но при этом вы уверены, что приложение может корректно работать на платформах с более низким API. Например, вы решили воспользоваться некоторой новой возможностью, которая появилась недавно, с выходом нового уровня API, но наличие которой не обязательно для приложения, а является лишь крутым дополнением. Скажем в первых версиях Android не было концепции жестов, которая появилась в версии с API уровня 4, и вы используете эту концепцию в приложении, но при этом выполняемые жестами функции также возможно выполнять и более традиционными средствами — через меню и кнопки, которые поддерживаются с первого уровня API. В этом случае нет необходимости лишать возможности пользоваться вашим приложением обладателей устройств с более низким уровнем API. Следует также помнить, что значение minSdkVersion будет служить фильтром при выдаче результатов поиска в магазине приложений, например Google Play. Это означает, что пользователи устройств с более низким уровнем API не смогут найти ваше приложение в магазине. Старайтесь разрабатывать приложения так, чтобы охватить как можно большее число потенциальных пользователей, поддерживая большее количество устройств.

Чтобы дать обладателям более новой платформы пользоваться всеми дополнительными особенностями вашего приложения, и при этом не устанавливать полный запрет для обладателей более старых устройств, пользуйтесь практикой программирования «проверь возможность перед использованием». Это означает, что приложение во время работы должно проверять версию платформы, на которой оно запущено, и включать дополнительные возможности, только если они доступны на этой платформе.

Статистика использования разных версий Android

Платформа Android постоянно развивается, появляются новые возможности, упрощающие жизнь разработчикам. Чтобы включить новые возможности для разработки под более старые платформы создаются библиотеки поддержки (Support library). Но с выходом всё более новых платформ становится проблематичнее поддерживать более старые, и тут возникает вопрос здравого смысла:

«Каким выбрать значение minSdkVersion?»

Перейдём на официальный сайт Android и изучим статистику на текущий момент:


Version Codename API Distribution
2.2 Froyo 8 0.4%
2.3.3 —2.3.7 Gingerbread 10 6.9%
4.0.3 —4.0.4 Ice Cream Sandwich 15 5.9%
4.1.x Jelly Bean 16 17.3%
4.2.x 17 19.4%
4.3 18 5.9%
4.4 KitKat 19 40.9%
5.0 Lollipop 21 3.3%

В результате недельного сбора информации с 23 февраля по 2 марта 2015 года 86.8% составили пользователи, которые заходили в магазин Google Play с устройств с API уровнем от 16 и выше, или 92.7% с учётом уровня API 15. Остальные устройства с процентом ниже 0.1 в статистике не указаны. Опираясь на эти данные можно сделать выбор в пользу API уровня 15 или 16 в качестве минимального, дабы охватить как можно большую потенциальную аудиторию ваших приложений. Периодически проверяйте новые данные по этой статистике, принимая решение о поддержке старых устройств. Взвешенно подходите к учёту рисков связанными с затратами по времени (и возможно деньгам) при попытке поддерживать быстро устаревающие платформы.

Устанавливая разные уровни API в качестве значения minSdkVersion, вы не только меняете набор скрытых возможностей, но также и набор вполне очевидных с первого взгляда вещей. В первую очередь это касается графического интерфейса пользователя. В более новых платформах графические элементы, экранные виджеты выглядят иначе, нежели в более старых. Например, в API уровня 11, активностям по-умолчанию назначается тема Holo.Dark, а также появляется панель инструментов ActionBar, на которой можно располагать, например, кнопки с наиболее важными в данном контексте функциями, а так же кнопка «Назад», реализующая возврат от дочерней активности к родительской.

Добавьте в манифест нашего приложения Echo значения minSdkVersion = 16 и targetSdkVersion соответствующее самой новой платформе, которая у вас установлена. Скомпилируйте проект и запустите приложение, чтобы увидеть изменения.

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="" package="com.example.echo" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>



Как мы видим — изменения налицо. Если не задано значение targetSdkVersion, то оно по-умолчанию равняется minSdkVersion, не смотря на то, что при создании проекта мы указали одну из последних платформ в качестве целевой, через параметр —target. Этот параметр указывает лишь на платформу, с помощью которой будет компилироваться наше приложение. Если не задан minSdkVersion, то он равняется «1«.

С настройкой внешнего вида (цвета, размеров, размера текста) графических элементов мы познакомимся в следующих уроках.

Поделиться ссылкой:


Exploring the SDK | Android Developers

The Android SDK is composed of modular packages that you can download separately using the Android SDK Manager. For example, when the SDK Tools are updated or a new version of the Android platform is released, you can use the SDK Manager to quickly download them to your environment. Simply follow the procedures described in Adding Platforms and Packages.

There are several different packages available for the Android SDK. The table below describes most of the available packages and where they're located once you download them.

Available Packages

PackageDescriptionFile Location
SDK Tools Contains tools for debugging and testing, plus other utilities that are required to develop an app. If you've just installed the SDK starter package, then you already have the latest version of this package. Make sure you keep this up to date. <sdk>/tools/
SDK Platform-tools Contains platform-dependent tools for developing and debugging your application. These tools support the latest features of the Android platform and are typically updated only when a new platform becomes available. These tools are always backward compatible with older platforms, but you must be sure that you have the latest version of these tools when you install a new SDK platform. <sdk>/platform-tools/
Documentation An offline copy of the latest documentation for the Android platform APIs. <sdk>/docs/
SDK Platform There's one SDK Platform available for each version of Android. It includes an android.jar file with a fully compliant Android library. In order to build an Android app, you must specify an SDK platform as your build target. <sdk>/platforms/<android-version>/
System Images Each platform version offers one or more different system images (such as for ARM and x86). The Android emulator requires a system image to operate. You should always test your app on the latest version of Android and using the emulator with the latest system image is a good way to do so. <sdk>/platforms/<android-version>/
Sources for Android SDK A copy of the Android platform source code that's useful for stepping through the code while debugging your app. <sdk>/sources/
Samples for SDK A collection of sample apps that demonstrate a variety of the platform APIs. These are a great resource to browse Android app code. The API Demos app in particular provides a huge number of small demos you should explore. <sdk>/platforms/<android-version>/samples/
Google APIs An SDK add-on that provides both a platform you can use to develop an app using special Google APIs and a system image for the emulator so you can test your app using the Google APIs. <sdk>/add-ons/
Android Support A static library you can include in your app sources in order to use powerful APIs that aren't available in the standard platform. For example, the support library contains versions of the Fragment class that's compatible with Android 1.6 and higher (the class was originally introduced in Android 3.0) and the ViewPager APIs that allow you to easily build a side-swipeable UI. <sdk>/extras/android/support/
Google Play Billing Provides the static libraries and samples that allow you to integrate billing services in your app with Google Play. <sdk>/extras/google/
Google Play Licensing Provides the static libraries and samples that allow you to perform license verification for your app when distributing with Google Play. <sdk>/extras/google/

The above table is not comprehensive and you can add new sites to download additional packages from third-parties.

In some cases, an SDK package may require a specific minimum revision of another package or SDK tool. For example, there may be a dependency between the ADT Plugin for Eclipse and the SDK Tools package. When you install the SDK Tools package, you should also upgrade to the required version of ADT (if you are developing in Eclipse). In this case, the major version number for your ADT plugin should always match the revision number of your SDK Tools (for example, ADT 8.x requires SDK Tools r8).

The development tools will notify you with debug warnings if there is dependency that you need to address. The Android SDK Manager also enforces dependencies by requiring that you download any packages that are needed by those you have selected.

Adding New Sites

By default, Available Packages displays packages available from the Android Repository and Third party Add-ons. You can add other sites that host their own Android SDK add-ons, then download the SDK add-ons from those sites.

For example, a mobile carrier or device manufacturer might offer additional API libraries that are supported by their own Android-powered devices. In order to develop using their libraries, you must install their Android SDK add-on, if it's not already available under Third party Add-ons.

If a carrier or device manufacturer has hosted an SDK add-on repository file on their web site, follow these steps to add their site to the Android SDK Manager:

  1. Select Available Packages in the left panel.
  2. Click Add Add-on Site and enter the URL of the repository.xml file. Click OK.

Any SDK packages available from the site will now be listed under a new item named User Add-ons.


Problems connecting to the SDK repository

If you are using the Android SDK Manager to download packages and are encountering connection problems, try connecting over http, rather than https. To switch the protocol used by the Android SDK Manager, follow these steps:

  1. With the Android SDK Manager window open, select "Settings" in the left pane.
  2. On the right, in the "Misc" section, check the checkbox labeled "Force https://... sources to be fetched using http://..."
  3. Click Save & Apply.

Using Android SDK | Quickstart

This guide provides you to make the simplest application to make audio calls. You can download/clone the application example using the following link: Demo project.

Android SDK has two dependencies: okhttp and gson. It also applies to the compat-versions which appeared since version 2.2.0. You can check the levels of dependencies according to the Android SDK version directly in the Maven. Note that there could be a delay between the last release and appearance in Maven’s searching index.

Adding SDK to your application

  • IMPORTANT: If you use version before 2.1.2, please remove all .jar, .so and .aar files from your project
  • Modify build.gradle file that is located at the root level of your project to add mavenCentral() to repositories list:
    1. allprojects {

    2. repositories {

    3. jcenter()

    4. mavenCentral() //add this line

    5. }

    6. }

  • Edit build.gradle and add voximplant-sdk as compile files target in dependencies section. Paste the actual version from the changelog:
    1. dependencies {

    2. ...

    3. compile 'com.voximplant:voximplant-sdk:2.3.0' //Paste the actual version from the changelog

    4. }

Initializing SDK

Your application will require following permissions. They will be automatically merged to AndroidManifest by adding Android SDK as compile dependencies. You can also set them manually if you are using different build system.

  1. <uses-permission android:name="android.permission.BLUETOOTH" />

  2. <uses-permission android:name="android.permission.CAMERA"/>

  3. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

  4. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

  5. <uses-permission android:name="android.permission.RECORD_AUDIO"/>

  6. <uses-permission android:name="android.permission.INTERNET"/>

  7. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  8. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Bear in mind that CAMERA and RECORD_AUDIO permissions need to be prompted to a user since Android 6.0 (use the Voximplant.getMissingPermissions method to see the permissions that are not granted by the user).

Create the new singletone of type IClient and initialize it as specified in documentation:

IClient client = Voximplant.getClientInstance(Executors.newSingleThreadExecutor(), getApplicationContext(), new ClientConfig());

Logging in

Then you need to connect to the cloud and authorize the user. The IClient.connect (it is similar to WEB SDK initialization) and IClient.login methods handle with it. You also have to set the appropriate listeners to handle with the connection and authentication results: IClientSessionListener and IClientLoginListener. For example, you can connect to the cloud and login user myuser to application myapp in your VoxImplant account named myaccount with password mypass:

  1. public class SomeClass implements IClientSessionListener, IClientLoginListener {

  2. private IClient client;


  4. // ctor and other logic here

  5. // Note: you also need to implement other methods from

  6. // IClientLoginListener and IClientSessionListener


  8. @Override

  9. public void onConnectionEstablished() {

  10. Log.i(TAG, "Connection established");

  11. //For other login methods please see the article:

  12. //

  13. client.login("[email protected]", "mypass");

  14. }


  16. @Override

  17. public void onLoginSuccessful(String displayName, AuthParams authParams) {
  18. Log.i(TAG, "Login succeeded");

  19. }


  21. public void connectToVoximplant() {

  22. client.connect();

  23. client.setClientSessionListener(this);

  24. client.setClientLoginListener(this);

  25. }

  26. }

Making calls

Use IClient.callTo and ICall.start methods to initiate an outgoing call. To inspect the call conditions you have to be able to catch call events - for this purpose set the ICallListener via ICall.addCallListener.

  1. boolean isVideo = false;

  2. VideoFlags videoFlags = new VideoFlags(false, false); //disable video for audio calls

  3. ICall call = client.callTo(clientNumber, videoFlags, customData);

  4. Map<String, String> headers = null;
  5. call.start(headers);

Receiving calls

You have to set listener IClientIncomingCallListener to handle with an Incoming call. When an application receives an incoming call, onIncomingCall method is called. Use the ICall.answer method to answer a call:

  1. public void onIncomingCall(ICall call, boolean hasIncomingVideo, Map<String, String> headers) {
  2. Map<String, String> headers = null;
  3. call.answer(customData, new VideoFlags(hasIncomingVideo, hasIncomingVideo), headers);

  4. }

Terminating calls

Using the ICall.hangup method allows to terminate the call properly. Both participants will receive the ICallListener.onCallDisconnected event after hangup's call will be executed.

  1. Map<String, String> headers = null;
  2. call.hangup(headers);


For more information, please read our reference documentation.

Смотрите также