|A version of the Android operating system|
Android Marshmallow home screen with some stock Google apps.
|October 5, 2015|
|Latest release||6.0.1 (MOB31T) / March 6, 2017|
|Preceded by||Android 5.1.1 "Lollipop"|
|Succeeded by||Android 7.x "Nougat"|
|Official website||Official website|
Android "Marshmallow" (codenamed Android M during development) is the sixth major version of the Android operating system. First released as a beta build on May 28, 2015, it was officially released on October 5, 2015, with Nexus devices being the first to receive the update.
Marshmallow primarily focuses on improving the overall user experience of its predecessor, Lollipop. It introduced a new permissions architecture, new APIs for contextual assistants (first used by a new feature "Now on Tap" to provide context-sensitive search results), a new power management system that reduces background activity when a device is not being physically handled, native support for fingerprint recognition and USB Type-C connectors, the ability to migrate data and applications to a microSD card, and other internal changes.
The first developer preview build, codenamed Android "M", was unveiled and released at Google I/O on May 28, 2015, for the Nexus 5 and Nexus 6 smartphones, Nexus 9 tablet, and Nexus Player set-top box. The second developer preview was released on July 9, 2015, and the third and final preview was released on August 17, 2015, along with announcing that Android M would be titled Android "Marshmallow".
Android 6.0 updates and factory images for Nexus 5, 6, 7 (2013), 9, and Player were released on October 5, 2015, Older Nexus devices, including the Nexus 4, Nexus 7 (2012) and Nexus 10, did not receive an official update. On October 14, 2015, LG announced that it planned to release Marshmallow for its flagship LG G4 smartphone in Poland the following week, marking the first third-party device to receive an update to Marshmallow.
Android 6.0.1, a software patch featuring security fixes, support for Unicode 8.0 emoji (although without supporting skin tone extensions for human emoji), and the return of the "until next alarm" feature in Do Not Disturb mode, was released on December 7, 2015.
A new "Assist" API allows information from a currently-opened app, including text and a screenshot of the current screen, to be sent to a designated "assistant" application for analysis and processing. This system is used by the Google Search app feature "Google Now on Tap", which allows users to perform searches within the context of information currently being displayed on-screen. By holding the "Home" button or using a voice command, on-screen cards are generated which display information, suggestions, and actions related to the content. "Direct Share" allows Share menus to display recently used combinations of contacts and an associated app as direct targets.
"Adoptable storage" allows a newly inserted SD card or other secondary storage media to be designated as either "portable" or "internal" storage. "Portable" maintains the default behavior of previous Android versions, treating the media as a secondary storage device for storage of user files, and the storage media can be removed or replaced without repercussions, but is subject to access restrictions by apps. When designated as "Internal" storage, the storage media is reformatted with an encrypted ext4 file system, and is "adopted" by the operating system as the primary storage partition. Existing data (including applications and "private" data folders) are migrated to the external storage, and normal operation of the device becomes dependent on the presence of the media. Apps and operating system functions will not function properly if the adopted storage device is removed. If the user loses access to the storage media, the adopted storage can be "forgotten", which makes the data permanently inaccessible. Samsung and LG have, however, removed the ability to use an SD card as "internal" storage on their Galaxy S7 and G5 devices, with Samsung arguing that the feature could result in unexpected losses of data, and prevents users from being able to transfer data using the card.
Android Marshmallow introduces a redesigned application permissions model; apps are no longer automatically granted all of their specified permissions at installation time. An opt-in system is now used, in which users are prompted to grant or deny individual permissions (such as the ability to access the camera or microphone) to an application when they are needed for the first time. Applications remember the grants, which can be revoked by the user at any time. The new permissions model is used only by applications developed for Marshmallow using its software development kit (SDK), and older apps will continue to use the previous all-or-nothing approach. Permissions can still be revoked for those apps, though this might prevent them from working properly, and a warning is displayed to that effect.
Marshmallow introduces new power management schemes known as "Doze" and "App Standby"; when running on battery power, a device will enter a low-power state if it is inactive and not being physically handled. In this state, network connectivity and background processing is restricted, and only "high-priority" notifications are processed. Additionally, network access by apps is deferred if the user has not recently interacted with the app. Apps may request a permission to exempt themselves from these policies, but will be rejected from Google Play Store as a violation of its "Dangerous Products" policy if their core functionality is not "adversely affected" by them.
Android Marshmallow provides native support for fingerprint recognition on supported devices via a standard API, allowing third-party applications to implement fingerprint-based authentication. Fingerprints can be used for unlocking devices and authenticating Play Store and Android Pay purchases. Android Marshmallow supports USB Type-C, including the ability to instruct devices to charge another device over USB. Marshmallow also introduces "verified links" that can be configured to open directly in their specified application without further user prompts. User data for apps targeting Marshmallow can be automatically backed up to Google Drive over Wi-Fi. Each application receives up to 25 MB of storage, which is separate from a user's Google Drive storage allotment.
As of Marshmallow, the Android Compatibility Definition Document contains new security mandates for devices, dictating that those that are capable of accessing encrypted data without affecting performance must enable Secure boot and device encryption by default. These conditions comprise part of a specification that must be met in order to be certified for the operating system, and be able to license Google Mobile Services software. The requirement for mandatory device encryption was originally intended to take effect on Lollipop, but was delayed due to performance issues.
Google Play policies prohibit apps from requesting direct exemption from Power Management features in Android 6.0+ (Doze and App Standby) unless the core function of the app is adversely affected.