“No, missing feature: WATCH” when I try to run my

2019-01-17 10:33发布

问题:

I have a smartphone app with a wear app that has been packaged inside of it, similar to the first two steps of this section:

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

I was originally told that my smartphone wasn't running an SDK large enough to support the app (my phone was using KitKat, apparently I needed API 20), so now I am using my Nexus 7 with Android L preview, and this problem has appeared:

I have a smartwatch emulator and tablet running, and both are connected using the adb -d forward tcp:5601 tcp:5601 trick, so I have no idea how to fix this now!

How can I get the smartphone app to run and automatically allow the wear app to install onto the emulator?

回答1:

In your project you have two applications:

  • Mobile
  • Wearable


Mobile app should be installed on mobile device (phone/tablet) and Wearable app should be installed on Android Wear device.

This message No, missing feature: WATCH means that you're trying to install Wearable app on mobile phone - you shouldn't do that, your mobile device is not a WATCH. So once again: just launch Mobile app on mobile and Wearable app on Android Wear.

I was originally told that my smartphone wasn't running an SDK large enough to support the app (my phone was using KitKat, apparently I needed API 20), so now I am using my Nexus 7 with Android L preview, and this problem has appeared:

Only the Wearable app should require API level 20, but Mobile app can target any other SDK level (like 10, 14 etc.). You don't need to set higher SDK level for Mobile app only because it supports Wearable app.

How can I get the smartphone app to run and automatically allow the wear app to install onto the emulator?

As described in the tutorial that you've linked:

If packaged properly, when users download the handheld app, the system automatically pushes the wearable app to the paired wearable.

But please read the note at the top of this page:

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.

This means that automatically installing Wearable app after installing Mobile app (with Wearable app packaged inside) will only work after signing app with your publishing certificate (and not with the debug one - as is done during standard application Launch from Android Studio/Eclipse).



回答2:

Please look at this!

May be you should select the APP item before you launch your app.



回答3:

I had the same error when I tried running non wearable application on my device and the error was due to some Android Studio issue with misreading the uses-feature attribute in the Manifest (it reads required false as true):

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

If you remove it from the manifest the error will disappear. I think that it should be already fixed in Android Studio 1.4.1 or 1.5.



回答4:

Check if you have not open any other android project. I also faced same issue which got solved after I closed android project which has target API greater than watch's.