27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Çoklu cihaz NFC testleri çalıştırma (Android 15)
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Bu belgede, birden fazla cihazda NFC testlerinin nasıl çalıştırılacağı açıklanmaktadır.
Önkoşulları karşılama
Çok cihazlı NFC testleri çalıştırmadan önce aşağıdakileri yapın:
- Android 15 uygulamanızı içeren bir cihaz hazırlayın.
- CTS-V şartlarına uyun.
- CTS-V kurulumunu uygulayın.
Test için bir DUT ve PN532 NFC okuyucu hazırlayın
Önceki adımları tamamladıktan sonra, test için bir DUT ve PN532 NFC okuyucu hazırlamak üzere aşağıdaki adımları uygulayın:
- DUT'u USB üzerinden bir ana makineye bağlayın.
- Ana makinenin ADB üzerinden DUT'ya erişmesi için izin verin.
CTS Doğrulayıcı uygulamasını (CtsVerifier.apk
) DUT'a yükleyin:
extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
cd android-cts-verifier
adb install -r -g CtsVerifier.apk
NFC testi için gereken APK'ları yükleyin:
cd MultiDevice
adb install -r -g NfcEmulatorTestApp.apk
DUT için NFC'yi ayarlama
DUT için NFC'yi ayarlamak üzere aşağıdaki adımları uygulayın:
- DUT'ta Ayarlar menüsüne gidin.
- NFC veya Bağlı Cihazlar bölümünü bulun.
- NFC açma/kapatma düğmesinin açık olduğundan emin olun.
Telefonun NFC okuyucusuna bir NFC çipi yerleştirin:
- PN532 NFC çipi edinin. BLE olmayan All-In-One PN532 seçeneğini öneririz.
- PN532 NFC çipini bir USB kablosuyla Linux ana makinesine bağlayın.
- PN532 NFC çipini aşağıdaki resimde gösterildiği gibi telefonun NFC okuyucusunun üzerine yerleştirin:
Şekil 1. NFC çipi yerleşimi.
Test ortamını ayarlama
Test ortamını ayarlamak için aşağıdaki adımları uygulayın:
Test ortamını ayarlamak için aşağıdaki komutları çalıştırın:
cd MultiDevice
source build/envsetup.sh
Bu komut, Python'u kontrol eder ve PYTHONPATH
ortam değişkenini ayarlar. Terminale hata yazdırılmazsa ortam, çok cihazlı testleri çalıştırmaya hazırdır.
Çalışma zamanında libtinfo.so.6: no version information
available (required by /bin/sh)
hata mesajını görürseniz libtinfo.so.6
dosyasını yeniden adlandırmak için aşağıdaki komutu çalıştırın:
mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
DUT ve PN532 NFC okuyucusunun cihaz seri kimliklerini MultiDevice/config.yml
'te ayarlayarak test yatağını kurun:
TestBeds:
- Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
Controllers:
AndroidDevice:
- serial: "<device-id>"
TestParams:
pn532_serial_path: "<pn532-serial-path>"
NFC testlerini çalıştırma
NFC testlerini çalıştırmak için:
CTS-V uygulamasını açıp NFC Testleri'ne dokunun:
Şekil 2. CTS-V uygulaması.
Test durumlarının listesini içeren bilgi penceresi gösterilir:
Şekil 3. CTS-V uygulama test durumları.
Testleri barındırıcınızda çalıştırın:
MultiDevice$ python3 tools/run_all_tests.py
Testler tamamlandığında test sonuçları CTS-V uygulamasında güncellenir. Başarılı testler yeşil renkte gösterilir:
Şekil 4. CTS-V test sonuçları.
Başarısız testlerin kırmızıyla işaretlendiğini görürseniz başarısız testleri yeniden çalıştırmak için aşağıdaki komutu kullanın:
python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
Nerede:
TestCaseA
ve TestCaseB
, CTS-V'de gösterilen test durumlarının adlarıdır.
TestFileA
, test durumlarını içeren test dosyasıdır.
Örneğin:
python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-27 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-07-27 UTC."],[],[],null,["# Run multi-device NFC tests (Android 15)\n\nThis document explains how to run multi-device NFC tests.\n\nMeet prerequisites\n------------------\n\nBefore you run multi-device NFC tests, do the following:\n\n1. Prepare a device with your Android 15 implementation.\n2. Follow CTS-V [requirements](/docs/compatibility/cts/verifier#requirements).\n3. Follow CTS-V [setup](/docs/compatibility/cts/verifier#setup).\n\nPrepare a DUT and a PN532 NFC reader for the test\n-------------------------------------------------\n\nAfter you finish the previous steps, follow these steps to run\nprepare a DUT and a PN532 NFC reader for the test:\n\n1. Connect the DUT to a host machine over USB.\n2. Grant permissions for the host to access the DUT over ADB.\n3. Install the CTS Verifier app (`CtsVerifier.apk`) on the DUT:\n\n extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip\n\n cd android-cts-verifier\n\n adb install -r -g CtsVerifier.apk\n\n4. Install the NFC test required APKs:\n\n cd MultiDevice\n\n adb install -r -g NfcEmulatorTestApp.apk\n\nSet up NFC for the DUT\n----------------------\n\nFollow these steps to run set up NFC for the DUT:\n\n1. On the DUT, go to the **Settings** menu.\n2. Look for the **NFC** or **Connected Devices** section.\n3. Ensure the NFC toggle switch is turned on.\n4. Position an NFC chip on the phone's NFC reader:\n\n 1. Acquire a PN532 NFC chip. We recommend the [All-In-One PN532](https://shop.mtoolstec.com/product/mtools-all-in-one-pn532), non-BLE option.\n 2. Attach the PN532 NFC chip to the Linux host using a USB cable.\n 3. Place the PN532 NFC chip over the phone's NFC reader as shown in the following image:\n\n **Figure 1.** NFC chip placement.\n\nSet up the test environment\n---------------------------\n\nFollow these steps to run set up the test environment:\n\n1. Run these commands to set up the test environment:\n\n cd MultiDevice\n\n source build/envsetup.sh\n\n This command checks the Python and sets up the `PYTHONPATH` environment\n variable. If no errors are printed to the terminal, the environment is ready\n to run the multi-device tests.\n\n If you see the error message `libtinfo.so.6: no version information\n available (required by /bin/sh)` at runtime, run the following command\n to rename the `libtinfo.so.6` file: \n\n mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak\n\n2. Set up the test bed by setting the device serial IDs of the DUT and PN532 NFC\n reader in `MultiDevice/config.yml`:\n\n TestBeds:\n - Name: CtsNfcHceMultiDeviceTestCases-py-ctsv\n Controllers:\n AndroidDevice:\n - serial: \"\u003cdevice-id\u003e\"\n TestParams:\n pn532_serial_path: \"\u003cpn532-serial-path\u003e\"\n\nRun the NFC tests\n-----------------\n\nTo run the NFC tests:\n\n1. Open the CTS-V app and tap **NFC Tests**:\n\n **Figure 2.** The CTS-V app.\n\n The info window with list of test cases appears:\n\n **Figure 3.** CTS-V app test cases.\n2. Run the tests on your host:\n\n MultiDevice$ python3 tools/run_all_tests.py\n\n When the tests are completed, the test results are updated in the CTS-V\n app. Successful tests are green:\n\n **Figure 4.** CTS-V test results.\n3. If you see any failures marked in red, use the following command to rerun\n the failed tests:\n\n python3 tools/run_all_tests.py --test_cases \"`\u003cvar translate=\"no\"\u003eTestCaseA\u003c/var\u003e`\" \"`\u003cvar translate=\"no\"\u003eTestCaseB\u003c/var\u003e`\" --test_files \"`\u003cvar translate=\"no\"\u003eTestFileA\u003c/var\u003e`\"\n\n Where:\n - \u003cvar translate=\"no\"\u003eTestCaseA\u003c/var\u003e and \u003cvar translate=\"no\"\u003eTestCaseB\u003c/var\u003e are the names of the test cases as displayed in CTS-V.\n - \u003cvar translate=\"no\"\u003eTestFileA\u003c/var\u003e is the test file containing the test cases.\n\n For example: \n\n python3 tools/run_all_tests.py --test_cases \"test_conflicting_non_payment\" \"test_conflicting_non_payment_prefix\" --test_files \"CtsNfcHceMultiDeviceTestCases-py-ctsv\""]]