2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
NFC
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
이 페이지에서는 Cuttlefish NFC 기능을 사용하여 Cuttlefish 기기에서 NFC를 제어하는 방법을 설명합니다. NFC는 Android 15 이상을 실행하는 Cuttlefish 기기에서 지원됩니다.
Casimir 사용
Cuttlefish NFC 기능은 호스트 카드 에뮬레이션을 위한 APDU 바이트 삽입을 지원하는 외부 NFC 기기 시뮬레이션 도구인 Casimir를 사용합니다. 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 바이트 (16진수 문자열)를 전송합니다. 응답은 16진수 문자열로 반환됩니다. |
다음은 두 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",
]
}
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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 }"]]