i’m Watchで自作のアプリを動かしてみた

i'm Watch の OS は Android 1.6 なので、通常の Android マシンとして開発を行えるはず。
というわけで自分の手元に届いた時に早速 i'm Developer に登録してみたのだけど、どうやってもエミュレータでの開発方法(というかAVDの設定だけ)しか見つからなかった…。


で、最近なんとなくまた i'm Developer のページを見てみたら、なんと実機テストができるファームウェア(ADB i'm Droid v0.6.0)が用意されていたので早速試してみた。


[2013/01/15 update]
iPhone 5GPS情報を利用した地図アプリも作ってみたよ〜。

i'm Developer 登録

i'm Watch 用のアプリを開発するには、通常のファームウェアではなく ADB(Android Debug Bridge)に対応したファームウェア(今だと ADB i'm Droid v0.6.0)を使用しなければならない。
で、このファームウェアは i'm Developer 登録しないと入手することができないので、i'm Watch 用のアプリを作る場合には、まず i'm Developer に登録する必要がある。


i'm Developer 登録は、当初は確か年間 $99(ん?99ユーロか?)かかっていたけれど、今では無料で登録することができる!(お金を払った人には払い戻しがあるらしい。)
というわけで、i'm Developer 登録は以下のページから。


画面下の「Not registered yet? Become an i'm Developer as an individual or as a company.」から登録画面に行ける。
(この先は画面のキャプチャを間違って捨ててしまったので覚えてない…。何か1つ何を入れて良いかわからない項目(確か会社コードとかそんなの)があったのだけど、適当に入れたら通った記憶がある。)


Developer Center では下記のメニューが用意されている。

  • Download
  • Submit App
  • My Apps
  • Upload ID

ADB i'm Droid にファームウェアをアップデートする

ADB i'm Droid v0.6.0 は以下のページからダウンロードできる。


ただし、このページにも書いてあるように幾つか注意事項がある。

  • i'music の動作はサポートされなくなる
  • i'm Watch の保証が切れる
  • USB Mass Storage mode が使えなくなる

以上が OK であれば、チェックボックスをチェックして [Download ADB i'm Droid (v0.6.0)] をクリックすればダウンロードが始まる。
赤字の部分が気になるところだけど、ま、保証してもらうにしても面倒だしな〜と思うので関係ない!!!


ダウンロードしたファイルは念のためにターミナルで MD5 を確認しておく。

iMac-i3-27:Downloads paraches$ md5 update_r0.6.0_dev_adb.upd 
MD5 (update_r0.6.0_dev_adb.upd) = b8b8ce7bac9ba2fe95c79933295c9443
iMac-i3-27:Downloads paraches$ 


ファームウェアのアップデートは通常のファームウェアと変わりない。下記ページのやり方で OK。


ファームウェアをアップデートするとちゃんとバージョンが 0.6.0_release_dev になってる。


他にも [開発] メニュー?ができて、[USB デバッグ], [スリープモードにしない]?, [疑似ロケーション], [Enable Screenshot]? を設定することができるようになる。
(でもスクリーンショットを撮る方法がわからない…)


あと、ファームウェアをアップデートすると、i'm Cloud との sync に失敗するようになります。

この場合、メッセージの通りに i'm Cloud のページで一旦デバイスを削除して、再度デバイスを登録すれば問題ありません。

ADB で i'm Watch を接続してみる

下記の pdf に、i'm Watch を開発機(自分の場合は iMac)に接続して adb コマンドで認識する手順が説明されています。


実際に自分でやってみた手順は以下の通りです。


1.i'm WatchiMac に接続する
ダイアログが出た場合は [OK] をタップ。
[USB デバッグ] がチェックされているのを確認。


2.iMac で [システム環境設定] の [ネットワーク] を開く


3.左のリストから [RNDIS/...Gadget] を選択


4.設定を下図の様に変更して [適用] をクリック


5.[ターミナル] アプリで Android SDK の platform-tools フォルダへ移動して下記の通りコマンドを入力

iMac-i3-27:platform-tools paraches$ ADBHOST=10.0.0.168 ./adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
iMac-i3-27:platform-tools paraches$ ./adb devices
List of devices attached 
emulator-5554	device

iMac-i3-27:platform-tools paraches$ 

adb start-server コマンドは少し時間がかかります。
i'm Watch は実機ですが emulator-5554 という名前で表示されます。


6.Eclipse を起動してアプリ実行時に Android Device Chooser で emulator-5554 を選択


以上で自作アプリを i'm Watch で起動することができます。


注意?
一度 i'm WatchiMac から外して再度接続した場合は adb start-server をやり直さなければなりません。
自分の場合、なぜか「RNDIS/...Gadget」のネットワークが [未接続] になったままになってしまい、adb start-server をしても繋がらなくなったのですが、i'm Watch の電源 OFF/ON で再度繋ぐことができました。



自作アプリは [アプリケーション] のリストには表示されますが、ホーム画面から右側にスワイプして行っても、自作アプリは表示されません…。
(ADB i'mDroid v0.6.0 にしたら一番右に何もアイコンのないページができてるけど。)
これ、i'm Cloud 経由で何かする必要があるのかな?


というわけで、最後にとりあえず作ってみたパズルを動かしている様子。