A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
NFC
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
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 com
o Android 15 ou mais recente.
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 APDU para emulação de cartão de 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 APDU (strings hexadecimais) com NFC-A e ISO-DEP.
A resposta é retornada como strings hexadecimais. |
Confira a seguir um comando de exemplo 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",
]
}
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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 }"]]