Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

创建和运行穿戴式设备应用

Wear OS 应用直接在手表上运行,可让您使用传感器和 GPU 等硬件。穿戴式设备应用与使用 Android SDK 的其他应用类似,但在设计和功能方面有所不同。

Wear 应用应独立于手机应用运行,以便用户在选择手机时拥有最大的灵活性。如需更多信息,请参阅独立应用

注意:您可以通过 WLAN 或蓝牙连接到手表,在真实手表上测试自己的应用。借助真实手表进行应用开发可让您更好地评估整体用户体验。此外,您也可以使用手表模拟器。您可以使用 Android Studio 中的手表模拟器,针对不同的屏幕形状和尺寸测试自己的应用。

设置您的环境

安装最新版本的 Android Studio。如需了解如何在 Android Studio 中创建应用,请参阅项目概览

使用 SDK 管理器确认您拥有最新版本的 Android 平台。具体来说,在 SDK Platforms 标签下,选择 Android 8.0 (Oreo)

如果您计划使自己的 Wear OS 应用可在中国境内使用,请参阅创建适合在中国境内使用的 Wear OS 应用

创建 Wear OS 应用

您可以使用 Android Studio 的 New Project 向导来创建 Wear OS 应用。

开始 Wear OS 项目

要在 Android Studio 中创建项目,请执行以下操作:

  1. 依次点击 File > New > New Project
  2. Configure your new project 屏幕上,接受默认值并点击 Next
  3. Target Android Devices 屏幕上,仅选择 Wear 选项,然后在 Minimum SDK 列表中选择最新的可用选项。
  4. 点击 Next,在 Add an Activity to Wear 屏幕上,选择 Blank Wear Activity,然后点击 Next
  5. Customize the Activity 屏幕上,点击 Finish

    Android Studio 将使用其模板来创建应用。

  6. 在应用模块的 build.gradle 文件中:
    • android 部分,确认 compileSdkVersion 设为 26。
    • android 部分,确认 targetSdkVersion 设为 26。
    • 更新 dependencies 部分。第一个依赖关系针对的是 Wear 界面库,该库中包含体现了最佳做法的类。第二个依赖关系针对的是穿戴式设备支持库,该库包含其他类(包括适用于表盘主题的类):
          dependencies {
            implementation 'com.android.support:wear:27.1.1'
            implementation 'com.google.android.support:wearable:2.3.0'
            compileOnly 'com.google.android.wearable:wearable:2.3.0'
          }
  7. 在应用的 Android 清单文件 (AndroidManifest.xml) 中,指明您的应用是独立应用。具体来说,添加 meta-data 标记,如下所示:
    • 查找 <application> 标记。
    • 使用一个名称为 com.google.android.wearable.standalone 且值为 truemeta-data 标记作为上述标记的子标记。
          <application>
          ...
            <meta-data
              android:name="com.google.android.wearable.standalone"
              android:value="true" />
          ...
          </application>
          
  8. 在 Android 清单文件中,确保已定义 <uses-feature> 标记。至少必须使用 android:name="android.hardware.type.watch" 定义该标记,如下所示:
        <manifest>
        ...
          <uses-feature android:name="android.hardware.type.watch" />
        ...
        </manifest>
        
  9. 同步您的 Android Studio 项目。要在新模块中运行代码,请参阅启动模拟器并运行您的 Wear OS 应用

启动模拟器并运行您的 Wear OS 应用

要使用模拟器,您必须配置 Android Virtual Device(下称 AVD)。请通过 SDK 管理器确认您拥有最新版本的 Android SDK 平台工具

您可以按照以下步骤配置 AVD 并运行您的应用:

  1. 在 Android Studio 中,依次选择 Tools > AVD Manager,以打开 Android Virtual Device Manager。
  2. 点击 Create Virtual Device
  3. Category 窗格中,选择 Wear,并选择硬件配置文件。点击 Next
  4. 选择要下载的 O 映像。例如,选择 Release Name 为“O”、API Level 为“26”且 Target 为“Android 8.0 (Wear OS)”的映像。点击 Next,然后点击 Finish
  5. 关闭 Android Virtual Device Manager。
  6. 在 Android Studio 中,点击 Run 按钮。
  7. 选择新的 AVD,然后点击 OK

    该 AVD 将启动,并会在过一会儿后运行您的应用。您将会看到“Hello...”消息。

要详细了解如何使用 AVD,请参阅在 Android 模拟器上运行应用

将手机与手表 AVD 配对

注意:不支持将手表 AVD 与手机 AVD 配对。必须与连接的手机配对。

如果您希望手表 AVD 上有一个 Google 帐号,以便进行应用开发,可以将手机与手表 AVD 配对并同步 Google 帐号:

  1. 按照设置手机的步骤进行操作。
  2. 在手机上,启用开发者选项USB 调试
  3. 通过 USB 将手机连接到计算机。
  4. 将 AVD 的通信端口转接到连接的手机(每次连接手机时):
    adb -d forward tcp:5601 tcp:5601
  5. 在手机上的 Wear OS 应用中,开始执行标准配对过程。例如,在“欢迎”屏幕上,点按设置按钮。或者,如果已配对某个现有手表,请在左上方的下拉菜单中点按添加新手表
  6. 在手机上的 Wear OS 应用中,点按“溢出”按钮,然后点按与模拟器配对
  7. 点按设置图标。
  8. 设备设置下方,点按模拟器
  9. 点按帐号并选择一个 Google 帐号,然后按照向导中的步骤将帐号与模拟器同步。必要时,输入屏幕锁定设备密码和 Google 帐号密码,以开始帐号同步。

更新 Wear OS 项目

如果您已有项目,可能需要更新 build.gradle 文件。Gradle 4.1 版支持使用 google() 来指明 Google Maven 代码库,早期版本的 Gradle 不支持此功能。要了解相关信息,请参阅 Google 的 Maven 代码库

因此,如果您的 Gradle 版本低于 4.1,请在 Android Studio 项目的 build.gradle 文件中提供 Google Maven 代码库网址。具体来说,在 repositories 部分添加一个 maven 部分,如下所示:

      allprojects {
          repositories {
              jcenter()
              maven {
                  url "https://maven.google.com"
              }
          }
      }

设置手表

将应用部署到手表与将应用部署到手机类似。

本部分假定您的手表有 USB 端口。如果您的手表没有 USB 端口,请参阅通过 WLAN 或蓝牙连接手表的说明。

在手表上启用 ADB 调试:

  1. 打开手表上的设置菜单。
  2. 滚动到菜单底部。如果菜单中未提供开发者选项,请依次点按系统关于
  3. 点按版本号 7 次。
  4. 设置菜单中,点按开发者选项
  5. 启用 ADB 调试

连接手表:

  1. 通过 USB 将手表连接到您的计算机,以便将应用直接安装到手表上。或者,通过 WLAN 或蓝牙将手表连接到您的计算机。
  2. 在手表上,点按始终允许使用这台计算机进行调试,然后点按确定

连接手表后,通过选择部署目标来运行您的应用,就像在手机上一样

设置手机

本部分介绍了如何为配套手机设置 Wear OS 配套应用。

注意:Wear OS 应用应该是独立应用,独立于手机运行。不过,如果您的应用依赖于某个手机应用,请参阅下文,了解如何更新手机,使其拥有最新的 Wear OS 配套应用。

使用配套应用的 Android 版本

在 Android 手机上,转到 Wear OS 应用详情。点按更新以下载并安装应用。安装后,确认已为应用选择自动更新(请参阅更新下载的应用的“为特定应用设置自动更新”部分)。点按打开以启动应用。

将 Android 手机与手表配对

在手机上安装配套应用后,如有必要,请取消(“忘记”)所有过时的手表配对。然后,您可以将手机与安装了新映像的手表进行配对:

  1. 在手机上,从设备列表中选择您的设备名称。手机和手表上都会显示配对码。请确保配对码匹配。
  2. 点按配对以继续配对过程。手表连接到手机后,系统会显示一条确认消息。手机上会显示一个屏幕,其中会列出手机上的帐号。
  3. 选择要添加并同步到手表的 Google 帐号。
  4. 确认屏幕锁定,然后输入密码以开始将帐号从手机同步到手表。
  5. 按照向导中的说明完成配对过程。

适用于 iPhone 的配套应用

如果有 iOS 版配套应用,但安装该应用的手机必须运行 iOS 8.2 或更高版本:

  1. 在 iPhone 上访问 App Store,然后将 Wear 配套应用下载并安装到 iPhone 上。
  2. 按照手表和手机上的说明开始配对过程。如需更多信息,请参阅相关的帮助页面

将 Wear OS 模块添加到您的项目

在 Android Studio 中,您可以向现有项目添加一个用于 Wear OS 设备的模块,以便重复使用移动(手机)应用的代码。

在您的现有项目中提供 Wear OS 模块

要创建 Wear OS 模块,请打开您的现有 Android Studio 项目并执行以下操作:

  1. 依次点击 File > New > New Module
  2. New Module 窗口中,选择 Wear OS Module,然后点击 Next
  3. Configure the new module 下方,输入:
    • Application/Library Name:此字符串是新模块的应用启动器图标使用的标题。
    • Module Name:此字符串是源代码和资源文件所在文件夹的名称。
    • Package Name:此字符串是代码在模块中的 Java 命名空间,会作为 package 属性添加到模块的 Android 清单文件中。
    • Minimum SDK:选择应用模块支持的最低平台版本。例如,选择 API 26: Android 8.0 (Oreo)。此值会设置 build.gradle 文件中的 minSdkVersion 属性(稍后您可以对该属性进行修改)。
  4. 点击 Next。此时将显示包含代码模板的选项。点击 Blank Wear Activity,然后点击 Next
  5. Configure Activity 窗口中,输入 Activity NameLayout NameSource Language 的值或接受默认值。点击 Finish

Android Studio 随即会为新模块创建并同步文件。Android Studio 还会将 Wear OS 所需的所有依赖关系添加到新模块的编译文件中。新模块随即会显示在屏幕左侧的 Project 窗口中。如果您没有看到新模块的文件夹,请确保窗口中显示的是 Android 视图

在新 (Wear OS) 模块的 build.gradle 文件中:

  • android 部分,将 compileSdkVersiontargetSdkVersion 的值设为 26。
  • 更新 dependencies 部分,使其包含以下内容:
        dependencies {
          implementation 'com.android.support:wear:27.1.1'
          implementation 'com.google.android.support:wearable:2.3.0'
          compileOnly 'com.google.android.wearable:wearable:2.3.0'
        }
  • 同步您的 Android Studio 项目。要运行新模块中的代码,请参阅启动模拟器并运行您的 Wear OS 应用

包含库

注意:建议使用 Android Studio 进行 Wear OS 开发,因为它提供了项目设置、库集成和打包功能。

当您使用 Android Studio 的项目向导时,该向导会将依赖关系导入到相应模块的 build.gradle 文件中。不过,并非所有应用都需要这些依赖关系,请查看下面有关依赖关系的信息。

要将现有 Wear 项目更新为最新的 SDK 版本,请使用启动 Wear OS 项目部分中列出的设置。

通知

要了解通知的依赖关系,请参阅在 Wear 上创建通知

Wear 界面库

建议使用 Wear 界面库中的组件,因为它们体现了适合手表应用的最佳做法。因此,建议您添加对 Android 支持库的依赖关系。如需更多信息,请参阅以下页面:

穿戴式设备支持库

穿戴式设备支持库包含适用于手表应用的界面组件。该库中的一些已被弃用。如需了解这些已弃用类的替代类,请参阅使用 Wear 界面库

虽然界面组件可能会随时更改,但组件的更改不会导致应用无法运行(因为这些组件已编译到您的应用中)。要从更新的库中获取新功能,请静态链接新的库版本,并相应地更新您的应用。

Play 服务和穿戴式设备数据层 API

如果您的应用为了同步和发送数据(使用数据层 API)或出于其他原因而依赖于 Google Play 服务,那么您需要最新版本的 Google Play 服务。如果您不使用这些 API,请移除依赖关系。

手机应用和手表应用之间的差异

下面是手机应用和手表应用之间的一些差异:

节省手表的电量

要节省手表的电量,可在应用中启用微光模式。当手表在 Activity 中处于闲置状态时,或当用户用手掌遮挡屏幕时,手表将从交互模式转换为微光模式。可转换为微光模式的手表应用称为始终开启的应用。下面介绍了始终开启的应用的两种操作模式:

交互
在此模式下,使用全彩色与流体动画。应用还可对输入做出响应。
微光
在此模式下,使用黑白色图形渲染屏幕,且不显示任何输入提示。只有运行 Android 5.1 或更高版本的设备支持此显示模式。

在 Android 版本低于 5.1 的设备上,或者对于不支持微光模式的应用,当用户在某个 Activity 中未执行任何操作或用手掌遮挡屏幕时,系统将显示 Wear 主屏幕,而不是在微光模式下显示 Activity。如果您需要在 Android 版本低于 5.1 的设备上显示持久性内容,请在情境卡片信息流中创建通知。