Android wearの件--パッケージウェア式アプリケーション

3328 ワード

Packaging Wearable Apps
ユーザにパブリッシュする場合は、ユーザが着用デバイスでインストールアプリケーションを直接検索できないため、ハンドヘルドアプリケーションで着用可能なアプリケーションをパッケージ化する必要があります.パッケージが正しい場合、ユーザがハンドヘルドデバイスでアプリケーションをダウンロードすると、ペアのデバイスに自動的にウェアラブルアプリケーションが送信される.
注意:開発時にdebug keyでパッケージ化するアプリケーションにはこの機能はありません.開発の際には、adb installまたはAndroid Studioを用いる着用機器に直接装着する必要がある.
Android Studioでパッケージ化
1.ハンドヘルドアプリケーションリストファイルに全てのウェアラブルアプリケーションの権限を含める.例えば、ウェアラブルアプリケーションにVIBRATEという権限が必要な場合は、ハンドヘルドデバイスアプリケーションのリストファイルにこの権限を追加する必要があります.2.ハンドヘルドデバイスアプリケーションとウェアラブルデバイスアプリケーションは同じパッケージ名とバージョン番号である.3.ハンドヘルドデバイスアプリケーションのbuild.gradleファイルにおいて、着用デバイスアプリケーションへの指向性を宣言する
dependencies {
   compile 'com.google.android.gms:play-services:5.0.+@aar'
   compile 'com.android.support:support-v4:20.0.+''
   wearApp project(':wearable')
}

4.Build>Generate Signed APKをクリック...画面の説明に従ってkeystoreを指定しappに署名する.Android Studioは、ウェアラブルアプリケーションを携帯するハンドヘルドデバイスアプリケーションをエンジニアリングのルートディレクトリにエクスポートする.
コマンドラインでGradle wrapperを使用してアプリケーションに署名することもできます.この2つのアプリケーションは、着用デバイスに自動的に送信するために署名しなければならない.
以下のように環境変数においてkeyおよびcredentialsを配置する、Gradle wrapperを実行する.
./gradlew assembleRelease \
  -Pandroid.injected.signing.store.file=$KEYFILE \
  -Pandroid.injected.signing.store.password=$STORE_PASSWORD \
  -Pandroid.injected.signing.key.alias=$KEY_ALIAS \
  -Pandroid.injected.signing.key.password=$KEY_PASSWORD

それぞれ、ウェアラブルアプリケーションとハンドヘルドデバイスアプリケーションの署名
構築中にハンドヘルドアプリケーションがウェアラブルアプリケーションとして署名する必要がある場合は、ハンドヘルドデバイスエンジニアリングのbuild.gradleに次のGradleの規則を宣言することができる.
dependencies {
  ...
  wearApp files('/path/to/wearable_app.apk')
}

手動パッケージ
他の開発ツールや構築方法を使用する場合は、手動でアプリケーションをパッケージ化する必要があります.
1.ハンドヘルドアプリケーションリストファイルに全てのウェアラブルアプリケーションの権限を含める.例えば、ウェアラブルアプリケーションにVIBRATEという権限が必要な場合は、ハンドヘルドデバイスアプリケーションのリストファイルにこの権限を追加する必要があります.
2.ハンドヘルドデバイスアプリケーションとウェアラブルデバイスアプリケーションは同じパッケージ名とバージョン番号である.
3.署名されたウェアラブルアプリケーションをハンドヘルドデバイスエンジニアリング下のres/rawディレクトリにコピーし、このアプリケーションを参照してwearable_app.apkを最終的に生成する
4.res/xmlの下に、ウェアラブルアプリケーションのバージョンパスなどの情報を含むwearable_app_desc.xmlファイルを作成する.

  1
  1.0
  wearable_app 


ファイルのパッケージ名、バージョン番号、バージョン名は、ウェアラブルアプリケーションのリストファイルと同じです.rawPathResIdはアプリケーションの名前です.例wearable_app.apkというアプリケーションの静的変数名はwearable_appである.
5.手持ちアプリケーション項目ののラベルの下にmeta-dataのラベルを追加する.


6.署名ハンドヘルドデバイスアプリケーションを構築する.
リソース圧縮のクローズ
多くの構築ツールはandroidアプリケーションを生成する際にres/rawディレクトリのファイルを自動的に圧縮する.これらのツールは、ウェアラブル・デバイス・アプリケーションが圧縮するので、ウェアラブル・デバイス・インストーラがウェアラブル・デバイス・アプリケーションを読み取ることができなくなる.
これが発生するとインストールに失敗します.このエラー・ログが表示されます.「this file cannot be opened as a file descriptor;it is probably compressed.」.
Android Studioではデフォルトではこの圧縮は行われませんが、他の構築ツールを使用する場合は2回の圧縮が行われていないことを確認する必要があります.