NFC

Esta página descreve como controlar o NFC em um dispositivo Cuttlefish usando o recurso NFC do Cuttlefish. O NFC tem suporte em dispositivos Cuttlefish que executam o Android 15 ou versões mais recentes.

Usar Casimir

O recurso NFC do Cuttlefish usa o Casimir, uma ferramenta externa de simulação de dispositivos NFC que oferece suporte à injeção de bytes de APDU para emulação de cartão host. O Casimir é implementado no /platform/system/nfc/tools/casimir/.

Ao iniciar o Cuttlefish, o Casimir também é iniciado por padrão. Para controlar o Casimir, use o serviço CasimirControlService.

CasimirControlService

É possível usar o serviço CasimirControlService pela API REST ou pela interface de linha de comando. Para mais detalhes, consulte Cuttlefish: controle de ambiente.

A tabela a seguir descreve o método em CasimirControlService. Para mais informações, consulte casimir_control.proto.

Método Descrição
SendApdu Envia bytes de APDU (strings hexadecimais) com NFC-A e ISO-DEP. A resposta é retornada como strings hexadecimais.

Confira a seguir um exemplo de comando e uma resposta simplificada para enviar dois bytes de APDU, [0x00, 0x11, 0x22] e [0x33, 0x44, 0x55].

  • Comando

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • Resposta simplificada

    Rpc succeeded with OK status
    {
    "responseHexStrings": [
      "9000",
      "9000",
    ]
    }