<等待翻译>Android Wear 进阶 2.5 Packaging Wearable Apps

Packaging Wearable Apps

When publishing to users, you must package a wearable app inside of a handheld app, because users cannot browse and install apps directly on the wearable. If packaged properly, when users download the handheld app, the system automatically pushes the wearable app to the paired wearable.

Note: This feature doesn't work when you are signing your apps with a debug key when developing. While developing, installing apps with adb install or Android Studio directly to the wearable is required.

Package with Android Studio



To properly package a wearable app in Android Studio:

  1. Include all the permissions declared in the manifest file of the wearable app module in the manifest file of the handheld app module. For example, if you specify the VIBRATE permission for the wearable app, you must also add that permission to the handheld app.
  2. Ensure that both the wearable and handheld app modules have the same package name and version number.
  3. Declare a Gradle dependency in the handheld app's build.gradle file that points to the wearable app module:
    dependencies {
       compile 'com.google.android.gms:play-services:5.0.+@aar'
       compile 'com.android.support:support-v4:20.0.+''
       wearApp project(':wearable')
    }
  4. Click Build > Generate Signed APK... and follow the on-screen instructions to specify your release keystore and sign your app. Android Studio exports the signed handheld app with the wearable app embedded in it automatically into your project's root folder.

    Alternatively, you can sign both apps from the command line using the Gradle wrapper. Both apps must be signed to have the automatic pushing of the wearable app work.

    Store your key file location and credentials in environment variables and run the Gradle wrapper as follows:

    ./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
    

Signing the wearable and handheld app separately

If your build process requires signing the wearable app separately from the handheld app, you can declare the following Gradle rule in the handheld module's build.gradle to embed the previously-signed wearable app:

dependencies {
  ...
  wearApp files('/path/to/wearable_app.apk')
}

You then sign your handheld app in any manner you wish (either with the Android Studio Build > Generate Signed APK... menu item or with Gradle signingConfig rules as described in the previous section.

Package Manually



It's still possible to package the wearable app into the handheld app manually if you are using another IDE or another method of building.

  1. Include all the permissions declared in the manifest file of the wearable app in the manifest file of the mobile app. For example, if you specify the VIBRATE permission for the wearable app, you must also add that permission to the mobile app.
  2. Ensure that both the wearable and mobile APKs have the same package name and version number.
  3. Copy the signed wearable app to your handheld project's res/raw directory. We'll refer to the APK aswearable_app.apk.
  4. Create a res/xml/wearable_app_desc.xml file that contains the version and path information of the wearable app. For example:
    <wearableApp package="wearable.app.package.name">
      <versionCode>1</versionCode>
      <versionName>1.0</versionName>
      <rawPathResId>wearable_app</rawPathResId> 
    </wearableApp>

    The packageversionCode, and versionName are the same values specified in the wearable app'sAndroidManifest.xml file. The rawPathResId is the static variable name of the APK resource. For example, for wearable_app.apk, the static variable name is wearable_app.

  5. Add a meta-data tag to your handheld app's <application> tag to reference the wearable_app_desc.xmlfile.
      <meta-data android:name="com.google.android.wearable.beta.app"
                     android:resource="@xml/wearable_app_desc"/>
  6. Build and sign the handheld app.

Turn off Asset Compression



Many build tools automatically compress any files added to the res/raw directory of an Android app. Because the wearable APK is already zipped, these tools re-compress the wearable APK and the wearable app installer can no longer read the wearable app.

When this happens, the installation fails. On the handheld app, the PackageUpdateService logs the following error: "this file cannot be opened as a file descriptor; it is probably compressed."

Android Studio doesn't compress your APK by default, but if you are using another build process, ensure that you don't doubly compress the wearable app.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值