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 o 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 em /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 por meio da API REST ou da interface de linha de comando. Para mais detalhes, consulte Cuttlefish: controle do 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 APDU (strings hexadecimais) com NFC-A e ISO-DEP. A resposta é retornada como strings hexadecimais.

Veja a seguir um exemplo de comando e uma resposta simplificada para o envio de 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",
    ]
    }