自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
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",
]
}
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-26。
[null,null,["最后更新时间 (UTC):2025-03-26。"],[],[],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 }"]]