NFC

En esta página, se describe cómo controlar la 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.

Cómo usar 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 de APDU para la emulación de tarjetas basada en host. Casimir se implementa en /platform/system/nfc/tools/casimir/.

Cuando se inicia Cuttlefish, Casimir también se inicia de forma predeterminada. Para controlar Casimir, usa el servicio CasimirControlService.

CasimirControlService

Puedes usar el servicio de CasimirControlService a través de la API de REST o la interfaz de línea de comandos. Para obtener más detalles, 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 devuelve como cadenas hexadecimales.

A continuación, se muestra un ejemplo de un comando 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",
    ]
    }