穿戴式设备无法安装应用程序(Android Wear功能标准)

6
我有一款Moto 360手表,但我无法安装可穿戴应用程序(该应用程序与移动应用程序一起作为测试版应用程序在Play商店中分发)。
在开发这两个应用程序时,我没有遇到安装问题,在通过蓝牙调试等方面也没有问题...但是当我通过Play商店在手机上安装移动应用程序时,手表就无法安装可穿戴应用程序。
可穿戴gradle:
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" />
...

移动 gradle:

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 Console发现我的可穿戴应用程序被拒绝了,但错误信息不是很具体。我正在遵循这个functionality criteria,这是我收到的电子邮件:

资格问题:

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

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

您可以查看此检查表,以确保您的可穿戴应用程序已正确打包:

  • 在移动应用程序的清单文件中包含可穿戴应用程序的所有声明权限。例如,如果您为可穿戴应用程序指定了VIBRATE权限,则还必须将该权限添加到移动应用程序中。
  • 确保可穿戴和移动APK具有相同的包名称和版本号。
  • 签署您的应用程序。
  • 在各种不同的Android Wear设备和配置上测试您的应用程序。
那么,什么是WR-VF - App has Wear functionality that is visible to the user.?谢谢。

你能澄清一下你的问题吗?你的问题标题说“无法安装手持应用程序”,而你的第一句话说“无法安装移动应用程序”,但是你还说“不会安装可穿戴应用程序”。也许如果你详细说明你正在执行的步骤以及进程出了什么问题,会更好一些。此外,如果安装失败,请发布错误消息,logcat 中应该有一些信息。 - Sterling
@字符串 - GuilhE
2个回答

0

我最终找到了解决办法,但忘记分享了:

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

'productionRelease' = productFlavor + buildType

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


-1

您的Gradle文件没有显示任何签名详细信息。您必须使用相同的证书对手机和可穿戴应用程序进行签名。


我是通过Android Studio中的“生成已签名的APK”选项来完成的。它会同时签署两个应用程序,对吗? - GuilhE
1
我从未尝试过那种签名方式,我怀疑它只会签署移动端。在两个模块上更改为等级签名块。像这样的基本操作应该可以做到 https://dev59.com/-WEi5IYBdhLWcg3w0fBR#25693134 - CodeChimp
这意味着您必须将已签名的Wear APK复制到移动应用程序的res/raw文件夹中,并添加一个元标记,您是否已经完成了这些步骤?这似乎是一个容易被忽略的步骤,通过Gradle进行签名更加容易。 - CodeChimp
这是第五步,如果我想要按照“手动打包”说明进行操作。如果我希望IDE为我完成这项工作,我将按照“使用Android Studio打包”4个步骤进行操作。最终,我会尝试手动操作以排除任何可能性,但使用“使用Android Studio打包”发布应该已经足够了。 - GuilhE
选择使用 Gradle 打包选项,一旦开始使用它,你会真的想知道为什么以前要手动打包。 - CodeChimp
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接