Create and run a wearable app

Wear OS apps run directly on a watch, giving you access to hardware such as
sensors and the GPU. Wearable apps are similar to other apps that use the Android SDK,
but differ in design and functionality.

A Wear app should work independently of a phone app,
allowing users the greatest flexibility in their choice of phones.
For more information, see
Standalone Apps.

Note:
You can test your app on an actual watch by connecting to the watch via
Wi-Fi or Bluetooth. Development with an actual
watch enables you to better evaluate the total user experience.
A watch emulator also is available. You can use the watch emulator
in Android Studio to test your app with different screen shapes and sizes.

Create a Wear app

Start a Wear project

On the Configure your new project screen, accept
the default values and click Next.

On the Target Android Devices screen, select only
the Wear option, and in the Minimum SDK
list, select the latest available option.

Click Next, and on the Add an Activity to
Wear screen, select Blank Wear Activity and
click Next.

On the Customize the Activity screen, click
Finish.

Android Studio uses its templates to create an app.

In the build.gradle file for the app module:

In the android section, confirm that the
compileSdkVersion is set to 26.

In the android section, confirm that the
targetSdkVersion is set to 26.

Update the dependencies section. The first
dependency is for the Wear UI Library, which has classes
that exemplify best practices. The second dependency is
for the Wearable Support Library, which has additional
classes (including for watch faces):

Forward the AVD's communication port to the connected phone (each time
the phone is connected):adb -d forward tcp:5601 tcp:5601

On the phone, in the Wear OS app, begin the standard pairing process. For
example, on the Welcome screen, tap the Set It Up button.
Alternatively, if an existing watch already is paired, in the upper-left
drop-down, tap Add a New Watch.

On the phone, in the Wear OS app, tap the Overflow button,
and then tap Pair with Emulator.

Tap the Settings icon.

Under Device Settings, tap Emulator.

Tap Accounts and select a Google Account, and follow
the steps in the wizard to sync the account with the emulator. If
necessary, type the screen-lock device password, and Google Account
password, to start the account sync.

Update an existing project

If you have an existing project, you may need to update
your build.gradle file. Version 4.1 of Gradle
supports the use of google() for indicating the Google
Maven repository; prior versions of Gradle do not.
For related information, see
Google's Maven repository.

Thus, if your Gradle version is lower than 4.1, provide the Google Maven
repository URL in the build.gradle file for your
Android Studio project. Specifically, in the
repositories section, add a maven
section as follows:

Set up a phone

This section contains information about setting up a companion phone
with an Wear OS companion app.

Note:
Wear apps should be standalone, and work independently of a phone.
However, if your app depends on a phone app,
see the information below about updating a phone with the latest
Wear OS companion app.

Use the Android version of the companion app

On an Android phone, go to the
Wear OS app listing. Tap Update to download and
install the app. After installation, confirm that
Auto-update is selected for the app (see
the "Set up automatic updates for specific apps" section of Update downloaded
apps). Tap Open to start the app.

Pair an Android phone to a watch

After you install the companion app on a phone,
unpair ("Forget") any obsolete watch pairings, if necessary.
Then you can pair the phone to a newly-imaged watch:

On the phone, select your device name from the list of devices. A pairing
code is displayed on the phone and on the watch. Ensure that the codes match.

Tap Pair to continue the pairing process. When the watch
is connected to the phone, a confirmation message is displayed. On the
phone, a screen is displayed that lists the accounts on the phone.

Choose a Google Account to add and sync to your watch.

Confirm the screen lock and enter the password to start the copying of
the account from the phone to the watch.

Follow the instructions in the wizard to finish the pairing process.

Companion app for iPhones

An iOS companion app is available but the phone on which the
app is installed must be running iOS 8.2 or higher:

On your iPhone, visit the App Store and
download
and install the Wear companion app on your iPhone.

Follow the instructions on the watch and on the phone to begin the
pairing process. For additional information, see the related
Help page.

Include libraries

Note:
We recommend using Android Studio for Wear OS development, as it provides project setup,
library inclusion, and packaging.

When you use Android Studio's Project Wizard, the wizard imports
dependencies in the appropriate module's build.gradle file.
However, the dependencies are not required for all apps;
please review the information below about the dependencies.

To update an existing Wear project to the latest SDK version, use the
settings listed in the Start a Wear project
section.

Notifications

Wear UI Library

The components in the Wear UI Library are recommended because
they exemplify best practices for watch apps.
Therefore, it is recommended that you
add a dependency on the Android Support Library.
For more information, see the following pages:

Wearable Support Library

The Wearable Support Library has UI components for watch apps.
Some of its
classes are deprecated. For information about the classes
that replace the deprecated ones,
see
Use the Wear UI Library.

Although the UI components can change at any time, a change in a component
doesn't cause an app to break (because the components are
compiled into your app). To get new features from an updated library,
statically link the new library version and update your app
accordingly.

Play Services and the Wearable Data Layer APIs

If your app depends on Google Play Services, either to sync and send data
(using the Data Layer APIs) or for other reasons, you need the latest
version of
Google Play Services. If you are
not using these APIs, remove the dependency.

Differences between phone and watch apps

The following are some of the differences between phone and watch apps:

You can check if a watch supports a feature by calling
hasSystemFeature()
before using an API.

Save power on the watch

To conserve power on a watch, enable ambient mode in your app. A watch transitions from
interactive mode to ambient mode when the watch is idle on an activity or when a user
covers the screen with their palm. Watch apps that can transition into ambient mode are
called always-on apps. The following describes the two modes of operation for
always-on apps:

Interactive

Use full color with fluid animation in this mode. The app is also responsive to input.

Ambient

Render the screen with black and white graphics and do not present any input cues in
this mode. This display mode is only supported on devices running Android 5.1 or higher.

On devices running versions prior to Android 5.1 or for apps that do not support ambient mode,
when a user is idle on an activity or when the user covers the screen with their palm on an
activity, the Wear home screen is displayed instead of your activity in ambient mode. If you
need to show persistent content on versions prior to Android 5.1, create a notification in the
context stream instead.