A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
NFC
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina descrive come controllare la tecnologia NFC su un dispositivo Cuttlefish utilizzando la funzionalità NFC di Cuttlefish. La tecnologia NFC è supportata sui dispositivi Cuttlefish con Android 15 o versioni successive.
Usare Casimir
La funzionalità NFC di Cuttlefish utilizza Casimir, uno strumento di simulazione di dispositivi NFC esterni, che supporta l'iniezione di byte APDU per l'emulazione della carta host. Casimir è implementato in /platform/system/nfc/tools/casimir/
.
Quando viene lanciato Cuttlefish, per impostazione predefinita viene lanciato anche Casimir. Per controllare Casimir, utilizza il servizio CasimirControlService
.
CasimirControlService
Puoi utilizzare il servizio CasimirControlService
tramite l'API REST o l'interfaccia a riga di comando. Per maggiori dettagli, consulta
Cuttlefish: controllo dell'ambiente.
La tabella seguente descrive il metodo in CasimirControlService
. Per maggiori informazioni, consulta casimir_control.proto
.
Metodo |
Descrizione |
SendApdu
|
Invia byte APDU (stringhe esadecimali) con NFC-A e ISO-DEP.
La risposta viene restituita come stringhe esadecimali. |
Di seguito è riportato un esempio di comando e una risposta semplificata per l'invio di due byte APDU, [0x00, 0x11, 0x22]
e [0x33, 0x44, 0x55]
.
Comando
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Risposta semplificata
Rpc succeeded with OK status
{
"responseHexStrings": [
"9000",
"9000",
]
}
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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 }"]]