החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
NFC
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מוסבר איך לשלוט ב-NFC במכשיר Cuttlefish באמצעות התכונה Cuttlefish NFC. יש תמיכה ב-NFC במכשירי Cuttlefish עם Android מגרסה 15 ואילך.
שימוש ב-Casimir
התכונה Cuttlefish NFC משתמשת ב-Casimir, כלי חיצוני לסימולציה של מכשיר NFC, שתומך בהחדרת בייטים של APDU לאמולציה של כרטיס מארח. Casimir מוטמע ב-/platform/system/nfc/tools/casimir/
.
כשמפעילים את Cuttlefish, Casimir מופעל גם הוא כברירת מחדל. כדי לשלוט ב-Casimir, משתמשים בשירות CasimirControlService
.
CasimirControlService
אפשר להשתמש בשירות CasimirControlService
דרך ה-API ל-REST או דרך ממשק שורת הפקודה. פרטים נוספים זמינים במאמר Cuttlefish: בקרת סביבה.
בטבלה הבאה מתוארת השיטה ב-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",
]
}
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת 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 }"]]