Google is committed to advancing racial equity for Black communities. See how.

This page contains information related to Wear OS by Google.

2020-May-15 Wearable Support Library v2.7.0

Version 2.7.0 of the Wearable Support Library includes the following feature.

Hardware accleration for watch faces

You can now ask for a hardware-accelerated canvas when using the CanvasWatchFaceService class. Take advantage of hardware acceleration to improve the performance of your watch face and to access more UI performance data.

For more information, see Improve your watch face performance with hardware acceleration.

2020-April-21 Wearable Support Library v2.6.0

Version 2.6.0 of the Wearable Support Library includes the following improvement.

Migration to Android Jetpack

The Wearable Support Library has been migrated to Android Jetpack. Existing libraries are now mapped and accessible in AndroidX using the androidx namespace, and all dependencies on the deprecated Support Library ( android.support.* packages) have been removed.

This change also enables the use of the Wearable Support libraries in Android Studio 4.0 and higher, which resolves issues like Issue #147972079.

2019-August-28 Wearable Support Library v2.5.0

Version 2.5.0 of the Wearable Support Library includes the following improvement.

Fix for ComplicationDrawable when startActivity() is called with TYPE_NO_PERMISSION complication type

ComplicationDrawable now includes a NEW_TASK flag that ensures that startActivity() calls that originate from a WatchFaceService include FLAG_ACTIVITY_NEW_TASK to avoid an android.util.AndroidRuntimeException .

This change allows the TYPE_NO_PERMISSION complication type to properly launch the permission request activity rather than crashing the watch face.

2018-September-25 Wearable SDK 16.0.0

Wearable SDK version 16.0.0 lowers the required version of Google Play services from version 12.4 to version 8.6. This change allows existing apps to update to the latest version of the Wearable SDK without requiring an update to the Google Play services APK.

2018-June-11 Update to Wear OS Developer Preview 2

A recent over-the-air update to the Wear OS Developer Preview 2 has re-enabled alarms and jobs for background apps.

While this policy change allows increased flexibility in app development, background alarms and jobs continue to be subject to other Android P restrictions, including the ones that pertain to App Standby Buckets. Developers are advised to follow the best practices to ensure their apps behave well, whichever bucket the apps are in.

This update also strengthens user input and data privacy by limiting a background app's access to user input and sensor data. Depending on an app’s requirements, developers may need to use a foreground service to enable continual access to sensor data.

2018-May-8 Wear OS Developer Preview 2

Wear OS Developer Preview 2 has features such as an improved Google Assistant experience.

Please submit any bugs or feedback via the Wear OS by Google issue tracker. The earlier you submit them, the higher the likelihood that we can include the fixes in the final release.

Known issues

This section contains known issues for the Preview 2 release.

Issues for the Wear OS image

When you are in any app and you press the power button on the side of the watch, you may be returned to the previous screen rather than to the watch face.

Issues for the Wear OS for China image

When you are in any app and you press the power button on the side of the watch, you may be returned to the previous screen rather than to the watch face.

Volume-related sound settings are not persisted. For example, an incoming call results in audible rings on the watch, even if the sound on the watch is set to off. And if you adjust the Alarm Volume, the change has no effect.

Multiple, on-going notifications may not display correctly. For example, if both a timer and a stopwatch are set, notifications are not displayed. We recommend that you test your app with one on-going notification rather than with more than one.

The Wear app store in the China version does not work. Developers will be unable to update or install new apps via that channel. We recommend that developers use adb to side-load their application for testing, as a workaround.

Issues for the Wear emulator

An incoming phone call to a companion phone is not shown (mirrored) as an incoming call in the paired emulator.

When you use the SDK manager to install, or confirm that you have, the latest installation of Android P or the China version, the checkboxes next to those selections may become unselected after you select (check) them. If they become unselected, please select them a second time.

When the emulator performs a cold boot, the following error may be displayed: "There's an internal problem with your device. Contact the manufacturer for details." This does not affect functionality. Scroll down and click "OK" to begin testing your app.

Voice reply may not work on the emulator. For example, if you receive a notification for a Google Hangouts message on the Wear emulator, and you try to reply to the message by voice, a "Google keeps stopping" error message occurs and you are prevented from replying by voice.

Instant Run may be incompatible with the Wear emulator.

Taking a screenshot programmatically such as via adb or by taking a bug report may not work. As a workaround, click the camera button on the emulator toolbar to capture a screenshot.

Issues for the China version of the Wear emulator

An incoming phone call to a companion phone may not be shown (mirrored) as an incoming call in the paired emulator. Accordingly, notifications of missed calls may not be shown in the emulator. Additionally, you may be unable to answer a call from the emulator, and ringing of the call will continue.

When you use the SDK manager to install, or confirm that you have, the latest installation of Android P or the China version, the checkboxes next to those selections may become unselected after you select (check) them. If they become unselected, please select them a second time.

When the emulator performs a cold boot, the following error may be displayed: "There's an internal problem with your device. Contact the manufacturer for details." This does not affect functionality. Scroll down and click "OK" to begin testing your app.

Instant Run may be incompatible with the Wear emulator.

Taking a screenshot programmatically, such as via adb or by taking a bug report, may not work. As a workaround, click the camera button on the emulator toolbar to capture a screenshot.

Google Assistant on Wear

Enhanced support for the Assistant on Wear OS enables you to build a wearable-ready experience without writing Android code. Specifically, you can build for the Actions on Google platform, helping your users get things done with your products and services.

Additionally, Wear OS now allows faster interactions by voice and touch. Also supported are suggestion chips, which do the following:

Help users complete interactions quickly

Give users hints about your Action's capability

Moreover, Wear OS now supports more visual cards, as well as lists and carousels.

Thus, you can use DialogFlow, Templates or the Actions SDK to create Actions on Google for Wear OS. And you can take advantage of new response templates that are specific to a watch. Best practices for Actions on Google include:

Short, concise dialog

Enabling both visual and vocal feedback

These enhancements for the Assistant on Wear OS do not depend on Android P and are rolling out to all Wear 2.0 users. For an introduction to building Actions on Google, see Extending the Google Assistant.

Battery Savings in Developer Preview 2

As described below, power-related features are available to increase battery life. The information in this Developer Preview 2 section supersedes the power-related information for Developer Preview 1.

New mode: Enhanced battery saver

While a watch is in the enhanced battery saver mode, a default power-optimised watch face is displayed. All of the following are turned off:

Radios

The touch screen

The tilt to wake feature

Users can see the time by short-pressing the side button. A long press allows the user to switch back to a fully-operational mode and perform tasks such as paying with NFC or replying to a message. Developers should assume that their apps, watch faces, and complication data providers are unavailable in the enhanced battery saver mode.

Limited background activity

To improve power, apps in the background are no longer allowed to start alarms and jobs unless the watch is on the charger. Exceptions include watch faces and active complications.

Note: If your app must always run, e.g., for background monitoring, we recommend that you use a foreground service by using the startForegroundService() method. See Background service limitations for more details. Using a foreground service currently is appropriate for exceptional use cases such as health monitoring.

Improved app compatibility

In order to improve app compatibility, Android P has begun implementing certain restrictions on the use of non-SDK interfaces. You should make plans to migrate away from non-SDK methods and fields. If no public equivalent is available for your use case, please let us know.

Dark UI system theme

Since the beginning of 2018, Wear OS has switched to a default UI theme that has a darker background for the notifications stream and system launcher. This change is intended to improve glanceability for your apps, and you should check your app's accessibility with this new UI theme.

To help you explore important ways to develop with Wear OS, updated codelabs are available. For example, please try the new Kotlin-based watch face codelab, in which we experiment with Kotlin DSL (Kotlin domain-specific language). If you have any feedback, please let us know.

2018-March-27 Wear OS Developer Preview 1

Date: 2018-Mar-27

This section contains information about Developer Preview 1 of Wear OS by Google. We expect to provide several updates to this preview before the final production release. Please submit any bugs you find via the Wear OS by Google issue tracker. The earlier you submit them, the higher the likelihood that we can include the fixes in the final release.

Known issues

In the Wear OS companion app, tapping "Report wearable bug" will appear to work, but no bug report is actually generated. We recommend using adb bugreport as a workaround.

as a workaround. Accepting a phone call using the watch does not always succeed. If it does not succeed, the user needs to accept the call from the phone directly.

A "Detected problems with API compatibility" error sometimes appears after pairing or launching a pre-loaded app. That error message disappears after a short time and does not impact usability.

In the Settings menu on the watch and in the emulator, the "Take bug report" option is displayed twice. To take a bug report, try using each of the two options, because only one is functional. When you tap the functional option, a toast is displayed, showing that a bug report is being generated.

In the China version, voice input causes an app to crash. This occurs, for example, with voice search or using voice to add a reminder, because this functionality uses voice input APIs. For testing, use keyboard or handwriting input instead of voice input.

The Wear app store in the China version does not work. Developers will be unable to update or install new apps via that channel. We recommend that developers use adb to side-load their application for testing, as a workaround.

Highlights in this developer preview

Developer Preview 1 includes the following features for app testing:

Limited background activity: To improve power, apps in the background are no longer allowed to use alarms and jobs. Exceptions include watch faces and complications that the user has selected. This feature will be rolled out gradually in the developer previews, so you may not see it immediately on your watch. Note: If your app must always run, we recommend you modify it to make it a foreground service using the startForegroundService() method. See Background service limitations for further details.

To improve power, apps in the background are no longer allowed to use alarms and jobs. Exceptions include watch faces and complications that the user has selected. This feature will be rolled out gradually in the developer previews, so you may not see it immediately on your watch. Restrictions on apps' use of non-SDK interfaces. To improve app compatibility, Android P has begun implementing certain restrictions on the use of non-SDK interfaces. You should make plans to migrate away from non-SDK methods and fields. If no public equivalent is available for your use case, please let us know.

To improve app compatibility, Android P has begun implementing certain restrictions on the use of non-SDK interfaces. You should make plans to migrate away from non-SDK methods and fields. If no public equivalent is available for your use case, please let us know. Dark UI system theme. Since the beginning of 2018, Wear OS has switched to a default UI theme that has a darker background for the notifications stream and system launcher. This change is intended to improve glanceability for your apps, and you should check your app's accessibility with this new UI theme.

Since the beginning of 2018, Wear OS has switched to a default UI theme that has a darker background for the notifications stream and system launcher. This change is intended to improve glanceability for your apps, and you should check your app's accessibility with this new UI theme. Radios are off when the watch is off the body : To improve power, the bluetooth radio, Wi-Fi radio, and cellular radio are off when the watch is detected as off the body for an extended period. This feature will be rolled out gradually in the developer previews, so you may not initially see it on your watch. If this feature causes challenges in your development process, you can disable the feature via adb using the following command:

adb shell settings put global off_body_radios_off_for_small_battery_enabled 0

: To improve power, the bluetooth radio, Wi-Fi radio, and cellular radio are off when the watch is detected as off the body for an extended period. This feature will be rolled out gradually in the developer previews, so you may not initially see it on your watch. If this feature causes challenges in your development process, you can disable the feature via adb using the following command: Wi-Fi is off when BT is disconnected: To improve power, the watch will no longer automatically connect to Wi-Fi when the watch is disconnected from bluetooth. Exceptions include the case of an app requesting a high bandwidth network, and the case of the watch attached to a charger. This feature will be rolled out gradually in the developer previews, so you may not initially see it on your watch.

The v2.3.0 documentation update for the Wearable Support Library includes rebranding updates.

Additionally, v2.3.0 of the library includes updates related to ComplicationDrawable and TextRenderer , for text that has markup objects attached to text ranges. These classes have improved handling of Spanned texts. Only a certain subset of spans are allowed to be rendered (see the setText method for the span types that can be drawn), so the spans don't look out-of-place when rendered in a watch face.

2018-March-15 Rebrand of Wear

Date: 2018-March-15

This section contains information about Wear OS features.

New name for Android Wear

Android Wear has been renamed to Wear OS by Google.

2018-Feb-27 Ambient mode update

Date: 2018-Feb-27

This section contains information about new Android Wear features.

New class for supporting ambient mode

The 27.1.0 version of the Android Support Library contains a new class, AmbientModeSupport , which replaces the now-deprecated AmbientMode class. Updates to samples are planned in upcoming weeks.

2018-Jan-25 Final emulator and more

Date: 2018-Jan-25

This section contains information about new Android Wear features.

Android Emulator: Update for Wear

The final Wear-related update to the Android emulator is available for testing apps based on API version 26.

Enhancements in the Wearable Support Library, v2.2.0

The 2.2.0 version of the Wearable Support Library includes the updates described below.

A new unread notification indicator

Because users want to be aware of unread notifications, a new indicator is provided: an encircled dot at the bottom of the watch face. Mechanisms are available if you prefer to manage notifications on your own. You can use setHideNotificationIndicator to hide the default indicator whilst displaying your own or setShowUnreadCountIndicator to display a notification count in the status bar.

Customize the color of the outer ring of the unread notification indicator with the setAccentColor method.

Note: The unread notifications indicator is not enabled in the production version of Wear 2.8.0. You are advised to test your implementation using the latest Wear emulator instead. Starting with the next consumer release of Wear (version 2.9.0), the unread notifications indicator will be displayed by default.

For more information, see Managing the unread notification indicator.

Enhancements to the ComplicationDrawable class

The ComplicationDrawable class starts a permission request for a watch face that is tapped when the system indicates a value of TYPE_NO_PERMISSION (indicating that the watch face lacks permission to get the complication data).

Additionally, the ComplicationDrawable class invalidates itself when it finishes loading images or when a tap highlight expires. To respond to this invalidation (e.g., to redraw your watch face), add a Drawable.Callback .

Known issues

If you activate Theater mode in the emulator (see Change screen and brightness settings), the emulator can remain stuck on Theater mode. Fixing the issue requires clearing the emulator data; see Run and stop an emulator, and clear data.

Within the window of an emulator for API level 25 or 26, the power button does not work. Therefore, please use different buttons rather than the power button. Specifically, to switch to ambient mode (as if a user covered the screen with their palm, for example), use the power button on the emulator tool bar (to the right of the display). To start the application launcher (in interactive mode), use the Home (plain circle) button on the emulator tool bar.

On the China version of the emulator, if you use the handwriting input method, the screen can begin flashing. Then, when you click the button for the on-screen keyboard, the keyboard blocks half the screen.

2017-Dec-18 New access to Google Play services

This section contains information about new Android Wear features.

Migrate away from the GoogleApiClient class

Starting with version 11.8.0 of Google Play services, Wear apps should migrate away from the GoogleApiClient class and instead use API client objects that are based on the GoogleApi class, as well as the Tasks API.

Note: This update does not apply to Android Wear apps for China, which generally use version 10.2.0 of Google Play services.

For more information, see:

New components for connecting with Google Play services

When you use classes that extend the GoogleApi class, such as DataClient and MessageClient , the Google Play services SDK manages connections to Google Play services for you; see the related blog posting. Apps that use these classes no longer need to create and manage GoogleApiClient objects.

For the replacements of Wear-related components for connecting to Google Play services, see Replacements for Deprecated Components. For releases and known issues related to Google Play services, see the Release Notes for Google Play services.

Note: If you compile your app with the latest version of Google Play services, users are prompted to update their devices to that latest version. However, a known issue for apps that target API version 26 may prevent users from being prompted to update their devices. This issue is described in the Release Notes for Google Play services.

2017-Oct-25 Ambient mode and more

This section contains information about new Android Wear features.

Android Support Library, v27.0.0: Features and bugfixes

The 27.0.0 version of the Android Support Library contains new features for Wear, described below.

New, preferred way to support ambient mode

Ambient mode enables a Wear app to remain visible to a user when the device goes idle. The Android Support Library has a new, preferred way for your apps to use ambient mode. The Wear team seeks developer feedback about this significant change.

Specifically, using the AmbientMode class enables you to benefit from:

The Activity subclasses in the Android Support Library, such as FragmentActivity ; functionality for support library fragments is available

subclasses in the Android Support Library, such as ; functionality for support library fragments is available Architecture components, which are life-cycle aware

Better support for Google Sign-In

See Ambient Mode Using the AmbientMode Class.

Manifest metadata constants in the Android Support Library

Constants for Android Wear apps, for the meta-data tag in the Android Manifest file, are now available in the Android Support Library. To use the constants (for standalone apps, notification bridging mode, and watch face preview images), add a reference to the following in the dependencies section of the app module's build.gradle file (requires the latest version of the Google Repository):

compile 'com.android.support:wear:27.0.0'

Updates are available to the WearableActionDrawerView class, which is used for creating a wearable action drawer. In the latest version:

When menu items are modified, the action drawer is properly updated

If set for an action drawer, the title is displayed correctly

Inflation of the RoundedDrawable class

Assuming an API level of at least 24, the RoundedDrawable class can now be inflated from a drawable XML file; see Custom drawables.

Wearable Support Library, v2.1.0: Enhancements and more

The 2.1.0 version of the Wearable Support Library includes the updates described below and requires Android Support Library version 26.0.2 or higher.

Supply burn-in-safe images for ambient mode

The ComplicationDrawable class enables you to supply burn-in-safe images for ambient mode. Specifically, a ComplicationData object's burn-in protection small image field enables a watch face to display a small image (in the SMALL_IMAGE complication type) in ambient mode, when burn-in protection is enabled.

The ComplicationDrawable class has a new onTap method that enables your watch face to pass tap events to complications. The new method builds on the existing functionality in which a tap on the watch face triggers the WatchFaceService.Engine.onTapCommand method.

You can pass the coordinates to a ComplicationDrawable with an onTap call, to launch the action associated with the ComplicationDrawable that contains the tap coordinates. When the new onTap method is called, you can use a return value of true to see if a ComplicationDrawable launched the action associated with it.

Additionally, the setHighlightDuration method sets the duration for a complication to remain highlighted after the onTap method is called.

Progress bar for ranged value complications

If you prefer to draw your own progress bar for ranged value complications in your watch face, you may use the setRangedValueProgressHidden method of the ComplicationDrawable class to hide the ranged value progress that's drawn by the ComplicationDrawable .

2017-Oct-02 Android Wear beta

Date: 2017-Oct-02

Build: OWP4.170828.008

Supported device: LG Watch Sport



This section contains known issues for an Android Wear beta release. For information about the beta program and/or to enroll, see the Android beta page.

Known issues