اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
NFC
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
توضِّح هذه الصفحة كيفية التحكّم في تقنية NFC على جهاز Cuttlefish باستخدام
ميزة NFC في Cuttlefish. تتوفّر تقنية NFC على أجهزة Cuttlefish التي تعمل بنظام Android 15 أو إصدار أحدث.
استخدام Casimir
تستخدم ميزة Cuttlefish NFC أداة Casimir، وهي أداة محاكاة خارجية لأجهزة NFC،
تتيح حقن وحدات APDU لمحاكاة البطاقة المُضيفة. تم تنفيذ Casimir
في
/platform/system/nfc/tools/casimir/
.
عند تشغيل Cuttlefish، يتم أيضًا تشغيل Casimir تلقائيًا. للتحكّم في Casimir، استخدِم خدمة CasimirControlService
.
CasimirControlService
يمكنك استخدام خدمة CasimirControlService
من خلال واجهة برمجة التطبيقات REST API أو
واجهة سطر الأوامر. لمعرفة التفاصيل، يُرجى الاطّلاع على مقالة
Cuttlefish: Environment Control (سمكة الحبار: التحكّم في البيئة).
يصف الجدول التالي الطريقة في CasimirControlService
. لمزيد من المعلومات، يُرجى الاطّلاع على casimir_control.proto
.
الطريقة |
الوصف |
SendApdu
|
تُرسِل وحدات بايت APDU (سلاسل سداسية عشرية) باستخدام NFC-A وISO-DEP.
يتم عرض الاستجابة كسلسة سداسية عشرية. |
في ما يلي مثال على أمر وردّ مبسط لإرسال اثنين من وحدات برمجة التطبيقات المكوّنة من ثمانية أحرف، [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 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],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 }"]]