Android Wearのアプリでスマートフォンから自動インストールする機能の実装方法

471 views
Skip to first unread message

市道裕介

unread,
Sep 26, 2015, 12:30:43 PM9/26/15
to 日本Androidの会
初めまして、趣味でAndoridアプリ開発をしているものです。

Androidアプリ開発で、Android Wearのアプリ開発をしているのですが、テストで単体でのインストールは出来ましたが、apkファイルで生成した場合、wear と mobileと二つファイルができるんですがこれをどう扱えばいいのかが分かりません。
マーケットに公開されているアプリやウォッチフェイスのように、スマホにインストールしたときに自動でWear側にインストールされる方法がわからない状態です。
ドキュメントや他の作成者のブログなどを見てはいるのですが、英語がわからないため中々意味がわからず読み解けない状態です。

AndroidStudioを使って、ウォッチフェイスを指定してプロジェクトを生成し、そのままapkで吐き出して動作確認をしようと思っているので、ソースは特にありません。

どなたかやり方を教えて下さい。
お願いします!

Hirokazu Fukami

unread,
Sep 26, 2015, 1:08:46 PM9/26/15
to 日本Androidの会
こんばんはfkmです。

リリースビルドを行うと、wear用のapkを含んだmobile用のapkができていると思います。
mobile用のapkをunzipで解凍してみるとよいです。

この状態で、mobile用のapkをインストールすると、Android Wearアプリがwear用のapkファイルを
自動で転送してくれます。

が、1つ罠がありまして、mobile用のパーミッションとwear用のパーミッションは合わせておく必要があります。
例えばwear側に
<uses-permission android:name="android.permission.VIBRATE"/>
をつけた場合、mobile側にも
<uses-permission android:name="android.permission.VIBRATE"/>
をつけておかないと、自動で転送してくれません。

--
このメールは Google グループのグループ「日本Androidの会」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには android-group-j...@googlegroups.com にメールを送信してください。
このグループに投稿するには android-g...@googlegroups.com にメールを送信してください。
http://groups.google.com/group/android-group-japan からこのグループにアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。
Message has been deleted

市道裕介

unread,
Sep 27, 2015, 2:14:53 AM9/27/15
to 日本Androidの会
返答ありがとうございます。
mobileのapkファイルを解凍したところ、確かにwearのapkファイルがあることを確認しました。

パーミッションについては以下のものがwear側にあったので、mobile側にコピーしてみましたが状況は変わりませんでした。
 wearのパーミッションは以下の3つになります。

<uses-feature android:name="android.hardware.type.watch" />

<!-- Required to act as a custom watch face. -->
<uses-permission android:name="com.google.android.permission.PROVIDE_BACKGROUND" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

他にやらないといけないことがあるのでしょうか?

竹内 学

unread,
Sep 27, 2015, 5:58:39 AM9/27/15
to android-g...@googlegroups.com
竹内です。こんばんは。

私も過去に嵌まったケースはパーミッションが mobile が wear の内容を網羅していなかった時だけでした。

mobile から wear には Bluetooth 経由で転送されるので、そこそこ時間が掛かります。

暫く待ってみてもダメでしたでしょうか?

<uses-feature android:name="android.hardware.type.watch" />

これは mobile には要らないかな。

 

2015年9月27日 15:14 市道裕介 <mike.nek...@gmail.com>:

--

市道裕介

unread,
Sep 27, 2015, 9:49:36 AM9/27/15
to 日本Androidの会
こんばんわ。返事ありがとうございます。

時間を置いたらインストールがされたのを確認が出来ましたが、バッテリーのパーミッションを追加したらまたインストールできなくなりました。
パーミッションによってはできないものがあるのでしょうか?


<uses-feature android:name="android.hardware.type.watch" />

後で消して試してみます。

竹内 学

unread,
Sep 30, 2015, 12:58:22 AM9/30/15
to android-g...@googlegroups.com
竹内です。こんにちは。

遅レスでスミマセン。

> バッテリーのパーミッションを追加したらまたインストールできなくなりました。

一つ確認ですが、wear と mobile の両方に追加しましたか?
それとも、wear だけでしょうか?

もし、後者の場合は mobile にも追加して下さい。

私が考えますに、wear に有って mobile に無いパーミッションが有る場合でも
wear にインストールが出来てしまいますと、
ユーザは wear で使用されるパーミッションを知る手段が無くなることになります。

それじゃ、何のためにパーミッションという仕組みを用意したのか、
wear に関しては全く意味を成さないことになってしまいます。

その為に、wear で使用するパーミッションは必ず mobile にも指定する必要があるんだと思います。

ミケ猫@A

unread,
Jan 16, 2016, 9:55:56 PM1/16/16
to 日本Androidの会
返事が遅くなり申し訳ございません。

パーミッションは最初にwearとmobile両方に書くと聞いているので両方に指定があります。
Reply all
Reply to author
Forward
0 new messages