Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
NFC
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Sie NFC auf einem Cuttlefish-Gerät mit der Cuttlefish-NFC-Funktion steuern. NFC wird auf Cuttlefish-Geräten mit Android 15 oder höher unterstützt.
Casimir verwenden
Für die NFC-Funktion von Cuttlefish wird Casimir verwendet, ein externes NFC-Gerätesimulationstool, das das Einschleusen von APDU-Byte für die Hostkartenemulation unterstützt. Casimir ist in /platform/system/nfc/tools/casimir/
implementiert.
Wenn Sie Cuttlefish starten, wird standardmäßig auch Casimir gestartet. Verwenden Sie den Dienst CasimirControlService
, um Casimir zu steuern.
CasimirControlService
Sie können den CasimirControlService
-Dienst über die REST API oder die Befehlszeile verwenden. Weitere Informationen finden Sie unter Cuttlefish: Umgebungssteuerung.
In der folgenden Tabelle wird die Methode in CasimirControlService
beschrieben. Weitere Informationen finden Sie unter casimir_control.proto
.
Method |
Beschreibung |
SendApdu
|
Sendet APDU-Byte (Hexadezimalstrings) mit NFC-A und ISO-DEP. Die Antwort wird als Hexadezimalstrings zurückgegeben. |
Im Folgenden finden Sie ein Beispiel für einen Befehl und eine vereinfachte Antwort zum Senden von zwei APDU-Byten, [0x00, 0x11, 0x22]
und [0x33, 0x44, 0x55]
.
Befehl
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Vereinfachte Antwort
Rpc succeeded with OK status
{
"responseHexStrings": [
"9000",
"9000",
]
}
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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 }"]]