Untuk menjalankan CTS, pertama-tama siapkan lingkungan fisik, mesin desktop, dan perangkat Android yang digunakan 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. Beacon tersebut tidak perlu dikonfigurasi atau memancarkan sesuatu yang spesifik, dan dapat berupa apa pun, termasuk iBeacon, Eddystone, atau bahkan perangkat yang menyimulasikan beacon BLE.
Ultra-wideband
Jika DUT mendukung ultra-wideband (UWB), perangkat lain yang mendukung UWB harus diposisikan cukup dekat dan diorientasikan agar tidak memiliki antena dan zona mati radio. Untuk uji akurasi jarak, ada kebutuhan pemosisian dan orientasi tertentu. Untuk mengetahui detail penyiapan, lihat Persyaratan UWB. Pengujian UWB harus dijalankan secara manual, yang menentukan command line mana yang memiliki dua perangkat yang 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 diagram pola pengujian (seperti pola kotak-kotak). Tempatkan diagram pola pengujian sesuai dengan jarak fokus minimum DUT untuk memastikannya tidak terlalu dekat dengan lensa.
Arahkan sensor kamera ke adegan dengan pencahayaan yang cukup agar
sensor yang sedang diuji dapat mencapai dan tetap berada pada frame target
per detik (FPS) maksimum yang dikonfigurasi seperti yang ditentukan dalam
CONTROL_AE_TARGET_FPS_RANGE
.
Ini berlaku untuk semua sensor kamera yang dilaporkan oleh
getCameraIdList
karena pengujian melakukan iterasi pada perangkat yang tercantum dan mengukur performa
satu per satu.
Jika DUT mendukung kamera eksternal, seperti webcam USB, colokkan kamera eksternal saat menjalankan CTS. Jika tidak, uji CTS akan gagal.
GPS/GNSS
Jika DUT mendukung fitur sistem pemosisian global/sistem satelit navigasi global (GPS/GNSS), berikan sinyal GPS/GNSS ke DUT pada tingkat sinyal yang sesuai untuk penerimaan dan penghitungan lokasi GPS. Bagian GPS harus mematuhi 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, memiliki koneksi internet dengan DNS yang berfungsi untuk IPv4 dan IPv6, mendukung multicast IP, dan dapat memperlakukan DUT sebagai klien yang terisolasi. Klien yang terisolasi adalah konfigurasi saat DUT tidak memiliki visibilitas ke pesan siaran/multijaringan pada subnetwork tersebut. Hal ini terjadi dengan konfigurasi titik akses (AP) Wi-Fi atau dengan menjalankan DUT pada subnetwork yang terisolasi tanpa terhubung dengan perangkat lain.
Jika Anda tidak memiliki akses ke jaringan IPv6 native, jaringan operator IPv6, atau VPN untuk lulus beberapa pengujian, bergantung pada IPv6, Anda dapat menggunakan titik akses Wi-Fi dan tunnel IPv6.
Untuk meneruskan CTS, DUT memerlukan flag UP
, BROADCAST
, dan MULTICAST
yang ditetapkan 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 dengan STA/STA Wi-Fi, diperlukan beberapa jaringan Wi-Fi (setidaknya 2). Agar lulus CTS, jaringan Wi-Fi harus berjalan pada band 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 Wi-Fi round trip time (RTT). Hal ini memungkinkan perangkat mengukur jarak ke titik akses dengan akurasi 1 hingga 2 meter, yang akan meningkatkan akurasi lokasi dalam ruangan secara signifikan. Dua perangkat yang direkomendasikan dan 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 tidak harus berada di samping perangkat pengujian, tetapi sebaiknya berada dalam jarak 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 Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT2) versi terbaru, lalu menambahkan lokasi alat tersebut ke jalur sistem komputer Anda.
Untuk menginstal ADB dan AAPT2, download Android SDK Platform Tools dan Android SDK Build Tools terbaru dari SDK Manager Android Studio atau dari alat command line sdkmanager.
Pastikan adb
dan aapt2
ada di jalur sistem Anda. Perintah berikut menganggap Anda telah mendownload arsip paket ke sub-direktori bernama 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 Java Development Kit (JDK) versi yang tepat.
- 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 petunjuk Penginstalan.
Anda dapat memverifikasi bahwa penginstalan berhasil dengan memanggil virtualenv -h
.
File CTS
Download dan buka paket CTS dari Compatibility Test Suite Download yang cocok dengan versi Android perangkat Anda dan semua antarmuka biner aplikasi (ABI) yang didukung perangkat Anda.
Download dan buka file media CTS versi terbaru.
Download file CTS terkait Mainline (opsional)
Saat Anda menjalankan versi CTS untuk pertama kalinya, CTS akan secara dinamis mendownload beberapa file CTS terkait mainline, yang akan menambahkan setidaknya 10 menit waktu proses, bergantung pada kecepatan jaringan Anda.
Untuk menghindari waktu proses CTS tambahan ini, Anda dapat mendownload file CTS terkait Mainline sebelum menjalankan versi CTS, dengan mengikuti petunjuk berikut:
Dapatkan level API Android di perangkat dengan menjalankan:
adb shell getprop ro.build.version.sdk
Ikuti petunjuk dalam skrip
download_mcts.sh
untuk mendownload file Mainline CTS.Proses download akan memerlukan waktu minimal 10 menit, bergantung pada kecepatan jaringan Anda.
Deteksi perangkat
Ikuti langkah-langkah untuk menyiapkan sistem guna mendeteksi perangkat.
Batas memori
Anda mungkin ingin meningkatkan memori maksimum yang tersedia selama pengujian dalam skrip cts-tradefed. 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 build pengguna yang diketahui kompatibel (Android 4.0 atau yang lebih tinggi) dari Namakode, Tag, dan Nomor Build.
Properti build API level pertama
Persyaratan CTS tertentu bergantung pada build yang awalnya digunakan perangkat. Misalnya, perangkat yang awalnya dilengkapi dengan build sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan build lebih baru.
Agar informasi ini tersedia untuk CTS, produsen perangkat dapat
menentukan properti waktu build ro.product.first_api_level
. Nilai properti ini 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 produk yang sudah ada dalam grup perangkat
yang sama. Produsen perangkat dapat secara opsional menetapkan level API produk
yang ada ke ro.product.first_api_level
, sehingga persyaratan upgrade
diterapkan untuk CTS dan Treble/VTS.
Produsen perangkat dapat menentukan PRODUCT_SHIPPING_API_LEVEL
dalam
file device.mk
mereka untuk menetapkan properti ini, seperti 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 baru, tetapkan
properti ro.product.first_api_level
ke nilai yang 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) properti
ro.product.first_api_level
untuk build pertama produk. Untuk
semua build berikutnya, tetapkan ro.product.first_api_level
ke nilai level API
yang benar. Hal ini memungkinkan properti mengidentifikasi produk baru dengan benar dan
mempertahankan informasi tentang level API pertama produk. Jika tanda ini
tidak ditetapkan, Android akan 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. Guna menjalankan pengujian CTS untuk API pengelolaan
APEX (seperti mengupdate ke versi baru atau melaporkan APEX aktif), Anda harus
menginstal paket CtsShimApex
terlebih dahulu pada partisi /system
.
Pengujian validasi shim APEX memverifikasi penerapan CtsShimApex
.
persyaratan ro.apex.updatable
Jika properti
ro.apex.updatable
ditetapkan ketrue
,CtsShimApex
diperlukan untuk semua perangkat yang mendukung pengelolaan paket APEX.Jika properti
ro.apex.updatable
tidak ada atau tidak ditetapkan,CtsShimApex
tidak perlu diprainstal di perangkat.
Pengujian validasi shim APEX memverifikasi penerapan CtsShimApex
.
Prainstal dan pramuat CtsShim
Mulai Android 11, CtsShimApex
berisi dua
aplikasi bawaan (yang dibangun dari
sumber build),
yang tidak berisi kode apa pun kecuali untuk manifes. CTS menggunakan aplikasi ini untuk
menguji hak istimewa dan izin.
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 lama, kedua aplikasi bawaan tersebut harus
diinstal sebelumnya dalam 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
masing-masing.
Tabel berikut mencantumkan pra-penginstalan dan pramuat yang tersedia untuk setiap 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-x86-CtsShim.apk |
Android 13 | android13-arm-release | android13-x86-release | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Android 12 | android12-arm-release | android12-x86-release | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | android11-arm-release | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | android10-release | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O, dan O-MR1 | T/A | T/A | arm-CtsShim.apk | x86-CtsShim.apk |
Agar lulus pengujian, pramuat aplikasi ke dalam direktori yang sesuai di image 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 API. Kasus pengujian ini memerlukan penginstalan satu kali applet contoh ke dalam Elemen Pengaman tersemat (eSE) DUT atau ke kartu SIM yang digunakan oleh DUT. Applet contoh eSE dan applet contoh SIM dapat ditemukan di AOSP.
Lihat CTS Test untuk Elemen Aman guna mengetahui informasi lebih mendetail tentang kasus pengujian Open Mobile API dan kasus uji Kontrol Akses.
Persyaratan penyimpanan
Uji daya tahan media CTS mengharuskan klip video berada di penyimpanan eksternal
(/sdcard
). Sebagian besar klip berasal dari
Big Buck Bunny, yang dilindungi hak cipta
oleh Blender Foundation berdasarkan
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 mengetahui 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
- Perangkat apa pun yang tidak memiliki layar tersemat harus terhubung ke layar.
Jika perangkat memiliki slot kartu memori, colokkan kartu SD yang kosong. Gunakan kartu SD yang mendukung bus kecepatan ultra tinggi (UHS) dengan kapasitas SDHC atau SDXC atau kartu SD setidaknya dengan kecepatan class 10 atau lebih tinggi untuk memastikan dapat melewati CTS.
Jika perangkat memiliki slot kartu SIM, colokkan kartu SIM yang telah diaktifkan ke setiap slot. Jika perangkat mendukung SMS, setiap kartu SIM harus mengisi kolom angkanya sendiri. Untuk perangkat yang menjalankan Android 12 atau yang lebih baru, semua kartu SIM harus memiliki dukungan untuk menyimpan nomor panggilan singkat (ADN). Kartu GSM dan USIM dengan file khusus telekomunikasi (DFTelecom) memenuhi persyaratan ini.
UICC Developer
Untuk menjalankan pengujian API operator CTS, perangkat harus menggunakan SIM dengan hak istimewa operator CTS yang memenuhi persyaratan yang ditentukan dalam Menyiapkan UICC.
Konfigurasi perangkat Android
Reset perangkat ke setelan pabrik: Setelan > Cadangkan & reset > Reset ke setelan pabrik.
Menyetel bahasa perangkat Anda ke bahasa Inggris (Amerika Serikat): Setelan > Bahasa & input > Bahasa.
Jika perangkat mendukung penyesuaian font default, tetapkan jenis font
sans-serif
default keRoboto
(jenis fontsans-serif
default yang digunakan dalam build AOSP).Aktifkan setelan lokasi jika ada fitur GPS atau Wi-Fi/jaringan seluler di perangkat: Setelan > Lokasi > Aktif.
Menghubungkan ke jaringan Wi-Fi yang mendukung IPv6, dapat memperlakukan DUT sebagai klien terisolasi (lihat Lingkungan fisik di atas), dan memiliki koneksi internet: Setelan > Wi-Fi.
Pastikan tidak ada pola kunci atau sandi yang disetel di perangkat: Setelan > Keamanan > Kunci layar > Tidak ada.
Aktifkan Proses debug USB di perangkat: Setelan > Opsi developer > Proses debug USB.
Setel waktu ke format 12 jam: Setelan > Tanggal & waktu > Gunakan format 24 jam > Nonaktif.
Menyetel perangkat agar tetap aktif: Setelan > Opsi developer > Tetap Aktif > Aktif.
Di Khusus Android 5.x dan 4.4.x, setel perangkat untuk mengizinkan lokasi palsu: Setelan > Opsi developer > Izinkan lokasi tiruan > Aktif.
Di Android 4.2 atau yang lebih tinggi, nonaktifkan verifikasi aplikasi USB: Setelan > Opsi developer > Verifikasi aplikasi melalui USB > Nonaktif.
Di Android 13 atau yang lebih tinggi, setel perangkat untuk mengizinkan modem tiruan: Settings > Developer options > Allow Mock Modem > On.
Luncurkan browser dan tutup semua layar startup/penyiapan.
Hubungkan komputer desktop yang akan digunakan untuk menguji perangkat dengan kabel USB.
Sebelum menjalankan CTS, tetapkan Roboto2 sebagai font sans-serif menggunakan setelan kemampuan yang dapat diakses pengguna (tidak tersembunyi).
Penginstalan file
Menginstal dan mengonfigurasi aplikasi bantuan di perangkat.
Siapkan perangkat sesuai dengan versi CTS Anda:
CTS versi 2.1 R2 hingga 4.2 R4: Siapkan perangkat (atau emulator) untuk menjalankan pengujian aksesibilitas dengan:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
Di perangkat, aktifkan delegasi: Setelan > Aksesibilitas > Aksesibilitas > Mendelegasikan Layanan Aksesibilitas.
CTS versi 6.x atau yang lebih lama: Di perangkat yang mendeklarasikan
android.software.device_admin
, siapkan perangkat untuk menjalankan uji administrasi perangkat menggunakan:adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`
Di Setelan > Keamanan > Pilih administrator perangkat, aktifkan dua administrator perangkat
android.deviceadmin.cts.CtsDeviceAdminReceiver*
. Pastikanandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
dan administrator perangkat lainnya yang dipramuat tetap dinonaktifkan.
Salin file media CTS ke perangkat sebagai berikut:
- Buka (
cd
) ke jalur tempat file media didownload dan diekstrak. Ubah izin file:
chmod u+x copy_media.sh
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 ke bagian akhir. Misalnya, untuk menyalin hingga 720x480 ke perangkat dengan serial 1234567, jalankan:./copy_media.sh 720x480 -s 1234567
- Buka (