A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
NFC
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describe cómo controlar el NFC en un dispositivo Cuttlefish con la función NFC de Cuttlefish. NFC es compatible con dispositivos Cuttlefish que ejecutan Android 15 o versiones posteriores.
Usa Casimir
La función NFC de Cuttlefish usa Casimir, una herramienta externa de simulación de dispositivos NFC, que admite la inserción de bytes APDU para la emulación de tarjetas de host. Casimir se implementa en /platform/system/nfc/tools/casimir/
.
Cuando se inicia Cuttlefish, también se inicia Casimir de forma predeterminada. Para controlar Casimir, usa el servicio CasimirControlService
.
CasimirControlService
Puedes usar el servicio CasimirControlService
a través de la API de REST o la interfaz de línea de comandos. Para obtener más información, consulta Cuttlefish: Control del entorno.
En la siguiente tabla, se describe el método en CasimirControlService
. Para obtener más información, consulta casimir_control.proto
.
Método |
Descripción |
SendApdu
|
Envía bytes de APDU (cadenas hexadecimales) con NFC-A y ISO-DEP. La respuesta se muestra como cadenas hexadecimales. |
El siguiente es un comando de ejemplo y una respuesta simplificada para enviar dos bytes de APDU, [0x00, 0x11, 0x22]
y [0x33, 0x44, 0x55]
.
Comando
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Respuesta simplificada
Rpc succeeded with OK status
{
"responseHexStrings": [
"9000",
"9000",
]
}
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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 }"]]