【问题标题】:Wearable not installing app (Android Wear functionality criteria)可穿戴设备未安装应用(Android Wear 功能标准)
【发布时间】:2017-03-06 14:12:27
【问题描述】:

我有一个 Moto 360,但我无法在其中安装可穿戴应用(它作为 beta 测试应用与 Play 商店中的移动应用一起分发)。

在开发这两个应用程序时,我在安装、通过蓝牙调试等方面都没有遇到任何问题...但是当我通过 Play 商店在手机中安装移动应用程序时,手表并没有安装可穿戴应用程序。

可穿戴梯度:

apply plugin: 'com.android.application'   
android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"

    dataBinding{
        enabled = true
    }

    defaultConfig {
        applicationId "my.app"
        minSdkVersion 21
        targetSdkVersion 24
        versionCode 56
        versionName "1.0.0"
    }

    ...

    productFlavors {  
        dev {
            applicationId "my.app.dev"
        }
    }

    dependencies {
        compile project(':shared')

        compile 'com.google.android.support:wearable:2.0.0-alpha2'
        compile 'com.google.android.gms:play-services-wearable:9.6.1'
    }
}

可穿戴清单:

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

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
...

移动分级:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"

    defaultConfig {
        applicationId "my.app"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 56
        versionName "1.0.0"
    }

    ...

    productFlavors {   
        dev {
            applicationId "my.app.dev"
        }
    }
}

...

dependencies {
    compile project(':shared')
    ...
    wearApp project(':wear')
    compile 'com.google.android.gms:play-services-wearable:9.6.1'
}

移动清单:

...
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
<uses-permission android:name="android.permission.CALL_PHONE"/>

<!--GCM-->
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE"/>
...

可能是什么?

编辑:今天我通过 Google Play 控制台发现我的可穿戴应用程序被拒绝了,但错误消息并不十分具体。我正在关注这个functionality criteria,这是我收到的电子邮件:

资格问题:

-您的应用没有用户可见的 Android Wear 功能。

如果您要在通知中添加可穿戴功能,请确保它们是 在适当的时候触发。

您可以查看此清单以确保您的可穿戴应用 正确包装:

  • 将可穿戴应用程序清单文件中声明的所有权限包含在移动应用程序清单文件中。例如,如果 您为可穿戴应用程序指定 VIBRATE 权限,您还必须 将该权限添加到移动应用中。
  • 确保可穿戴和移动 APK 具有相同的包名称和版本号。
  • 为您的应用签名。
  • 在各种不同的 Android Wear 设备和配置上测试您的应用。

那么,什么是:WR-VF - 应用具有用户可见的 Wear 功能。

谢谢。

【问题讨论】:

  • 你能澄清你的问题是什么吗?您的问题标题为“未安装 handheld 应用程序”,您的第一句话说“无法安装 mobile 应用程序”,但随后您又说“未安装可穿戴应用”。也许如果你准确地说明了你正在采取的步骤以及过程出错的地方?另外,请发布错误消息,如果安装失败,logcat 中应该有一些东西。
  • @String 帖子已更新,谢谢。

标签: android google-play google-play-services wear-os


【解决方案1】:

您的 Gradle 文件不显示任何签名详细信息。您必须使用相同的证书同时对移动应用和可穿戴应用进行签名。

【讨论】:

  • 当我选择“生成签名的 APK”时,我是通过 Android Studio 完成的。它对两个应用程序都签名了吗?
  • 我从未尝试过以这种方式签名,我怀疑它只会在移动端签名。在两个模块上更改为对签名块进行评分。像这样基本的东西应该这样做stackoverflow.com/a/25693134/552539
  • 它应该可以工作,见这里:developer.android.com/training/wearables/apps/…
  • 这说明你必须将已签名的wear apk 复制到移动应用程序的res/raw 文件夹中,并添加一个meta 标签,你做到了吗?似乎很容易错过,通过 Gradle 签名更容易。
  • 如果我想按照“手动打包”说明进行操作,这是第 5 步。如果我希望 IDE 为我完成这项工作,我会按照“使用 Android Studio 打包”的 4 个步骤进行操作。最终我会尝试手动排除任何可能性,但使用“Package with Android Studio”发布就足够了。
【解决方案2】:

我最终找到了解决方案,但忘记分享:

dependencies {
    wearApp project(path: ':wear', configuration: 'productionRelease')
    ...
}

其中'productionRelease' = productFlavor+buildType

编辑: gradle-plugin-3-0-0-migration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多