Wear OS アプリはスマートウォッチ上で直接実行され、センサーや GPU などのハードウェアを操作できます。ウェアラブル アプリは Android SDK を使用する他のアプリに似ていますが、デザインと機能が異なります。
Wear アプリはスマートフォン アプリとは独立して動作する必要があるため、ユーザーはスマートフォンを柔軟に選択できます。 詳しくは、スタンドアロン アプリをご覧ください。
注: Wi-Fi または Bluetooth でスマートウォッチに接続することで、実際のスマートウォッチでアプリをテストできます。実際のスマートウォッチを使って開発を進めると、全体的なユーザー エクスペリエンスの評価を高めることができます。 また、スマートウォッチ用エミュレータも使用できます。Android Studio のスマートウォッチ用エミュレータを使用すると、さまざまな形状やサイズの画面でアプリをテストできます。
環境をセットアップする
最新バージョンの Android Studio をインストールします。 Android Studio でアプリを作成する方法については、プロジェクトの概要をご覧ください。
SDK Manager を使用して、Android プラットフォームが最新バージョンであることを確認します。 具体的には、[SDK Platforms] タブで [Android 8.0 (Oreo)] を選択します。
Wear OS アプリを中国で公開する予定の場合は、中国向けの Wear OS アプリを作成するをご覧ください。
Wear OS アプリを作成する
Wear OS アプリを作成するには、Android Studio の New Project ウィザードを使用します。
Wear OS プロジェクトを開始する
Android Studio でプロジェクトを作成する手順は次のとおりです。
- [File] > [New] > [New Project] をクリックします。
- [Configure your new project] 画面でデフォルト値をそのままにして、[Next] をクリックします。
- [Target Android Devices] 画面で [Wear] オプションのみを選択し、[Minimum SDK] のリストで使用可能な最新のオプションを選択します。
- [Next] をクリックし、[Add an Activity to Wear] 画面で [Blank Wear Activity] を選択して、[Next] をクリックします。
- [Customize the Activity] 画面で [Finish] をクリックします。
Android Studio はテンプレートを使用してアプリを作成します。
- アプリ モジュールの
build.gradle
ファイルで以下を行います。android
セクションで、compileSdkVersion
が 26 に設定されていることを確認します。android
セクションで、targetSdkVersion
が 26 に設定されていることを確認します。-
dependencies
セクションを更新します。1 つ目の依存関係は Wear UI ライブラリ用です。このライブラリにはおすすめの方法を体現するクラスが含まれています。2 つ目の依存関係はウェアラブル サポート ライブラリ用です。このライブラリにはその他のクラス(ウォッチフェイス用など)が含まれています。dependencies { implementation 'androidx.wear:wear:1.0.0' implementation 'com.google.android.support:wearable:2.5.0' compileOnly 'com.google.android.wearable:wearable:2.5.0' }
-
アプリの Android マニフェスト ファイル(
AndroidManifest.xml
)で、アプリがスタンドアロンであることを示します。具体的には、次のようにmeta-data
タグを追加します。<application>
タグを探します。- そのタグの子として、名前が
com.google.android.wearable.standalone
、値がtrue
のmeta-data
タグを使用します。<application> ... <meta-data android:name="com.google.android.wearable.standalone" android:value="true" /> ... </application>
- Android マニフェスト ファイルで、
<uses-feature>
タグが定義されていることを確認します。少なくとも、次のようにandroid:name="android.hardware.type.watch"
が定義に含まれている必要があります。<manifest> ... <uses-feature android:name="android.hardware.type.watch" /> ... </manifest>
- Android Studio プロジェクトを同期します。 新しいモジュールでコードを実行する場合は、エミュレータを起動して Wear OS アプリを実行するをご覧ください。
エミュレータを起動して Wear OS アプリを実行する
エミュレータを使用するには、Android Virtual Device(AVD)を設定する必要があります。SDK Manager で、Android SDK Platform-tools が最新バージョンであることを確認します。
次のように AVD を設定してアプリを実行します。
- Android Studio で Android Virtual Device Manager を開きます([Tools] > [AVD Manager] を選択します)。
- [Create Virtual Device] をクリックします。
- [Category] ペインで、[Wear] を選択し、ハードウェア プロファイルを選択します。[Next] をクリックします。
- O イメージを選択してダウンロードします。たとえば、[Release Name] が「O」、[API Level] が「26」、[Target] が「Android 8.0 (Wear OS)」のイメージを選択します。[Next]、[Finish] の順にクリックします。
- Android Virtual Device Manager を終了します。
- Android Studio のツールバーで、作成した AVD をターゲット デバイスのプルダウン メニューから選択し、Run
をクリックします。
AVD が起動し、しばらくするとアプリが実行され、「Hello...」 というメッセージが表示されます。
AVD の使用方法について詳しくは、Android エミュレータでアプリを実行するをご覧ください。
スマートフォンとスマートウォッチ AVD をペア設定する
注: スマートウォッチ AVD とスマートフォン AVD のペア設定はサポートされていません。接続されているスマートフォンとペア設定する必要があります。
開発用のスマートウォッチ AVD で Google アカウントを使用する場合は、スマートフォンとスマートウォッチ AVD をペア設定して Google アカウントを同期します。
- スマートフォンをセットアップするの手順に沿って操作します。
- スマートフォンで、開発者向けオプションと USB デバッグを有効にします。
- スマートフォンとパソコンを USB で接続します。
- AVD の通信ポートを接続済みのスマートフォンに転送します(スマートフォンを接続するたびに行います)。
adb -d forward tcp:5601 tcp:5601
- スマートフォンの Wear OS アプリで、標準のペア設定プロセスを開始します。たとえば、開始画面で [設定する] ボタンをタップします。 または、すでにペア設定されているスマートウォッチがある場合は、左上のプルダウンから [新しいスマートウォッチを追加] をタップします。
- スマートフォンの Wear OS アプリで、オーバーフロー ボタンをタップしてから [エミュレータをペア設定] をタップします。
- 設定アイコンをタップします
- [デバイスの設定] の [エミュレータ] をタップします。
- [アカウント] をタップして Google アカウントを選択し、ウィザードの手順に沿ってアカウントとエミュレータを同期します。必要に応じて、デバイスの画面ロックのパスワードや Google アカウントのパスワードを入力し、アカウントの同期を開始します。
Wear OS プロジェクトを更新する
既存のプロジェクトがある場合、build.gradle
ファイルの更新が必要になることがあります。バージョン 4.1 の Gradle では、google()
を使用して Google Maven リポジトリを指定できますが、それより前のバージョンの Gradle では、この操作は行えません。
関連情報については、Google の Maven リポジトリをご覧ください。
したがって、Gradle のバージョンが 4.1 未満の場合は、Android Studio プロジェクトの build.gradle
ファイルで Google Maven リポジトリの URL を指定します。具体的には、repositories
セクションで次のように maven
セクションを追加します。
allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } }
スマートウォッチをセットアップする
アプリのスマートウォッチへのデプロイは、アプリのスマートフォンへのデプロイに似ています。
ここでは、スマートウォッチに USB ポートがあると仮定します。 スマートウォッチに USB ポートがない場合は、Wi-Fi または Bluetooth でスマートウォッチを接続する手順をご覧ください。
スマートウォッチで adb デバッグを有効にします。
- スマートウォッチで [設定] メニューを開きます。
- メニューの一番下までスクロールします。[開発者向けオプション] が表示されない場合は、[システム]、[デバイス情報] の順にタップします。
- ビルド番号を 7 回タップします。
- [設定] メニューで [開発者向けオプション] をタップします。
- [ADB デバッグ] を有効にします。
スマートウォッチを接続します。
- アプリをスマートウォッチに直接インストールできるよう、USB でスマートウォッチをマシンに接続します。あるいは、Wi-Fi または Bluetooth でスマートウォッチをマシンに接続します。
- スマートウォッチで、[このパソコンからの USB デバッグを常に許可する] をタップして、[OK] をタップします。
スマートウォッチを接続したら、スマートフォンの場合と同様に、デプロイ ターゲットを選択してアプリを実行します。
スマートフォンをセットアップする
ここでは、Wear OS コンパニオン アプリを使用してコンパニオン スマートフォンをセットアップする方法を説明します。
注: Wear OS アプリはスタンドアロンである必要があり、スマートフォンとは独立して動作します。 ただし、アプリがスマートフォン アプリに依存している場合は、最新の Wear OS コンパニオン アプリを使用したスマートフォンの更新に関する以下の情報をご確認ください。
Android 版のコンパニオン アプリを使用する
Android スマートフォンで、Wear OS アプリの掲載情報に移動します。[更新] をタップしてアプリをダウンロードし、インストールします。インストール後、アプリで [自動更新] が選択されていることを確認します(Android アプリの更新の「Android アプリを個別に自動更新する」をご覧ください)。[開く] をタップしてアプリを起動します。
Android スマートフォンとスマートウォッチをペア設定する
スマートフォンにコンパニオン アプリをインストールしたら、必要に応じてスマートウォッチとの古いペア設定を解除(「切断」)します。 その後、スマートフォンと新しいイメージが書き込まれたスマートウォッチをペア設定することができます。
- スマートフォンで、デバイスのリストからデバイス名を選択します。スマートフォンとスマートウォッチにペア設定コードが表示されたら、コードが一致していることを確認します。
- [ペア設定する] をタップして、ペア設定プロセスを進めます。スマートウォッチがスマートフォンに接続されると、確認メッセージが表示されます。スマートフォンには、スマートフォンのアカウント一覧画面が表示されます。
- スマートウォッチに追加して同期する Google アカウントを選択します。
- 画面ロックを確認し、パスワードを入力して、スマートフォンからスマートウォッチにアカウントをコピーします。
- ウィザードの手順に沿ってペア設定プロセスを完了します。
iPhone 用のコンパニオン アプリ
iOS コンパニオン アプリは使用可能ですが、インストール先のスマートフォンで iOS 8.2 以降が実行されている必要があります。
- iPhone で App Store にアクセスし、Wear コンパニオン アプリをダウンロードしてインストールします。
- スマートウォッチとスマートフォンでペア設定プロセスを開始します。詳しくは、関連するヘルプページをご覧ください。
Wear OS モジュールをプロジェクトに追加する
Android Studio で既存のプロジェクトに Wear OS デバイス用のモジュールを追加することで、モバイル(スマートフォン)アプリのコードを再利用できます。
既存のプロジェクトに Wear OS モジュールを提供する
Wear OS モジュールを作成するには、既存の Android Studio プロジェクトを開いて次の手順を行います。
- [File] > [New] > [New Module] をクリックします。
- [New Module] ウィンドウで [Wear OS Module] を選択し、[Next] をクリックします。
- [Configure the new module] の以下の各欄に入力します。
- Application/Library Name: 新しいモジュールのアプリ ランチャー アイコンのタイトル。
- Module Name: ソースコード ファイルとリソース ファイル用のフォルダの名前。
- Package Name: モジュールのコードの Java 名前空間。この文字列は、モジュールの Android マニフェスト ファイルに
package
属性として追加されます。 - Minimum SDK: アプリ モジュールがサポートするプラットフォームの最も古いバージョンを選択します。たとえば、[API 26: Android 8.0 (Oreo)] を選択します。
この値は、
build.gradle
ファイル内のminSdkVersion
属性に設定されます。この属性は後で編集できます。
- [Next] をクリックします。コード テンプレートを含むオプションが表示されるので、[Blank Wear Activity]、[Next] の順にクリックします。
- [Configure Activity] ウィンドウで、[Activity Name]、[Layout Name]、[Source Language] の値を入力するか、デフォルト値をそのまま使用して、[Finish] をクリックします。
Android Studio は、新しいモジュールのファイルを作成して同期します。 また、Wear OS に必要な依存関係を新しいモジュールのビルドファイルに追加します。新しいモジュールは画面の左側にある [Project] ウィンドウに表示されます。 新しいモジュールのフォルダが表示されない場合は、ウィンドウに [Android] ビューが表示されていることを確認します。
新しい(Wear OS)モジュールの build.gradle
ファイルで以下の操作を行います。
android
セクションで、compileSdkVersion
とtargetSdkVersion
の値を 26 に設定します。- 以下を含むように
dependencies
セクションを変更します。dependencies { implementation 'androidx.wear:wear:1.0.0' implementation 'com.google.android.support:wearable:2.5.0' compileOnly 'com.google.android.wearable:wearable:2.5.0' }
- Android Studio プロジェクトを同期します。新しいモジュールでコードを実行する場合は、エミュレータを起動して Wear OS アプリを実行するをご覧ください。
ライブラリを追加する
注: Wear OS の開発には Android Studio を使用することをおすすめします。Android Studio では、プロジェクトのセットアップ、ライブラリのインクルード、パッケージングなどを行うことができます。
Android Studio の Project Wizard を使用すると、適切なモジュールの build.gradle
ファイルに依存関係をインポートできます。
ただし、依存関係はすべてのアプリに必要なわけではありません。依存関係については、以下の情報をご確認ください。
既存の Wear プロジェクトを最新の SDK バージョンに更新するには、Wear OS プロジェクトを開始するで示した設定を使用します。
通知
通知の依存関係については、Wear で表示する通知を作成するをご覧ください。
Wear UI ライブラリ
Wear UI ライブラリのコンポーネントを使用することで、スマートウォッチ アプリのおすすめの方法を体現できます。 そのため、Wear UI ライブラリへの依存関係を追加することをおすすめします。 詳しくは、以下のページをご覧ください。
- Wear UI ライブラリの使用
- カスタム レイアウトを作成する
- リファレンス ドキュメント:
ウェアラブル サポート ライブラリ
ウェアラブル サポート ライブラリにはスマートウォッチ アプリ用の UI コンポーネントが含まれています。 このライブラリの一部のクラスは非推奨です。非推奨のクラスの代わりになるクラスについては、Wear UI ライブラリを使用するをご覧ください。
UI コンポーネントは常に変更される可能性がありますが、コンポーネントが変更されてもアプリが中断することはありません(コンポーネントはアプリにコンパイルされるため)。最新のライブラリの新機能を使用するには、新しいライブラリ バージョンを静的にリンクし、それに応じてアプリを更新します。
Play 開発者サービスと Wearable Data Layer API
(Data Layer API を使用して)データを同期および送信するために、あるいは他の理由により、アプリが Google Play 開発者サービスに依存している場合は、最新バージョンの Google Play 開発者サービスが必要です。Data Layer API を使用していない場合は、依存関係を削除してください。
スマートフォン アプリとスマートウォッチ アプリの違い
スマートフォン アプリとスマートウォッチ アプリには以下のような違いがあります。
- スマートウォッチ アプリは必要に応じて、スマートウォッチに固有の API(円形レイアウト、ウェアラブル ドロワー、常に画面表示モード用の API など)を使用します。
- スマートウォッチ アプリは、スマートウォッチに適した機能を備えています。
-
スマートウォッチ アプリでは標準の各種 Android API を使用できますが、以下はサポートしていません。
スマートウォッチがある機能をサポートしているかどうかを確認するには、API を使用する前に
hasSystemFeature()
を呼び出します。
スマートウォッチの電池を節約する
スマートウォッチの電池を節約するには、アプリで常に画面表示モードを有効にします。スマートウォッチのアクティビティがアイドル状態になるか、ユーザーが手のひらで画面を覆うと、スマートウォッチがインタラクティブ モードから常に画面表示モードに切り替わります。常に画面表示モードに遷移可能なスマートウォッチ アプリは常時オンアプリと呼ばれています。常時オンアプリには以下の 2 つの動作モードがあります。
- インタラクティブ
- このモードでは、アニメーションでフルカラーが使用されます。また、アプリは入力に応答します。
- アンビエント
- このモードでは、白黒のグラフィックで画面をレンダリングし、入力キューを表示しません。このモードは、Android 5.1 以降が搭載されているデバイスでのみサポートされます。
Android 5.1 より前のバージョンが搭載されているデバイスや、常に画面表示モードをサポートしていないアプリでは、アクティビティがアイドル状態になるか、または、ユーザーが手のひらで画面を覆っても、アクティビティは常に画面表示モードには切り替わらず、Wear のホーム画面が表示されます。Android 5.1 より前のバージョンで永続的なコンテンツを表示する必要がある場合は、コンテキスト ストリームで通知を作成します。