当我尝试运行我的智能手机应用程序和手表应用程序时,出现“不,缺少功能:WATCH”的错误?

32

我有一个智能手机应用程序,内置了一个穿戴应用程序,类似于本节的前两个步骤:

https://developer.android.com/training/wearables/apps/packaging.html#Studio

最初,我被告知我的智能手机运行的SDK不足以支持该应用程序(我的手机使用的是KitKat,显然我需要API 20),所以现在我正在使用带有Android L预览版的Nexus 7,但出现了这个问题:

Nexus 7 Compatible: No, missing feature: WATCH

我有一个智能手表模拟器和平板电脑,并且都是使用adb -d forward tcp:5601 tcp:5601技巧连接的,所以我不知道如何解决这个问题!

我怎样才能让智能手机应用程序运行并自动允许穿戴应用程序安装到模拟器上?

4个回答

60

请看这里!

在此输入图像描述

可能您应该在启动应用程序之前选择“APP”项目。


3
我很高兴终于有一个问题有如此简单的解决方案。 - Daniel F

59
在您的项目中,有两个应用程序:
  • Mobile
  • Wearable


Mobile应用程序应安装在移动设备(手机/平板电脑)上,Wearable应用程序应安装在Android Wear设备上。

这条消息No, missing feature: WATCH意味着您正在尝试将Wearable应用程序安装在手机上 - 您不应该这样做,您的移动设备不是手表。所以再说一遍:只需在移动设备上启动Mobile应用程序,在Android Wear上启动Wearable应用程序。

我最初被告知,我的智能手机运行的SDK不足以支持该应用程序(我的手机使用KitKat,显然我需要API 20),所以现在我正在使用预览版Android L的Nexus 7,但出现了以下问题:

只有Wearable应用程序需要API级别20,但Mobile应用程序可以针对任何其他SDK级别进行定位(如10、14等)。您无需仅因为支持Wearable应用程序就设置更高的SDK级别来定位Mobile应用程序。

如何使智能手机应用程序运行并自动允许wear应用程序安装到模拟器中?

如您链接的教程中所述:

如果正确打包,当用户下载手持设备应用程序时,系统会自动将可穿戴应用程序推送到配对的可穿戴设备上。

但请阅读此页面顶部的注意事项:

注意:在开发过程中使用调试密钥签署应用程序时,此功能无法正常工作。在开发过程中,需要使用adb install或Android Studio直接将应用程序安装到可穿戴设备中。

这意味着在安装包含 Wearable 应用程序的 Mobile 应用程序后自动安装 Wearable 应用程序,仅在使用您的发布证书签署应用程序后才能正常工作(而不是使用调试证书 - 如在从Android Studio / Eclipse启动标准应用程序时所做的那样)。

感谢您的解释。您在底部提到使用adb install也非常有用! - user1583010
很高兴我能帮上忙 :) 这个提及是来自那个网站的引用。执行 adb install 基本上与从 Android Studio/Eclipse 启动应用程序相同。因此,在开发过程中,您只需要将两个应用程序(Wearable 用于手表和 Mobile 用于手机/平板电脑)分别启动到两个设备上即可。 - Maciej Ciemięga
我感到很愚蠢,原来只是这个问题。这就是我作为新手的代价。谢谢! - lauksas

13

当我尝试在我的设备上运行非可穿戴应用程序时,我遇到了相同的错误,这个错误是由于Android Studio在清单文件中误读uses-feature属性(它将required false读作true)造成的问题:

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

如果从清单文件中移除它,错误就会消失。我认为在Android Studio 1.4.1或1.5中应该已经修复了这个问题。


0

检查一下是否打开了其他的安卓项目。我也遇到了同样的问题,后来解决了,因为我关闭了目标API大于手表的安卓项目。


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