メンバ募集!

ラストシューティングではいっしょにアプリ制作をするメンバを募集してます!
スキルアップを目的としたサークル活動の形です
各人のスキルを活かして、みなでアプリを創りストアに公開するまで行います
ご興味がある方はブログ横のFacebook・Google+のリンクやメールにて気軽にご連絡ください~ (・ω<)

ラベル

技術 (80) 開発 (77) ゲーム (67) アプリ (63) 福岡 (59) 趣味 (59) android (52) アニメ (22) レトロゲーム (21) 温故知新 (21) ガンダム (19) レポート (19) WEBサイト (17) 経済 (17) iOS (9) 麻雀 (7) グルメ (5) マンガ (4) Wear (1)

2014年8月3日日曜日

Android Wearアプリ開発環境をエミュレータだけで構築する

Shunです。

Android Wearはスマホやタブレットなどの端末(handheld側)と
Android Wear端末(wear側)を連動させて動かします。

なので、その開発環境は基本的に
スマホ端末(orタブレット)とwear端末を用意することになりますが
handheldとwear側両方エミュレータだけで開発環境構築することもできます。
(handheldは実機でwear側だけエミュレータで動かすというのはよく紹介されてますね)

以下、私が試した方法でうまく行った方法を軽く紹介です。
  関連記事:
    -GDG九州 Android Wearハッカソン参加報告
    -DevFest Japan 2014 Summer参加簡易報告


handheld側をGenymotion、wear側をAVDを使います。
ポイントは、
 -Genymotionで動かしたエミュレータ上で連携用アプリ「Android Ware」を入れる
  GenymotionはデフォではGoogle Playが使えないので工夫が要ります。
 -Bluetoothが使えないので手打ちでポートフォワーディングする

1.Genymotionでスマホ側の端末をエミュレート


android versionが4.3以上の端末ならなんでもいいはず。
今回の例ではなぜかGoogle Nexus4(4.3)にしてます ^^;

さて、やっかいなのはこのエミュ環境に
連携用アプリ「Android Ware」をインストールする方法。

実機ならGoogle Playからインストールすれば済む話ですが
Genymotionは諸事情でGoogle Play、、、
というかGoogleアカウント登録自体がありません。
そこで、連携用アプリ「Android Ware」入れるための方法は2つ。
 1)GenymotionでGoogle Playを使えるようにする
 2)Android Wareのapkを入手してインストール

2)の方法はいろいろ危うい方法なのでここでは置いておいて
1)の方法。。。
長くなるので「Genymotion Google Play」でググって調べてやってみてね!


はい、Android Wareが入った画面。
※この画像、Android Wareが2つあります。
   「Android Ware」と「Android Ware Preview」です。
   もう「Android Ware Preview」(BETAってやつね)は使わないので無視してください。

Android Wareを起動。

矢印タップして進めていきます。


「Bluetooth ON」の表示。
実機だとここでスマホとwearをペアリングしますが
wear側はエミュレータなのよね。
なので、


メニューボタンから「エミュレータをペア設定」を選びます。
(このメニューボタン、設定によっては表示場所が違うかもです)


こんな画面になります。
Genymotion側はここで一旦おいておきます。


2.AVDでWear側をエミュレート

EclipseなりAndroid StduioなりなんなりからAVD Managerを立ち上げます。
Android SDKがそれなりに新しくなっていれば
deviceにwearの設定が出ているはずなので仮想デバイス設定を作ります。
(ここらへんうまくいかないなら「AVD manager wear」あたりでググればよいです ^^;)


ラウンド(丸型)、スクエア(四角型)好きな設定を作って選んで開始。


あいかわらずおっそい時間で立ち上がります。
(ちなみにwear側もGenymotionでやれんのかなと調べたがわからず。
 まだ用意されていないのかな)

右上のアイコンが未連動状態ですね。


3.スマホ側エミュとwear側エミュを連動させる

コマンドプロンプトなりターミナルを開きます。
まず、繋がっているデバイスを確認。

>adb devices
List of devices attached
geny-side    device
wear-side   device
  ※名前は仮。環境によって変わるはず

2つデバイスが表示されることを確認。
ともにエミュレータで作られたデバイス。

>adb -d -s wear-side forward tcp:5601 tcp:5601

>adb -d -s geny-side forward tcp:5601 tcp:5601

の2つコマンドを叩いてポートフォワーディング。
(これwear側だけでいいはずと思っていたんですが
 スマホ側、wear側どちらもいる様子。本当か?)


wear側、右上のアイコンが「g」になれば連動したっぽい。

適当なプロジェクトを実行してみましょう。


サンプルのElizaChatを動かしてみた感じ。


いろいろと勘違いしているところもあるかもしれません。
コメント等で教えて頂ければと思います m(__)m