NFC

本页面介绍了如何使用 Cuttlefish NFC 功能控制 Cuttlefish 设备上的 NFC。Android 15 或更高版本的 Cuttlefish 设备支持 NFC。

使用 Casimir

Cuttlefish NFC 功能使用外部 NFC 设备模拟工具 Casimir,该工具支持注入 APDU 字节以进行主机卡模拟。Casimir 在 /platform/system/nfc/tools/casimir/ 中实现。

启动 Cuttlefish 时,Casimir 也会默认启动。要控制 Casimir,请使用 CasimirControlService 服务。

CasimirControlService

您可以通过 REST API 或命令行界面使用 CasimirControlService 服务。如需了解详情,请参阅Cuttlefish:环境控制

下表介绍了 CasimirControlService 中的方法。如需了解详情,请参阅 casimir_control.proto

方法 说明
SendApdu 使用 NFC-A 和 ISO-DEP 发送 APDU 字节(十六进制字符串)。响应以十六进制字符串形式返回。

以下是发送两个 APDU 字节 [0x00, 0x11, 0x22][0x33, 0x44, 0x55] 的示例命令和简化响应。

  • 命令

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • 简化响应

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