Android WearアプリをHandheldアプリに内包、Packageする方法@Eclipseのメモ書き
Android Wearは単体ではAndroid Wear上へ直接インストール&ダウンロード出来ません。
Android Wear用のアプリを内包、PackageしたHandheldアプリ(Android端末用のアプリ)を作成する必要があります。
☆開発環境を簡単に紹介☆
- EclipseとAndroid SDK Tools等は2015年5月16日現在の最新バージョン
- Android WearはLG G Watch W100
- Handheld端末は毎度おなじみのNexus 7 2013
これですね。Android WearはLG G Watch W100で、HandheldはNexus 7 2013です。

因みにこれがAndroid Wear Appを内包したポケット電卓・計算機です。
Android Wearアプリを内包したHandheldアプリを作成し、Wearで利用するまでの大まかな手順
下記、Android Wearアプリを内包したHandheldアプリを作成し、Wearで利用出来るようにするまでの大まかな手順、流れです。
① Android Wear、Handheld(携帯端末用)のプロジェクトを作成
- Handheld(携帯端末用)のプロジェクトを作成
- Android Wear用のプロジェクトを作成

こんな感じにHandheld(携帯端末用)とAndroid Wear用の2つのプロジェクトを作成します。
下記、注意点です
- Handheld、Android Wearアプリ共に、package名は統一する
- AndrodiManifest.xmlのandroid:versionCodeとandroid:versionNameを統一
- Handheld側のAndroidManifest.xmlでアプリケーションのメタに下記呪文を唱えておく
<meta-data android:name="com.google.android.wearable.beta.app"
android:resource="@xml/wearable_app_desc"/>


スクショのとおりです。言葉で説明するより分かりやすいでしょ?
② Handhedl側のプロジェクトで、res/xml/下に、wearable_app_desc.xmlファイルを作成
<?xml version="1.0" encoding="utf-8"?>
<wearableApp package="tomatojuice.sakura.ne.jp.tomacalculator">
<versionCode>1</versionCode>
<versionName>1.0</versionName>
<rawPathResId>wearable_app</rawPathResId>
</wearableApp>
「wearableApp package」のパッケージ名は上述の通り、Android Wearアプリ、Handheldアプリで同一の名前で統一させているはずなので、そのパッケージ名を入力。
このwearable_app_desc.xml内の
- versionCode
- versionName
- rawPathResId
1,2はAndroid Manifests.xmlと合わせる。3は署名して書き出す任意のapps名でOK
③ Android Wear側のプロジェクトでアプリをapkファイルとして出力
そのapkファイルをHandheld(携帯端末用)の「res/rawフォルダ」へ先に述べた「rawPathResId」で指定した名前、例えば「wearable_app」と指定していたならば、「wearable_app.apk」という名前で保存

上記②、③のスクショです。えっと時間無いのでブログいつも適当ですまんw
以上がAndroid Wearアプリを内包したHandheldアプリを作成し、Wearで利用出来るようにするまでの大まかな手順、流れです。
で、ついでに下記の方法は試して間違いだったのが分かったのでメモ書きw
- 一つのプロジェクトのAndroidManifest.xml内に複数、2つのapplicationタグを指定し、一方をAndroid Wear用アプリと指定する事
- 一つのプロジェクト内に2つのパッケージを作成し、一方をWear用アプリとする事
これは全く意味がありませんでした。はいw
Handheldアプリを実機へインストール、自動でAndroid WearへWear用アプリがインストールされる

先日ブログにメモ書きしたポケット電卓ですが、そのWear用のアプリが自動でインストールされました。
めでたしめでたしw
あ、ブログ時間無いので超適当ですが、これだけの情報が現状日本語ではなかったし、実際に試す機会があり、ちゃんと思い通りに動作したのでメモ書きしました。
因みに下記がGoogleの公式ドキュメントです。
Packaging Wearable Apps ~ ウェアラブルアプリのパッケージングについて ~
番外@ターミナルでAndroid Wearに直接インストールしたアプリを削除
因みに、USBデバッグ接続、Bluetoothデバッグ接続にてアプリを直接Android Wear上へインストール出来ますが、現状Wear上でアプリの削除が出来ない為、ターミナル上でadbコマンドを利用して削除を行う必要があります。
- インストールされているパッケージ名を表示
- ⇒ adb shell pm list packages
- インストールされているパッケージ(アプリ)を削除
- ⇒ adb uninstall パッケージ名
これでもまだアイコンが残っていて、アイコンをタップすると「操作エラー」の表示が出る場合、
- Android Wear上の設定画面にて端末のリセット
- 再起動
のいずれかの方法で、消えましたが、上記のエラーの場合、adb shell pm list packagesではパッケージ名さえ表示されませんでした。
以上、時間無いので適当にメモ書きしましたが、参考になれば幸いです!

くどいけど、これがAndroid Wear Appを内包したポケット電卓・計算機です!
