בדף הזה מוסבר איך לשלוט ב-NFC במכשיר Cuttlefish באמצעות התכונה Cuttlefish NFC. NFC נתמך במכשירי Cuttlefish עם Android מגרסה 15 ואילך.
שימוש ב-Casimir
התכונה NFC ב-Cuttlefish משתמשת ב-Casimir, כלי חיצוני לסימולציה של מכשיר NFC,
שתומך בהחדרת בייטים של APDU לאמולציה של כרטיסים מבוססי מארח. Casimir מיושם ב-/platform/system/nfc/tools/casimir/.
כשמפעילים את Cuttlefish, מופעל גם Casimir כברירת מחדל. כדי לשלוט ב-Casimir, משתמשים בשירות CasimirControlService.
CasimirControlService
אפשר להשתמש בשירות CasimirControlService דרך ה-API ל-REST או דרך ממשק שורת הפקודה. פרטים נוספים זמינים במאמר בנושא Cuttlefish: Environment Control.
בטבלה הבאה מתוארת השיטה ב-CasimirControlService. מידע נוסף זמין במאמר בנושא casimir_control.proto.
| שיטה | תיאור |
|---|---|
SendApdu
|
שולחת בייטים של APDU (מחרוזות הקסדצימליות) עם NFC-A ו-ISO-DEP. התגובה מוחזרת כמחרוזות הקסדצימליות. |
הדוגמה הבאה מציגה פקודה ותשובה פשוטה לשליחת שני בייטים של 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", ] }