Android 12 Developer Preview is here! Try it out, and give us your feedback!

Package and distribute Wear apps

With Wear OS by Google, a user can visit the Play Store on a watch and download a Wear app directly to the watch. Additionally, a user can install an app directly onto their watch using the web-based Play Store.

When a Wear app has an accompanying mobile app, you must use the same key to sign each of the two apps for them to communicate using the Data Layer APIs.

Plan for the Play Store

To make your app appear in the on-watch Play Store, upload the watch APK in the Play Console just as you would any other APK. If you have only a watch APK and no phone APK, no other steps are required.

If you have a phone APK in addition to a watch APK, you must use the Multi-APK delivery method.

Distribution to Wear watches

On devices running Wear OS, when a user installs a phone app that has an associated watch app, the user gets a watch notification about the available watch app. Tapping the notification opens the watch Play Store, giving the user the option to install the watch app.

When you upload a watch APK using the Play Console, you can update your Wear APK independently from the phone APK. Your users will then receive updates using the watch Play Store. When you push an update to Play Console, the app automatically gets updated unless the user disabled auto-updates in the on-watch Play Store settings. Users can also update the apps manually in the Play Store.

Specify a version code

A watch APK's version code scheme can be independent from that of a phone APK. Its version code must also be unique.

It currently isn't possible to create a single APK that works on both a phone and watch.

If your Wear APK and companion APK share code and require coordinated releases, you should reserve the last two digits of the version code for APK variants. An example of an APK variant is CPU architecture. For an example, see, Multiple APK support.

Here is a suggested version code scheme:

  • Set the first two digits of the version code to the targetSdkVersion, such as 28.
  • Set the next three digits to the product version, such as 152 for a product version of 1.5.2.
  • Set the next two digits to build or release number, such as 01.
  • Reserve the last two digits for a multi-APK variant, such as 00.

If the example values (28, 152, 01, and 00) in this suggested version code scheme are used, the version code for the example APK variant would be 251520100.

Also see Set application version information.

Set up targeting for a watch

In your Android manifest file, you must set the uses-feature element to android.hardware.type.watch. Additionally, don't set the required attribute to false. Creating a single APK for Wear and non-Wear devices isn't supported at this time.

Thus, if an APK has the setting shown in the following sample, Google Play provides the APK to watches only:

<manifest package="com.example.standalone"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-feature
        android:name="android.hardware.type.watch"/>
    ...
</manifest>

Combine the android.hardware.type.watch setting in the previous code sample with other criteria, such as SDK version, screen resolution, and CPU architecture. This way, different Wear APKs can target different hardware configurations.

Specify an app as standalone

Wear requires a meta-data element in the Android manifest file of watch apps, as a child of the <application> element. The name of the meta-data element is com.google.android.wearable.standalone and the value must be true or false. The element indicates whether your watch app is a standalone app. If the setting for the element is true, your app can be made available in the Play Store on watches paired to iPhones, as long as your active APKs in all channels (for example, in the beta channel) have the element set to true. If all of your APKs (alpha, beta, and production) that are currently served to users don't have the above setting, your app will be unavailable when a user searches on a watch paired to an iPhone.

A watch app may or may not be considered standalone. A watch app can be categorized as one of the following:

  • Completely independent of a phone app.
  • Semi-independent (a phone app isn't required and would provide only optional features).
  • Dependent on a phone app.

If a watch app is completely independent or semi-independent, set the value of the new meta-data element to true, as shown in the following code sample:

<application>
...
  <meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
...
</application>

Because a standalone app (an independent or semi-independent app) can be installed by an iPhone user or a user of an Android phone that lacks the Play Store, the watch app should be usable without the Android phone app.

If a watch app depends on a phone app, set the value of the above meta-data element to false. Setting the element to false signifies that the watch app should be installed only on a watch that is paired with a phone that has the Play Store.

Even if the value is false, the watch app can be installed before the phone app is installed.

If your Wear app has an accompanying phone app, use the same package name for your Wear app and that phone app.

Note: We encourage developers to create a standalone app that can be enhanced with a mobile app. For an example of an app that can add extra features, see this sample app on GitHub.

Use the Play Console

You can use the Play Console to upload a standalone Wear APK to an app listing.

Also see Multiple APK support and Manage your app. Ensure the APK is signed before uploading, as described later in this topic.

Upload and publish your APK

To upload and publish your APK using Play Console, follow the same process you would for mobile. Make sure you upload your Wear APK in the App bundles and APKs section of the release page. This gives you some Wear-specific sections for your release.

Top reasons Wear OS apps are rejected from the Play Store

Review the following list to reduce the likelihood of your app being rejected from the Play Store. In addition, review the Wear OS app quality page to make sure your app meets those guidelines.

Doesn't mention "Wear OS" in the store listing

Developers are required to mention "Wear OS" in the Wear/Watch app's store listing.

Basic functionality is broken

This is a broad category, but apps can be rejected when they aren't functioning properly. Make sure you thoroughly test your app on the emulator and a physical device.

In addition, make sure your app screenshots reflect what the actual app looks like. If the screenshots aren't accurate, the app is considered not working as advertised and will be rejected.

No Wear screenshot

Apps are required to include a Wear screenshot. The process is similar to mobile and is easy to do from Android Studio. In addition, we offer several Wear skins for your screenshots. Make sure to create a round and square preview.

Not formatted for round displays

Be sure to specify in the Play Store description if your app doesn't support round displays. Otherwise, if an app's layout doesn't render correctly on a round display, it will be rejected.

Make sure you test your app on a round device/emulator to make sure the same layouts render correctly.

Missing functionality requirements

A common missing functionality requirement is when notifications aren't enhanced for Wear. Make sure you follow the visual guidelines and enable users to reply using RemoteInput for messaging apps.