NFC

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

使用 Casimir

Cuttlefish NFC 功能使用 Casimir,这是一个外部 NFC 设备模拟工具,支持为主机卡模拟注入 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",
    ]
    }