2014/05/10

Android Wearプロジェクトを作ろうとして嵌ったので自分用初歩的メモ

来月あたりに Android Wear搭載スマートウォッチが発売されるそうなので
今更ですが、Android Wear Developer Previewに登録して始めてみました。
(3月あたりの発表直後に開発開始された方、流石です。私もそれくらいの早さで取りかからないとついていけないなぁ...。
...3月は学会発表やら何やらでそれどころじゃなかったんです!(ひど
い言い訳w))

今回の記事は申し訳ありませんが、Android Wear云々というより
Androidアプリケーション開発の初歩的なミスの話です。開発環境はEclipseです。
(そろそろAndroid Studioに乗り換えたほうが良さそう...。)
以前からアプリ開発で稀に似た問題があったので、この機会にメモしておきます。

開発の始め方については
http://developer.android.com/wear/preview/start.html
または 松岡氏による日本語訳 を参照してください。

AVDでAndroid Wearの仮想マシンを作ろうとしたら、対応するアーキテクチャが無いといわれる


Android SDK Managerを起動して、最新のSDK Toolsと、Android 4.4.2 の必要なコンポーネントが本当にインストールされているか確認しましょう。
特に、私みたいに以前からあまり開発環境をアップデートしていない人は、環境が古くなっており、ひと通りのアップデートを適用したあとにSDK Managerを再読み込みさせて...という作業を何度か繰り返さないといけないかもしれません。

java.lang.NoClassDefFoundError: android.preview.support.v4.app.NotificationManagerCompat

  1. プロジェクトのディレクトリのlibsディレクトリに"wearable-preview-support.jar"をコピー(Eclipseのパッケージエクスプローラ上でD&D)する。
  2. プロジェクトのプロパティで"Javaのビルドパス"設定を開いて...

    のようになっているかどうか確認する。

java.lang.NoClassDefFoundError: Android.support.v4.app.NotificationCompat$Builder

  1. Android SDK Managerで"Support Library"が最新(執筆時: v19.1)かどうか確認する。
    (※プロジェクトの"Androidツール"メニューなどから"サポートライブラリーの追加"をすると、何故か古いバージョンのv19.0に置き換わることがあったので注意。)
  2. Android SDKのインストールディレクトリ内の extras/android/extras/android/support/v4/android-support-v4.jar を
    プロジェクトのディレクトリのlibsディレクトリにコピーする (Eclipseのパッケージエクスプローラ上でD&D)
  3. プロジェクトのプロパティで"Javaのビルドパス"設定を開いて...あとは上と同じ。

その他


いずれも、android-support-v4.jarなどがビルドパスに追加されているからといっても、それが最新リビジョンとは限りませんし、複数表示されている場合は"除去"して一からやってみることをおすすめします。(こちらも参照)
また、appcombat_v7がproject.propertiesで定義されていて勝手に読み込まれていたりする場合もあるので、そういう場合はまず外してみましょう。

もしかしたら、追記するかもしれませんが...以上です(笑)
期待して記事にアクセスしてくださった方には申し訳ありませんが、
初歩的な話でした m(_ _)m

p.s. 試しにこんなものを作ってみました。
シンプルなサイコロのアプリです。(GitHub: weardice_android)
ちょっと Notification の使い方としてはあれですが...w (コンセプト的に合わないかも)
今現在はSDKでCue Cardが使えない(Notificationに対する応答として音声入力はできますが、ホームから何か新しいアクションが実行できない)ので、とりあえずサイコロを振った結果を表示する部分と、"もう一度振る"というActionを実装しました。
最終的には"Ok google, サイコロ振って"と言うとサイコロが振れる予定ですw
ちなみに画像素材は自作です。ついでにサイコロの3Dモデルも作りました(笑)

ところで開発エミュレータ上でRoundのスキンを選んでいるのに、丸型にくり抜いて表示されないのですが、何故でしょうか...w 実用上、然程問題はありませんが
[2014/05/11 追記] 仮想マシンの設定で"ホストGPUを使用する"を有効にしていると、円形にくり抜いて表示されないようです。GPUによってオーバレイされるからでしょうか?


さて...気になる実機は LGの"G Watch"が第一弾として発売されるようですが、
私としては今までのスマートウォッチは四角いモノが殆どだったので、やはり丸型の"Moto 360"に興味があったり。((o(´∀`)o))ワクワク
正式版のSDKも楽しみです。

0 件のコメント:

コメントを投稿

お気軽にコメントをお寄せください m(_ _)m♪
"コメントの記入者"欄から[名前/URL]を選ぶと、登録なしでコメント投稿していただけます。