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",
    ]
    }