Android Wear にゲームを移植

ゲームを Android Wear に移植してみました。

chiraksw_capture4.jpg

Google Play ChiRaKS Android Wear
解説ページ

● Install 方法

連動してる Smartphone/Tablet (Handheld 端末) の方から Google Play にアクセス
してインストールします。
Android Wear (Wearable 端末) にも自動的に転送&インストールが行われます。

● 起動手順

 1. 画面を2回タップして下からシステムメニューを引き上げ
 2. 一番下の 「開始…」 からアイコンを選択

● Uninstall 方法

Smartphone/Tablet (Handheld) 側でアンインストールすると
Android Wear (Wearable 端末) からも削除されます。

● アプリの中断&終了手順

画面全体を手で覆うと時計画面 (ロック画面) に戻ります。
完全に終了させるには Menu から “終了” を選んでください。

● Android Studio

SDK の Android Wear サンプルは全て Android Studio 向けです。
Eclipse+ADT ではプロジェクトの新規作成に失敗したので
サンプルを参考に Android Studio で作成しています。
もともと ZWatch で動いていたので修正は Project まわりと UI のみ。

● NDK

NDK のサンプルも Android Studio に変換できますがビルド環境も統合されます。
src 以下にあるファイルはすべてビルド対象となるようです。
C/C++ は独自の Build ツールを使用していたので分離しました。
最終的に build/intermediates/ndk/debug, release 以下にファイルが
存在していればパッケージに含まれるようです。
ただし Clean で消えます。

● 実行&デバッグ

デバッグは直接 Android Wear (Wearable 端末) 上で行えます。
adb で apk の install も可能。
アプリ管理メニューがないので削除は adb uninstall が必要です。

Round, Square 2種類あるので画面に合わせたレウアウトの調整が必要です。
サンプルにもある WatchViewStub では、それぞれ個別に layout ファイルを
持つことができます。

デフォルトでは画面のスライド(画面左から右フリック)で Back になります。
またサンプルに組み込まれている DismissOverlayView は画面長押しを判定しています。
ゲーム操作と相性が悪いので Activity の dispatchTouchEvent() で使い分けています。
画面全体を手で覆う操作 (ロック画面への復帰) はそのまま使えます。

● Handheld 側アプリの追加

アプリケーションパッケージは単体では配布できず Handheld 側のアプリが必要。
Android Studio の New Module… であとから追加することが可能。
内容は通常の Android アプリと同じです。
Wearable 側のアプリ名を wapp , Handheld 側のアプリを happ とすると、
下記のファイルを編集します。

happ/build.gradle

すでに dependencies block があるのでその最後に追加。

dependencies {
    ~
    wearApp project( ':wapp' )
}

↓ settings.gradle にも追加

include ':happ', ':wapp'

Handheld 側 happ を Release build すると assets に wapp の apk が入ります。

関連エントリ
Android SmartWatch ZWatch で 3Dゲーム (ChiRaKS)
Android SmartWatch SmartQ ZWatch (3) 腕に関数電卓
Android LiveView MN800 プラグインの作り方