web-dev-qa-db-fra.com

"Non, fonctionnalité manquante: MONTRE" lorsque j'essaie d'exécuter mon application pour smartphone avec l'application d'usure?

J'ai une application pour smartphone avec une application pour l'usure qui a été emballée à l'intérieur, similaire aux deux premières étapes de cette section:

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

À l'origine, on m'avait dit que mon smartphone n'exécutait pas un SDK suffisamment volumineux pour prendre en charge l'application (mon téléphone utilisait KitKat, apparemment, j'avais besoin de l'API 20). apparu:

Nexus 7 Compatible: No, missing feature: WATCH

J'ai un émulateur smartwatch et une tablette en cours d'exécution, et les deux sont connectés à l'aide du truc adb -d forward tcp: 5601 tcp: 5601, je ne sais donc pas comment régler ce problème maintenant!

Comment faire fonctionner l'application pour smartphone et permettre automatiquement à l'application d'usure de s'installer sur l'émulateur?

28
lukatar

Dans votre projet, vous avez deux applications:

  • Mobile
  • Wearable


__ applicationMobile devrait être installée sur appareil mobile (téléphone/tablette) et application Wearable devrait être installée sur appareil Android Wear .

Ce message No, missing feature: WATCH signifie que vous essayez d’installer l’application Wearable sur un téléphone mobile. Ne le faites pas. Votre appareil mobile n’est pas une montre. Donc, encore une fois: lancez simplement l'application Mobile sur mobile et l'application Wearable sur Android Wear.

À l'origine, on m'avait dit que mon smartphone n'exécutait pas un SDK de grande taille assez pour prendre en charge l'application (mon téléphone utilisait KitKat, apparemment, j'avais besoin de l'API 20), alors j'utilise maintenant mon Nexus 7 avec l'aperçu Android L, et ce problème est apparu:

Seule l’application Wearable devrait nécessiter un niveau 20 de l’API, mais l’application Mobile peut cibler tout autre niveau de SDK (comme 10, 14, etc.). Vous n'avez pas besoin de définir un niveau de SDK plus élevé pour l'application Mobile uniquement car il prend en charge l'application Wearable.

Comment puis-je exécuter l'application pour smartphone et autoriser automatiquement le porter l'application à installer sur l'émulateur?

Comme décrit dans le tutoriel que vous avez lié:

Si l'emballage est correctement configuré, lorsque l'utilisateur télécharge l'application de poche, le fichier Le système pousse automatiquement l’application portable vers l’appareil portable couplé.

Mais s'il vous plaît lisez la note en haut de cette page: 

Remarque: Cette fonctionnalité ne fonctionne pas lorsque vous signez vos applications avec un touche de débogage lors du développement. Pendant le développement, installer des applications avec adb installer ou Android Studio directement sur le portable est nécessaire.

Cela signifie que l'installation automatique de l'application Wearable après l'installation de l'application Mobile (avec l'application Wearable emballée à l'intérieur) ne fonctionnera qu'après la signature de l'application avec votre certificat de publication (et non avec celui de débogage - comme c'est le cas lors du lancement de l'application standard à partir d'Android Studio/Eclipse).

55
Maciej Ciemięga

S'il vous plaît regardez ça!

 enter image description here

Peut-être devriez-vous sélectionner l'élément APP avant de lancer votre application.

55
TianZeng

J'ai eu la même erreur lorsque j'ai essayé d'exécuter une application non-portable sur mon appareil et que l'erreur était due à un problème d'Android Studio avec une erreur de lecture de l'attribut uses-feature dans le manifeste (la valeur false requise est true):

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

Si vous le supprimez du manifeste, l'erreur disparaîtra. Je pense que cela devrait déjà être corrigé dans Android Studio 1.4.1 ou 1.5.

13
MikeL

Vérifiez si vous n'avez ouvert aucun autre projet Android. J'ai également rencontré le même problème qui a été résolu après avoir fermé le projet Android qui a une API cible supérieure à celle de watch.

0
prashant