web-dev-qa-db-fra.com

NFC émulation de balises pour Android périphérique virtuel (AVD)

Existe-t-il un moyen de développer des applications de lecture/écriture de balises NFC sans un téléphone compatible NFC? Y a-t-il un moyen de créer un AVD qui a NFC activé? J'ai recherché et trouvé Open NFC existe, mais je ne trouve pas beaucoup d'informations à ce sujet maintenant. Est-il déjà obsolète? Y a-t-il un autre moyen d'y parvenir?

16
Zveratko

Google n'a jamais implémenté la prise en charge de NFC dans l'AVD. Il n'y a donc pas de support officiel pour NFC dans l'émulateur de périphérique Android.

Au début de NFC sur Android, Inside Secure a développé et publié la pile NFC "Open NFC". Malgré son nom, Open NFC n'était pas aussi ouvert que son nom le suggérait et visait principalement la gamme Inside de frontaux NFC. Un effet secondaire sympa de cette pile NFC était son intégration d'émulateur qui ressemblait à la capacité de prise en charge des appareils virtuels NFC de Nokia pour leurs téléphones de la série S40. Les fichiers publics du projet Open NFC sont toujours disponibles sur SourceForge: ici . Cependant, le projet a été abandonné depuis longtemps (probablement à cause de vente de leur technologie NFC à Intel ).

La dernière version d'Open NFC cible Android 4.2.1 (fonctionnait avec Android 4.2.2), donc si cette plateforme vous convenait, vous pourriez essayer pour configurer cet environnement AVD. Un guide étape par étape est disponible ici: Ouvrir NFC Utilisation du simulateur (voir également ici pour les composants manquants: Impossible de charger l'addon open-nfc dans Android plateforme ).

La pile NFC sur les versions plus récentes Android a considérablement changé (de nos jours, toute la pile Android NFC est basée sur libnfc-nci qui initialement ciblait Les contrôleurs NFC de Broadcom et implémenté les spécifications d'interface de contrôleur [NFC NFC _ _ Forum <). Par conséquent, l'implémentation d'Open NFC n'est plus compatible avec les versions Android plus récentes.

Notez qu'il existe encore des moyens de faire au moins quelques tests limités à travers du code (par exemple utile pour les tests unitaires) en injectant NFC intentions. Voir

mais notez que ces méthodes reposent sur des internas de la pile Android NFC et vous devrez peut-être parcourir le code pour la version Android que vous visez pour simuler la bonne information.

4
Michael Roland