Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Komunikacja NFC
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie opisano, jak sterować komunikacją NFC na urządzeniu Cuttlefish za pomocą funkcji NFC Cuttlefish. Komunikacja NFC jest obsługiwana na urządzeniach Cuttlefish z Androidem 15 lub nowszym.
Używanie Casimira
Funkcja NFC Cuttlefish korzysta z oprogramowania Casimir, które jest zewnętrznym narzędziem do symulowania urządzeń NFC. Umożliwia ono wstrzykiwanie bajtów APDU na potrzeby emulacji karty hosta. Casimir jest zaimplementowany w /platform/system/nfc/tools/casimir/
.
Podczas uruchamiania Cuttlefish domyślnie uruchamia się też Casimir. Aby sterować Casimirem, użyj usługi CasimirControlService
.
CasimirControlService
Usługi CasimirControlService
możesz używać za pomocą interfejsu REST API lub wiersza poleceń. Więcej informacji znajdziesz w artykule Cuttlefish: kontrola środowiska.
W tabeli poniżej opisano metodę CasimirControlService
. Więcej informacji znajdziesz w artykule casimir_control.proto
.
Metoda |
Opis |
SendApdu
|
Wysyła bajty APDU (ciągi szesnastkowe) za pomocą NFC-A i ISO-DEP.
Odpowiedź jest zwracana jako ciągi szesnastkowe. |
Poniżej znajduje się przykład polecenia i uproszczona odpowiedź na wysłanie dwóch bajtów APDU, [0x00, 0x11, 0x22]
i [0x33, 0x44, 0x55]
.
Polecenie
cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
Uproszczona odpowiedź
Rpc succeeded with OK status
{
"responseHexStrings": [
"9000",
"9000",
]
}
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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 }"]]