Support and Release Notes

Developer Preview 3 is now available

Includes final SDK and near-final system images

Two primary support channels are available to you when developing and testing with the Android M Developer Preview. If you've encountered bugs or have feedback about the M Developer Preview, you can create an issue on our issue tracker. We'll triage the issue for further review and provide updates as needed.

To discuss issues or ideas with other developers working with Android M, join the M Developer Preview Google+ community.

Developer Preview 3

Date: August 2015
Build: MPA44I
Hardware support: Nexus 5, 6, 9, Player
Emulator support: x86 & ARM 32/64-bit
Google Play services: 7.8

Developer Preview 3 is the final incremental update to the Android M preview platform that was originally released in May 2015. The update includes final APIs and the official Android 6.0 SDK, as well as near-final system images for testing your apps. The updated system images bring a variety of fixes and enhancements across the system, including those related to issues reported by developers through the external issue tracker.

If you are currently developing or testing on Android M, you should update your environment as soon as possible, so that you can begin final compatibility testing in preparation for the public release to device manufacturers later this year.

Updating to the Android 6.0 SDK and the latest system images 3 ensures that you are building against final platform APIs in API level 23 and testing against final behaviors. If you are just getting started, follow the instructions in Set up the Preview SDK.

What's included

Developer Preview 3 includes the official Android 6.0 SDK as well as updated preview system images, documentation, and samples for developing against the Android 6.0 development platform.

  • SDK platform and system images (Nexus and emulator) for building and testing. You can download the Android 6.0 SDK and tools from the SDK Manager, and the system images are available by over-the-air (OTA) update or download (see below).
  • Updated documentation. The Behavior Changes, API Overview, and Permissions documents have been updated to reflect the latest changes in the platform. An updated Developer Documentation download package is available, including full reference docs and API diff reports. Reference documentation is also now available online.
  • Translations of the documentation are available. Use the language selector at the bottom right corner of any page to switch languages. Note that some of the translated docs are not yet updated for Developer Preview 3.
  • The Android M code samples are also updated to account for API and behavior changes:
    • RuntimePermissions and RuntimePermissionsBasic are updated to reflect latest permissions API changes, including shouldShowRequestPermissionRationale().
    • Other samples are updated to support runtime permissions.

Key changes

  • General
    • Updated the Fingerprint API to enables better error reporting, better fingerprint enrollment experience, and enumeration support for greater reliability.
    • Modified app access to BLE and Wi-Fi scans to require the location permisssion when they target Android 6.0 (API level 23) or higher. Apps targeting API 22 or earlier can still perform BTLE and WiFi scans, but only when they are in the foreground. While in the background, those apps will get no results from BTLE and WiFi scans.
  • Permission changes
    • Updated the user interface for permissions and enhanced some of the permissions behaviors.
    • The GET_ACCOUNTS permission is now a member of the CONTACTS permission group and it has a android:protectionLevel of dangerous. This change means that when targeting Android 6.0 (API level 23), you must check for and request this permission if your app requires it.
    • The android.permission.READ_PROFILE and android.permission.WRITE_PROFILE permissions have been removed from the CONTACTS permission group.

For a complete list of changes, including renamed and removed APIs, see the API Diff report for API level 22 to 23.

Known issues

  • General issues:
    • On LTE devices, including Nexus 9, GPS is not functioning properly, which may interfere with navigation services.
    • During Hangouts calls, users may experience distorted or low audio on some devices.
    • The Google Apps Device Policy app bundled with MPA44G is unable to set up an Android for Work Profile, so you cannot create a new Work Profile with that version of the app. This issue is resolved in the Google Apps Device Policy app bundled with MPA44I. Other apps that provide Android for Work functionality remain unaffected on either build.

For a complete list of reported issues, please refer to the open issues list on the Developer Preview issue tracker.

Get Developer Preview 3

You can download the official Android 6.0 SDK platform and Developer Preview 3 emulator images from the SDK Manager.

Developer Preview 3 system images for supported Nexus devices are available by download and by over-the-air (OTA) update. The OTA update is available only to supported devices that are currently running a Developer Preview build. If your device is running a Developer Preview build, you should automatically receive the OTA update within a few days of availability.

For instructions on how to download and flash your device to the latest Developer Preview, see the links and instructions on the Downloads page.

For instructions on how to start developing and testing with Android 6.0 Marshmallow, read Setting up the SDK.

Developer Preview 2

Date: July 2015
Builds: MPZ79M (Nexus 5, 6, 9), MPZ79N (Nexus Player)
Hardware support: Nexus 5, 6, 9, Player
Emulator support: x86 & ARM 32/64-bit
Google Play services: 7.6

Android M Developer Preview 2 is an incremental update to the Android M preview platform that was originally released in May 2015. The update includes a variety of enhancements and bug fixes made across the system, including those related to issues reported by developers through the external issue tracker.

If you are currently developing or testing on Android M, you should update your environment to Developer Preview 2 as soon as possible. This ensures that you are building with the latest platform APIs and testing against the latest behaviors. If you are just getting started with the Android M Developer Preview SDK, follow the instructions in Set up the Preview SDK, then update your environment for Developer Preview 2.

What's included

Developer Preview 2 includes an updated SDK with system images, documentation, and samples for developing against the latest Android M platform.

  • SDK platform and system images (Nexus and emulator) for building and testing. You can download the updated tools from the SDK Manager, and the system images are available by over-the-air (OTA) update or download (see below).
  • Updated documentation. The Behavior Changes, API Overview, and Permissions documents have been updated to reflect the latest changes in the platform. An updated Developer Documentation download package is available, including full reference docs and API diff reports.
  • Translations of the documentation are now available. Use the language selector at the bottom right corner of any page to switch languages. Note that some of the translated docs are not yet updated for Developer Preview 2 (coming soon).
  • The Android M code samples are also updated to account for API and behavior changes:
    • RuntimePermissions / RuntimePermissionsBasic are updated to reflect latest permissions API changes, including shouldShowRequestPermissionRationale().
    • FingerprintDialog adds a flow to ask for passwords when new fingerprints are added as well as a preference if the app will use fingerprints as a method of authentication.

Key changes

  • Permissions changes
    • The android.permission.USE_FINGERPRINT permission now has "normal" protection level, so it is no longer necessary to request this permission directly from the user. The USE_FINGERPRINT permission enables fingerprints to be enabled for authentication, but does not give the requesting app access to the enrollment/fingerprint administration flow.
    • The android.permission.WRITE_EXTERNAL_STORAGE permission has protection level "dangerous", meaning that apps wanting to write to external storage will need to request permission from the user at runtime. Both READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE are members of the STORAGE permission group.
    • Remote Bluetooth/Wi-Fi MAC's now require either the android.permission.ACCESS_COARSE_LOCATION or android.permission.ACCESS_FINE_LOCATION permission.
    • Some accounts and identity permissions are moved to CONTACTS permissions group and others are removed or granted based on account type. In particular, android.permission.USE_CREDENTIALS, android.permission.MANAGE_ACCOUNTS, and android.permission.AUTHENTICATE_ACCOUNTS are ungrouped pending further changes in a later release.
    • The Wi-Fi permissions android.permission.CHANGE_WIFI_STATE, android.permission.CHANGE_WIMAX_STATE, and android.permission.CHANGE_WIFI_MULTICAST_STATE now have protection level "normal".
    • The Bluetooth permissions android.permission.BLUETOOTH and android.permission.BLUETOOTH_ADMIN now have protection level "normal".
    • Bookmarks and subscribed feeds permissions are removed.
    • Apps included in the system image are no longer granted dangerous permissions automatically. All apps should check for and request permissions at runtime.
    • Introduces the utility method Activity.shouldShowRequestPermissionRationale(String), which lets your app see whether users have previously rejected a permission request. This lets you know that your app should explain the the user why it needs that permission. For more information see the Permissions developer guide.
  • Other changes
    • The android.app.AssistContent and android.app.AssistStructure classes are moved into a new package, android.app.assist.
    • Bluetooth Stylus APIs are updated and include new callback events. The View.OnStylusButtonPressListener class is renamed to View.OnContextClickListener and GestureDetector.OnStylusButtonPressListener class to GestureDetector.OnContextClickListener.

For a complete list of changes, including renamed and removed APIs, please refer to the API Diff Reports included in the Developer Documentation download package.

Known issues

  • General issues:
    • The system Messenger app crashes on the 64-bit emulator.
    • After updating to Developer Preview 2, Contacts sync experiences intermittent issues. The workaround is to clear and re-sync Contact Storage data after update. To clear data, go to Settings > Apps > Show system > Contacts Storage. Select "Storage" and then Clear data.
    • In YouTube app, it's not possible to share a video. The share window is blank.
    • The bundled Google Apps Device Policy app included in Developer Preview 2 is unable to properly set up an Android for Work Profile, so you cannot create a new Work Profile with this app after you update. This issue is specific to the Google Apps Device Policy app, and not the Android for Work platform (or our partner EMM providers). As a workaround for users of the Google Apps Device Policy app, be sure to create a Work Profile in Developer Preview 1 before updating to Developer Preview 2.
  • Issues specific to MPZ79N on Nexus Player:
    • Bluetooth share crashes after clearing data. Please do not clear app data for system services, otherwise you will need to Factory Reset your device
    • Remote control can experience intermittent connectivity issues.
    • Movies show black screen with some ANRs on exiting the video.
    • In YouTube app, lower-resolution videos have a green bar at the top and some color-ghosting

For a complete list of reported issues, please refer to the open issues list on the Developer Preview issue tracker.

Get Developer Preview 2

You can download the Developer Preview 2 platform and emulator images from the SDK Manager.

Developer Preview 2 system images for supported Nexus devices are available by download and by over-the-air (OTA) update. The OTA update is available only to supported devices that are currently running Developer Preview 1. If your devices are running Developer Preview 1, you should automatically receive the OTA update within a few days of availability.

If you are just getting started with Android M Developer Preview, and want to receive Developer Preview 2 via OTA, download the appropriate Developer Preview 1 system image, and flash it to your device. Then, leave the device powered on for several hours. It registers with the OTA service, and receives Developer Preview 2 by OTA.

For instructions on how to download and flash your device to the Developer Preview, see the links and instructions on the Downloads page.

For instructions on how to start developing and testing with Android M, read Setting up the SDK.

Developer Preview 1

Date: May 2015
Build: MPZ44Q
Hardware support: Nexus 5, 6, 9, Player
Emulator support: x86 & ARM (32/64-bit)
Google Play services: 7.5

Initial release.