Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Menjalankan pengujian NFC multiperangkat (Android 15)
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menjelaskan cara menjalankan pengujian NFC multiperangkat.
Memenuhi prasyarat
Sebelum menjalankan pengujian NFC multiperangkat, lakukan hal berikut:
- Siapkan perangkat dengan penerapan Android 15 Anda.
- Ikuti persyaratan CTS-V.
- Ikuti penyiapan CTS-V.
Menyiapkan DUT dan pembaca NFC PN532 untuk pengujian
Setelah Anda menyelesaikan langkah-langkah sebelumnya, ikuti langkah-langkah berikut untuk menjalankan
menyiapkan DUT dan pembaca NFC PN532 untuk pengujian:
- Hubungkan DUT ke mesin host melalui USB.
- Berikan izin kepada host untuk mengakses DUT melalui ADB.
Instal aplikasi CTS Verifier (CtsVerifier.apk
) di DUT:
extract root/out/host/linux-x86/cts-verifier/android-cts-verifier.zip
cd android-cts-verifier
adb install -r -g CtsVerifier.apk
Instal APK yang diperlukan untuk pengujian NFC:
cd MultiDevice
adb install -r -g NfcEmulatorTestApp.apk
Menyiapkan NFC untuk DUT
Ikuti langkah-langkah berikut untuk menjalankan penyiapan NFC untuk DUT:
- Di DUT, buka menu Setelan.
- Cari bagian NFC atau Perangkat Terhubung.
- Pastikan tombol NFC diaktifkan.
Posisikan chip NFC di pembaca NFC ponsel:
- Dapatkan chip NFC PN532. Sebaiknya gunakan
All-In-One PN532, opsi non-BLE.
- Pasang chip NFC PN532 ke host Linux menggunakan kabel USB.
- Letakkan chip NFC PN532 di atas pembaca NFC ponsel seperti yang ditunjukkan pada gambar berikut:
Gambar 1. Penempatan chip NFC.
Menyiapkan lingkungan pengujian
Ikuti langkah-langkah berikut untuk menjalankan penyiapan lingkungan pengujian:
Jalankan perintah berikut untuk menyiapkan lingkungan pengujian:
cd MultiDevice
source build/envsetup.sh
Perintah ini memeriksa Python dan menyiapkan variabel lingkungan PYTHONPATH
. Jika tidak ada error yang dicetak ke terminal, lingkungan siap
menjalankan pengujian multi-perangkat.
Jika Anda melihat pesan error libtinfo.so.6: no version information
available (required by /bin/sh)
saat runtime, jalankan perintah berikut
untuk mengganti nama file libtinfo.so.6
:
mv $ENV_DIRECTORY/lib/libtinfo.so.6 $ENV_DIRECTORY/lib/libtinfo.so.6.bak
Siapkan testbed dengan menetapkan ID serial perangkat DUT dan pembaca PN532 NFC
di MultiDevice/config.yml
:
TestBeds:
- Name: CtsNfcHceMultiDeviceTestCases-py-ctsv
Controllers:
AndroidDevice:
- serial: "<device-id>"
TestParams:
pn532_serial_path: "<pn532-serial-path>"
Menjalankan pengujian NFC
Untuk menjalankan pengujian NFC:
Buka aplikasi CTS-V dan ketuk NFC Tests:
Gambar 2. Aplikasi CTS-V.
Jendela info dengan daftar kasus pengujian akan muncul:
Gambar 3. Kasus pengujian aplikasi CTS-V.
Jalankan pengujian di host Anda:
MultiDevice$ python3 tools/run_all_tests.py
Setelah pengujian selesai, hasil pengujian akan diperbarui di aplikasi CTS-V. Pengujian yang berhasil akan berwarna hijau:
Gambar 4. Hasil pengujian CTS-V.
Jika Anda melihat kegagalan yang ditandai dengan warna merah, gunakan perintah berikut untuk menjalankan kembali
pengujian yang gagal:
python3 tools/run_all_tests.py --test_cases "`TestCaseA`" "`TestCaseB`" --test_files "`TestFileA`"
Dalam hal ini:
TestCaseA
dan TestCaseB
adalah nama kasus pengujian seperti yang ditampilkan di CTS-V.
TestFileA
adalah file pengujian yang berisi kasus pengujian.
Contoh:
python3 tools/run_all_tests.py --test_cases "test_conflicting_non_payment" "test_conflicting_non_payment_prefix" --test_files "CtsNfcHceMultiDeviceTestCases-py-ctsv"
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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\""]]