À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
NFC
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment contrôler la technologie NFC sur un appareil Cuttlefish à l'aide de la fonctionnalité NFC Cuttlefish. La technologie NFC est compatible avec les appareils Cuttlefish équipés d'Android 15 ou version ultérieure.
Utiliser Casimir
La fonctionnalité NFC de Cuttlefish utilise Casimir, un outil de simulation d'appareil NFC externe, qui permet d'injecter des octets APDU pour l'émulation de carte hôte. Casimir est implémenté dans /platform/system/nfc/tools/casimir/
.
Lorsque vous lancez Cuttlefish, Casimir est également lancé par défaut. Pour contrôler Casimir, utilisez le service CasimirControlService
.
CasimirControlService
Vous pouvez utiliser le service CasimirControlService
via l'API REST ou l'interface de ligne de commande. Pour en savoir plus, consultez Cuttlefish: contrôle de l'environnement.
Le tableau suivant décrit la méthode dans CasimirControlService
. Pour en savoir plus, consultez casimir_control.proto
.
Méthode |
Description |
SendApdu
|
Envoie des octets APDU (chaînes hexadécimales) avec NFC-A et ISO-DEP. La réponse est renvoyée sous forme de chaînes hexadécimales. |
Voici un exemple de commande et une réponse simplifiée pour envoyer deux octets APDU, [0x00, 0x11, 0x22]
et [0x33, 0x44, 0x55]
.
Commande
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Réponse simplifiée
Rpc succeeded with OK status
{
"responseHexStrings": [
"9000",
"9000",
]
}
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# NFC\n\nThis page describes how to control NFC on a Cuttlefish device using the\nCuttlefish NFC feature. NFC is supported on Cuttlefish devices running\nAndroid 15 or higher.\n\nUse Casimir\n-----------\n\nThe Cuttlefish NFC feature uses Casimir, an external NFC device simulation tool,\nwhich supports injecting APDU bytes for host card emulation. Casimir is\nimplemented in\n[`/platform/system/nfc/tools/casimir/`](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Nfc/libnfc-nci/tools/casimir/).\n\nWhen launching Cuttlefish, Casimir is also launched by default. To\ncontrol Casimir, use the `CasimirControlService` service.\n\n### CasimirControlService\n\nYou can use the `CasimirControlService` service through the REST API or the\ncommand line interface. For details, see\n[Cuttlefish: Environment Control](/docs/setup/create/cuttlefish-control-environment).\n\nThe following table describes the method in `CasimirControlService`. For\nmore information, see\n[`casimir_control.proto`](https://cs.android.com/android/platform/superproject/+/android-latest-release:device/google/cuttlefish/host/commands/casimir_control_server/casimir_control.proto).\n\n| Method | Description |\n|------------|-------------------------------------------------------------------------------------------------|\n| `SendApdu` | Sends APDU bytes (hex strings) with NFC-A and ISO-DEP. The response is returned as hex strings. |\n\nThe following is an example command and a simplified response for sending two\nAPDU bytes, `[0x00, 0x11, 0x22]` and `[0x33, 0x44, 0x55]`.\n\n- Command\n\n cvd env call CasimirControlService SendApdu '{apdu_hex_strings: [\"001122\", \"334455\"]}'\n\n- Simplified response\n\n Rpc succeeded with OK status\n {\n \"responseHexStrings\": [\n \"9000\",\n \"9000\",\n ]\n }"]]