Menyiapkan CTS

Untuk menjalankan CTS, pertama-tama siapkan lingkungan fisik, komputer {i>desktop<i} Anda, dan perangkat Android yang Anda gunakan untuk pengujian.

Lingkungan fisik

Suar LE Bluetooth

Jika perangkat yang sedang diuji (DUT) mendukung Bluetooth LE, tempatkan minimal tiga beacon Bluetooth LE dalam jarak 5 meter dari DUT untuk pengujian pemindaian Bluetooth LE. Suar itu tidak perlu dikonfigurasi atau memancarkan apa pun, dan dapat jenis apa pun, termasuk iBeacon, Eddystone, atau bahkan perangkat yang menyimulasikan beacon BLE.

Ultra-wideband

Jika DUT mendukung ultra-wideband (UWB), perangkat lain pendukung UWB harus diposisikan cukup dekat dan berorientasi sehingga tidak memiliki antena dan zona mati radio. Untuk tes akurasi jarak, terdapat kebutuhan penempatan dan orientasi tertentu. Untuk detail penyiapan, lihat Persyaratan UWB. Pengujian UWB harus dijalankan secara manual, dengan menentukan perangkat terpisah satu meter. Untuk mengetahui detail tentang sharding yang diperlukan untuk pengujian ini, lihat Sharding lokal.

Kamera

Saat menjalankan CTS kamera, gunakan kondisi pencahayaan normal dengan pola uji (seperti pola papan catur). Tempatkan diagram pola pengujian sesuai ke jarak fokus minimum DUT untuk memastikan jaraknya tidak terlalu dekat dengan .

Arahkan sensor kamera ke adegan dengan pencahayaan yang cukup agar kamera sensor yang sedang diuji untuk mencapai dan tetap dalam batas maksimum frame target yang dikonfigurasi per detik (FPS) seperti yang ditentukan dalam CONTROL_AE_TARGET_FPS_RANGE Ini berlaku untuk semua sensor kamera yang dilaporkan oleh getCameraIdList saat pengujian melakukan iterasi pada perangkat yang tercantum dan mengukur performa satu per satu.

Jika DUT mendukung kamera eksternal, seperti webcam USB, colokkan saat menjalankan CTS. Jika tidak, uji CTS akan gagal.

GPS/GNSS

Jika DUT mendukung sistem pemosisian global/satelit navigasi global sistem (GPS/GNSS), menyediakan sinyal GPS/GNSS ke DUT di tempat level sinyal untuk penerimaan dan perhitungan lokasi GPS. Bagian GPS harus kompatibel dengan ICD-GPS-200C. Jika tidak, sinyal GPS/GNSS dapat berupa apa pun, termasuk simulator satelit atau pengulang GPS/GNSS untuk sinyal luar ruangan, atau Anda dapat menempatkan DUT cukup dekat dengan jendela sehingga dapat langsung menerima sinyal GPS/GNSS yang cukup.

Wi-Fi dan IPv6

Pengujian CTS memerlukan jaringan Wi-Fi yang mendukung IPv4 dan IPv6, serta memiliki akses internet dengan DNS yang berfungsi untuk IPv4 dan IPv6, mendukung multicast IP, dan dapat memperlakukan DUT sebagai klien yang terisolasi. Klien terisolasi adalah konfigurasi yang tidak memiliki DUT visibilitas ke pesan siaran/multijaringan di subnetwork tersebut. Ini terjadi dengan konfigurasi titik akses (AP) Wi-Fi atau dengan menjalankan DUT pada subjaringan terisolasi tanpa menyambungkan perangkat lain.

Jika Anda tidak memiliki akses ke jaringan IPv6 asli, jaringan operator IPv6, atau VPN untuk lulus beberapa tes tergantung pada IPv6, Anda dapat menggunakan titik akses Wi-Fi dan terowongan IPv6.

Untuk meneruskan CTS, DUT perlu menetapkan tanda UP, BROADCAST, dan MULTICAST pada antarmuka Wi-Fi. Antarmuka Wi-Fi memerlukan alamat IPv4 dan IPv6 yang ditetapkan. Periksa properti antarmuka Wi-Fi dengan adb shell ifconfig.

Untuk perangkat yang mendukung Selaraskan STA/STA Wi-Fi, beberapa jaringan Wi-Fi (setidaknya 2) diperlukan. Untuk lulus CTS, jaringan Wi-Fi jaringan harus beroperasi pada pita yang berbeda dengan SSID yang berbeda atau pada SSID yang sama dengan BSSID yang berbeda.

RTT Wi-Fi

Android menyertakan Wi-Fi RTT API untuk waktu perjalanan dua arah (RTT) Wi-Fi kemampuan IT mereka. Hal ini memungkinkan perangkat mengukur jarak ke titik akses dengan akurasi 1 hingga 2 meter, yang secara signifikan meningkatkan akurasi lokasi dalam ruangan. Dua perangkat yang direkomendasikan mendukung Wi-Fi RTT adalah Google Wifi dan Titik akses fitlet2 Compulab (disetel ke bandwidth 40 MHz pada 5 GHz).

Titik akses (AP) harus dinyalakan, tetapi tidak memerlukan koneksi jaringan. Titik akses (AP) tidak perlu berada di sebelah perangkat pengujian, tetapi direkomendasikan di berada dalam radius 40 kaki dari DUT. Satu titik akses biasanya cukup.

Penyiapan mesin desktop

Perhatian: CTS mendukung mesin Linux 64-bit. CTS tidak didukung di OS Windows atau MacOS.

FFMPEG

Instal paket ffmpeg versi 5.1.3 (atau yang lebih baru) pada mesin host.

Upgrade mesin host

Sangat disarankan untuk meng-upgrade RAM mesin host CTS ke 128 GB dan HDD hingga 256 GB. Hal ini diperlukan untuk mengakomodasi peningkatan jumlah kasus uji CTS dan peningkatan reservasi ruang heap Java yang ditrading.

ADB dan AAPT2

Sebelum menjalankan CTS, pastikan Anda telah menginstal versi keduanya Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT2) dan menambahkan lokasi alat-alat tersebut ke jalur sistem komputer Anda.

Untuk menginstal ADB dan AAPT2, download versi terbaru Android SDK Platform Tools dan Android SDK Build Tools dari paket SDK Manager atau dari sdkmanager baris perintah.

Pastikan adb dan aapt2 ada di jalur sistem Anda. Perintah berikut mengasumsikan bahwa Anda telah mengunduh arsip paket ke sub-direktori yang disebut android-sdk di direktori utama Anda:

export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>

Java Development Kit untuk Ubuntu

Instal versi yang tepat dari Java Development Kit (JDK).

  • Untuk Android 11, instal OpenJDK11.
  • Untuk Android 9 dan Android 10, instal OpenJDK9.
  • Untuk Android 7.0, 7.1, 8.0 dan 8.1, instal OpenJDK8.

Untuk mengetahui detailnya, lihat Persyaratan JDK.

Penyiapan untuk dukungan Python

Instal virtualenv untuk platform Anda dengan mengikuti Penginstalan petunjuk.

Anda dapat memverifikasi bahwa penginstalan berhasil dengan memanggil virtualenv -h.

File CTS

Unduh dan buka paket CTS dari Download Compatibility Test Suite mencocokkan perangkat Anda Versi Android dan semua antarmuka biner aplikasi (ABI) yang didukung perangkat Anda.

Download dan buka versi terbaru File media CTS.

Download file CTS terkait Mainline (opsional)

Saat Anda menjalankan versi CTS untuk pertama kalinya, CTS akan secara dinamis mengunduh beberapa File CTS terkait mainline, yang menambahkan waktu setidaknya 10 menit ke waktu proses, tergantung pada kecepatan jaringan Anda.

Untuk menghindari waktu proses CTS tambahan ini, Anda dapat mendownload CTS terkait Mainline sebelum menjalankan versi CTS, dengan mengikuti petunjuk berikut:

  1. Dapatkan level API Android di perangkat dengan menjalankan:

    adb shell getprop ro.build.version.sdk
    
  2. Ikuti petunjuk dalam skrip download_mcts.sh untuk mengunduh file Mainline CTS.

    Proses download akan memerlukan waktu minimal 10 menit, bergantung pada kecepatan jaringan Anda.

Deteksi perangkat

Ikuti langkah untuk menyiapkan sistem agar mendeteksi perangkat Anda.

Batas memori

Anda mungkin ingin meningkatkan memori maksimum yang tersedia selama pengujian di cts-tradefed {i>script<i}. Lihat contoh CL untuk informasi selengkapnya.

Penyiapan perangkat Android

Build pengguna

Perangkat yang kompatibel didefinisikan sebagai perangkat dengan build yang ditandatangani pengguna/kunci rilis. Perangkat Anda harus menjalankan image sistem berdasarkan kompatibilitas build pengguna (Android 4.0 atau yang lebih tinggi) dari Nama Kode, Tag, dan Nomor Build.

Properti build API level pertama

Persyaratan CTS tertentu bergantung pada build tempat perangkat awalnya yang digunakan bersama. Misalnya, perangkat yang awalnya dijual dengan versi sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan dibangun di kemudian hari.

Untuk membuat informasi ini tersedia bagi CTS, produsen perangkat dapat menentukan properti build-time ro.product.first_api_level. Nilai adalah level API pertama yang digunakan untuk meluncurkan perangkat secara komersial.

Produsen perangkat dapat menggunakan kembali implementasi dasar umum untuk meluncurkan produk baru sebagai upgrade dari produk yang sudah ada di perangkat yang sama ras. Produsen perangkat bisa secara opsional menyetel API level dari produknya ke ro.product.first_api_level, sehingga persyaratan upgrade diterapkan untuk CTS dan Treble/VTS.

Produsen perangkat dapat menentukan PRODUCT_SHIPPING_API_LEVEL dalam device.mk untuk menetapkan properti ini, seperti yang ditunjukkan dalam contoh berikut:

# PRODUCT_SHIPPING_API_LEVEL sets ro.product.first_api_level to indicate
# the first api level that the device has been commercially launched on.
PRODUCT_SHIPPING_API_LEVEL := 21

Level API pertama untuk Android 9 atau yang lebih tinggi

Untuk perangkat yang diluncurkan dengan Android 9 atau yang lebih tinggi, setel ro.product.first_api_level ke nilai valid dari Namakode, Tag, dan Nomor Build.

Level API pertama untuk Android 8.x atau yang lebih rendah

Untuk perangkat yang diluncurkan di Android 8.x atau yang lebih rendah, setel (hapus) ro.product.first_api_level untuk build pertama produk. Sebagai semua build berikutnya, tetapkan ro.product.first_api_level ke level API yang benar dengan sejumlah nilai. Ini memungkinkan properti untuk mengidentifikasi produk baru dengan benar dan menyimpan informasi tentang level API pertama produk. Jika flag tersebut tidak disetel, Android menetapkan Build.VERSION.SDK_INT ke ro.product.first_api_level.

Paket shim CTS

Android 10 atau yang lebih baru menyertakan format paket yang disebut APEX. Menjalankan uji CTS untuk pengelolaan APEX API (seperti mengupdate ke versi baru atau melaporkan APEX aktif), Anda harus melakukan prainstal paket CtsShimApex pada partisi /system.

Pengujian validasi shim APEX memverifikasi penerapan CtsShimApex.

persyaratan ro.apex.updatable

  • Jika properti ro.apex.updatable ditetapkan ke true, CtsShimApex adalah diperlukan untuk semua perangkat yang mendukung pengelolaan paket APEX.

  • Jika properti ro.apex.updatable tidak ada atau tidak ditetapkan, CtsShimApex tidak perlu diprainstal pada perangkat.

Pengujian validasi shim APEX memverifikasi penerapan CtsShimApex.

Prainstal dan pramuat CtsShim

Mulai Android 11, CtsShimApex berisi dua aplikasi bawaan (dibangun dari sumber build), yang tidak berisi kode apa pun kecuali untuk manifes. CTS menggunakan aplikasi ini untuk hak istimewa dan izin pengujian.

Jika perangkat tidak mendukung pengelolaan paket APEX (yaitu, Properti ro.apex.updatable tidak ada atau tidak ditetapkan), atau jika perangkat menjalankan versi 10 atau yang lebih rendah, kedua aplikasi bawaan harus diinstal lebih dulu di sistem secara terpisah.

Jika APEX didukung, pra-penginstalan untuk rilis yang sesuai harus ditempatkan sebagai /system/apex/com.android.apex.cts.shim.apex.

Jika aplikasi bawaan reguler digunakan, CtsShim dan CtsShimPriv untuk rilis yang sesuai harus ditempatkan sebagai /system/app/CtsShimPrebuilt.apk dan /system/priv-app/CtsShimPrivPrebuilt.apk.

Tabel berikut mencantumkan tindakan pra-instal dan pramuat yang tersedia untuk masing-masing versi dan arsitektur perangkat.

Versi Perangkat Prainstal
(jika mendukung APEX)
Pramuat
ARM x86 ARM x86
Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release android13-x86-release android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release android12-x86-release android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release android11-x86-release android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10-release android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O, dan O-MR1 T/A T/A arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Agar lulus pengujian, pramuat aplikasi ke dalam direktori yang sesuai di gambar sistem tanpa menandatangani ulang aplikasi.

Contoh applet

Android 9 memperkenalkan Open Mobile API. Untuk perangkat yang melaporkan lebih dari satu elemen pengaman, CTS menambahkan kasus pengujian untuk memvalidasi perilaku Open Mobile Google Cloud Platform. Kasus pengujian ini memerlukan instalasi satu kali dari{i> applet<i} sampel ke dalam Elemen Pengaman tersemat (eSE) dari DUT atau ke dalam kartu SIM yang TUTUP Tujuan Applet contoh eSE dan Applet contoh SIM yang tersedia di AOSP.

Lihat CTS Test untuk Elemen Aman untuk informasi lebih mendetail tentang kasus pengujian Open Mobile API dan pengujian Kontrol Akses penggunaan.

Persyaratan penyimpanan

Uji daya tahan media CTS memerlukan klip video yang berada di penyimpanan eksternal (/sdcard). Sebagian besar klip berasal dari Big Buck Bunny, yang dilindungi hak cipta oleh Blender Foundation di bawah Lisensi Creative Commons Attribution 3.0.

Ruang yang diperlukan bergantung pada resolusi pemutaran video maksimum yang didukung oleh perangkat. Lihat bagian 5 dalam Dokumen Definisi Kompatibilitas Android untuk versi platform dari resolusi yang diperlukan.

Berikut adalah persyaratan penyimpanan berdasarkan resolusi pemutaran video maksimum:

  • 480x360: 98 MB
  • 720x480: 193 MB
  • 1280x720: 606 MB
  • 1920x1080: 1863 MB

Layar dan penyimpanan

  • Setiap perangkat yang tidak memiliki layar tersemat harus terhubung ke layar.
  • Jika perangkat memiliki slot kartu memori, colokkan kartu SD yang kosong. Menggunakan SD kartu yang mendukung bus berkecepatan ultra tinggi (UHS) dengan kapasitas SDHC atau SDXC atau satu dengan kecepatan minimal kelas 10 atau lebih tinggi untuk memastikan bahwa itu dapat meneruskan CTS.

  • Jika perangkat memiliki slot kartu SIM, colokkan kartu SIM yang telah diaktifkan ke setiap slot. Jika perangkat mendukung SMS, tiap kartu SIM harus memiliki kolom nomornya sendiri telah diisi. Untuk perangkat yang menjalankan Android 12 atau lebih tinggi, semua kartu SIM harus memiliki dukungan untuk menyimpan panggilan singkat angka (ADN). Kartu GSM dan USIM dengan file khusus telekomunikasi (DFTelecom) memenuhi persyaratan ini.

UICC Developer

Untuk menjalankan pengujian API operator CTS, perangkat perlu menggunakan SIM dengan operator CTS hak istimewa yang memenuhi persyaratan yang ditentukan dalam Menyiapkan UICC.

Konfigurasi perangkat Android

  1. Reset perangkat ke setelan pabrik: Setelan > Pencadangan & reset > Data pabrik menyetel ulang.

  2. Setel bahasa perangkat Anda ke bahasa Inggris (Amerika Serikat): Setelan > Bahasa & input > Bahasa.

  3. Jika perangkat mendukung penyesuaian font default, setel font default Jenis font sans-serif menjadi Roboto (jenis font sans-serif default digunakan dalam build AOSP).

  4. Aktifkan setelan lokasi jika ada GPS atau jaringan Wi-Fi/seluler pada perangkat: Setelan > Lokasi > Aktif.

  5. Terhubung ke jaringan Wi-Fi yang mendukung IPv6, dapat memperlakukan DUT sebagai klien yang terisolasi (lihat Lingkungan fisik di atas), dan memiliki koneksi internet: Setelan > Wi-Fi.

  6. Pastikan tidak ada pola kunci atau sandi yang disetel di perangkat: Setelan > Keamanan > Kunci layar > Tidak ada.

  7. Aktifkan Proses debug USB di perangkat: Setelan > Opsi developer > Proses debug USB.

  8. Setel waktu ke format 12 jam: Setelan > Tanggal & waktu > Gunakan 24 jam format > Nonaktif.

  9. Mengatur perangkat agar tetap terjaga: Setelan > Opsi developer > Tetap Terbangun > Aktif.

  10. Di Khusus Android 5.x dan 4.4.x, setel perangkat untuk mengizinkan lokasi palsu: Setelan > Opsi developer > Izinkan lokasi palsu > Aktif.

  11. Di Android 4.2 atau yang lebih tinggi, nonaktifkan verifikasi aplikasi USB: Setelan > Opsi developer > Verifikasi aplikasi melalui USB > Nonaktif.

  12. Di Android 13 atau yang lebih baru, setel perangkat untuk mengizinkan modem tiruan: Setelan > Opsi developer > Izinkan Modem Simulasi > Aktif.

  13. Luncurkan browser dan tutup semua layar startup/penyiapan.

  14. Hubungkan komputer desktop yang akan digunakan untuk menguji perangkat dengan USB kabel.

  15. Sebelum menjalankan CTS, setel Roboto2 sebagai font sans-serif menggunakan pengaturan keterjangkauan yang dapat diakses (tidak tersembunyi).

Penginstalan file

Menginstal dan mengonfigurasi aplikasi bantuan di perangkat.

  1. Siapkan perangkat sesuai dengan versi CTS Anda:

    • CTS versi 2.1 R2 hingga 4.2 R4: Menyiapkan perangkat (atau emulator) untuk menjalankan pengujian aksesibilitas dengan: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Pada perangkat, aktifkan delegasi: Setelan > Aksesibilitas > Aksesibilitas > Mendelegasikan Layanan Aksesibilitas.

    • CTS versi 6.x atau yang lebih rendah: Pada perangkat yang mendeklarasikan android.software.device_admin, siapkan perangkat Anda untuk menjalankan perangkat administrasi pengujian menggunakan: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      Di Setelan > Keamanan > Pilih administrator perangkat, aktifkan dua perangkat android.deviceadmin.cts.CtsDeviceAdminReceiver* Google Workspace for Education. Pastikan bahwa android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver dan semua administrator perangkat lainnya yang dipramuat tetap dinonaktifkan.

  2. Salin file media CTS ke perangkat sebagai berikut:

    1. Buka (cd) ke jalur tempat file media didownload dan diekstrak.
    2. Ubah izin file: chmod u+x copy_media.sh

    3. Salin file yang diperlukan:

      • Untuk menyalin klip hingga resolusi 720x480, jalankan:

        ./copy_media.sh 720x480
        
      • Jika Anda tidak yakin dengan resolusi maksimumnya, salin semua file:

        ./copy_media.sh all
        
      • Jika ada beberapa perangkat di adb, tambahkan opsi serial (-s) perangkat tertentu hingga akhir. Misalnya, untuk menyalin hingga 720x480 ke perangkat dengan serial 1234567, jalankan:

        ./copy_media.sh 720x480 -s 1234567