Untuk menjalankan CTS, pertama-tama persiapkan lingkungan fisik Anda, mesin desktop Anda, dan perangkat Android yang Anda gunakan untuk pengujian.
Lingkungan fisik
Suar Bluetooth LE
Jika perangkat yang diuji (DUT) mendukung Bluetooth LE, tempatkan setidaknya tiga suar Bluetooth LE dalam jarak 5 meter dari DUT untuk pengujian pemindaian Bluetooth LE. Suar tersebut tidak perlu dikonfigurasi atau memancarkan sesuatu yang spesifik, dan dapat berupa apa saja, termasuk iBeacon, Eddystone, atau bahkan perangkat yang mensimulasikan suar BLE.
Kamera
Saat menjalankan CTS kamera, gunakan kondisi pencahayaan normal dengan bagan pola pengujian (seperti pola kotak-kotak). Tempatkan bagan pola pengujian sesuai dengan jarak fokus minimum DUT untuk memastikannya tidak terlalu dekat dengan lensa.
Arahkan sensor kamera ke pemandangan dengan pencahayaan yang cukup agar sensor yang diuji dapat mencapai dan tetap pada bingkai 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
saat pengujian diulang pada perangkat yang terdaftar dan mengukur kinerja satu per satu.
Jika DUT mendukung kamera eksternal, seperti webcam USB, pasang kamera eksternal saat menjalankan CTS. Jika tidak, tes CTS gagal.
GPS/GNSS
Jika DUT mendukung fitur global positioning system/global navigation satellite system (GPS/GNSS), berikan sinyal GPS/GNSS ke DUT pada tingkat sinyal yang sesuai untuk penerimaan dan perhitungan lokasi GPS. Porsi GPS harus sesuai dengan ICD-GPS-200C. Jika tidak, sinyal GPS/GNSS dapat dalam bentuk apa pun, termasuk simulator satelit atau pengulang GPS/GNSS dari sinyal luar ruangan, atau Anda dapat menempatkan DUT cukup dekat ke jendela sehingga dapat langsung menerima sinyal GPS/GNSS yang cukup.
Wi-Fi dan IPv6
Tes 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 terisolasi adalah konfigurasi di mana DUT tidak memiliki visibilitas ke pesan broadcast/multinetwork di subnetwork tersebut. Hal ini terjadi dengan konfigurasi titik akses (AP) Wi-Fi atau dengan menjalankan DUT pada subnetwork yang terisolasi tanpa perangkat lain yang terhubung.
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 melewati CTS, DUT memerlukan flag UP
, BROADCAST
, dan MULTICAST
yang disetel pada antarmuka Wi-Fi. Antarmuka Wi-Fi membutuhkan alamat IPv4 dan IPv6 yang ditetapkan. Periksa properti antarmuka Wi-Fi dengan adb shell ifconfig
.
RTT Wi-Fi
Android menyertakan Wi-Fi RTT API untuk kemampuan Wi-Fi round trip time (RTT) . Hal ini memungkinkan perangkat mengukur jarak mereka ke titik akses dengan akurasi 1 hingga 2 meter, yang secara signifikan meningkatkan akurasi lokasi dalam ruangan. Dua perangkat yang direkomendasikan yang mendukung Wi-Fi RTT adalah titik akses fitlet2 Google Wifi dan Compulab (diatur ke bandwidth 40 MHz pada 5 GHz).
Titik akses harus dinyalakan, tetapi tidak memerlukan koneksi jaringan. Titik akses tidak perlu berada di sebelah perangkat pengujian tetapi disarankan berada dalam jarak 40 kaki dari DUT. Satu titik akses biasanya cukup.
Pengaturan 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 lebih baru) di mesin host.
Peningkatan mesin tuan rumah
Sangat disarankan untuk memutakhirkan RAM mesin host CTS ke 128GB dan HDD ke 256GB. Hal ini diperlukan untuk mengakomodasi peningkatan jumlah kasus uji CTS dan peningkatan reservasi ruang heap Java di tradefed.
ADB dan AAPT
Sebelum menjalankan CTS, pastikan Anda telah menginstal versi terbaru Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT) dan menambahkan lokasi alat tersebut ke jalur sistem mesin Anda.
Untuk menginstal ADB dan AAPT, 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 aapt
ada di jalur sistem Anda. Perintah berikut mengasumsikan bahwa Anda telah mengunduh arsip paket ke subdirektori bernama android-sdk
di direktori home Anda:
export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>
Kit Pengembangan Java untuk Ubuntu
Instal versi Java Development Kit (JDK) 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 detailnya, lihat persyaratan JDK .
Setup untuk dukungan Python
Instal virtualenv
untuk platform Anda dengan mengikuti petunjuk Instalasi .
Anda dapat memverifikasi bahwa penginstalan berhasil dengan menjalankan virtualenv -h
.
file CTS
Unduh dan buka paket CTS dari Compatibility Test Suite Downloads yang cocok dengan versi Android perangkat Anda dan semua antarmuka biner aplikasi (ABI) yang didukung perangkat Anda.
Unduh dan buka file media CTS versi terbaru .
Deteksi perangkat
Ikuti langkah untuk mengatur sistem Anda untuk mendeteksi perangkat Anda .
Batas memori
Anda mungkin ingin menambah memori maksimum yang tersedia selama uji coba dalam skrip cts-tradefed . Lihat contoh CL untuk informasi lebih lanjut.
Penyiapan perangkat Android
Build pengguna
Perangkat yang kompatibel didefinisikan sebagai perangkat dengan build bertanda tangan pengguna/kunci rilis. Perangkat Anda harus menjalankan image sistem berdasarkan build pengguna yang diketahui kompatibel (Android 4.0 atau lebih tinggi) dari Codenames, Tags, dan Build Numbers .
Properti build tingkat API pertama
Persyaratan CTS tertentu bergantung pada build yang awalnya dikirimkan bersama perangkat. Misalnya, perangkat yang awalnya dikirimkan dengan build sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan build selanjutnya.
Agar informasi ini tersedia untuk CTS, produsen perangkat dapat menentukan properti build-time ro.product.first_api_level
. Nilai properti ini adalah level API pertama yang digunakan perangkat untuk diluncurkan secara komersial.
Pabrikan perangkat dapat menggunakan kembali penerapan umum yang mendasari untuk meluncurkan produk baru sebagai pemutakhiran produk yang sudah ada di grup perangkat yang sama. Produsen perangkat dapat secara opsional menyetel API level dari produk yang ada ke ro.product.first_api_level
, sehingga persyaratan pemutakhiran diterapkan untuk CTS dan Treble/VTS.
Produsen perangkat dapat menetapkan PRODUCT_SHIPPING_API_LEVEL
dalam file device.mk
mereka untuk menyetel properti ini, seperti yang ditampilkan 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 lebih tinggi
Untuk perangkat yang diluncurkan dengan Android 9 atau lebih tinggi, setel properti ro.product.first_api_level
ke nilai yang valid dari Codenames, Tag, dan Build Numbers .
Level API pertama untuk Android 8.x atau lebih rendah
Untuk perangkat yang diluncurkan pada Android 8.x atau lebih rendah, hapus (hapus) properti ro.product.first_api_level
untuk build pertama produk. Untuk semua build berikutnya, setel ro.product.first_api_level
ke nilai API level yang benar. Hal ini memungkinkan properti untuk mengidentifikasi produk baru dengan benar dan menyimpan informasi tentang level API pertama dari produk tersebut. Jika flag tidak disetel, Android menetapkan Build.VERSION.SDK_INT
ke ro.product.first_api_level
.
paket shim CTS
Android 10 atau lebih tinggi menyertakan format paket yang disebut APEX . Untuk menjalankan pengujian CTS untuk API manajemen APEX (seperti memperbarui ke versi baru atau melaporkan APEX aktif), Anda harus melakukan prainstal paket CtsShimApex
pada partisi /system
.
Tes validasi shim APEX memverifikasi penerapan CtsShimApex
.
ro.apex.persyaratan yang dapat diperbarui
Jika properti
ro.apex.updatable
disetel ketrue
,CtsShimApex
diperlukan untuk semua perangkat yang mendukung manajemen paket APEX.Jika properti
ro.apex.updatable
tidak ada atau tidak disetel,CtsShimApex
tidak perlu diinstal sebelumnya di perangkat.
Tes validasi shim APEX memverifikasi penerapan CtsShimApex
.
Prainstal dan pramuat CtsShim
Dimulai dengan Android 11, CtsShimApex
berisi dua aplikasi prebuilt (dibangun dari build source ), yang tidak berisi kode apa pun kecuali 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 disetel), atau jika perangkat menjalankan versi 10 atau lebih rendah, kedua aplikasi bawaan harus diinstal sebelumnya di sistem secara terpisah.
Jika APEX didukung, prainstal untuk rilis yang sesuai harus ditempatkan sebagai /system/apex/com.android.apex.cts.shim.apex
.
Jika aplikasi prebuilt reguler digunakan, CtsShim
dan CtsShimPriv
untuk rilis yang sesuai harus ditempatkan masing-masing sebagai /system/app/CtsShimPrebuilt.apk
dan /system/priv-app/CtsShimPrivPrebuilt.apk
.
Tabel berikut mencantumkan prainstal dan pramuat yang tersedia untuk setiap versi dan arsitektur perangkat.
Versi Perangkat | Prainstal (jika didukung APEX) | Pramuat | ||
---|---|---|---|---|
LENGAN | x86 | LENGAN | x86 | |
Android 13 | android13-arm-release | android13-x86-rilis | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Android 12 | android12-arm-release | android12-x86-rilis | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | rilis android11-lengan | android11-x86-rilis | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | android10-rilis | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O, dan O-MR1 | T/A | T/A | arm-CtsShim.apk | x86-CtsShim.apk |
Untuk lulus tes, muat aplikasi terlebih dahulu ke direktori yang sesuai pada gambar sistem tanpa menandatangani ulang aplikasi.
Applet sampel
Android 9 memperkenalkan Open Mobile API. Untuk perangkat yang melaporkan lebih dari satu elemen aman, CTS menambahkan kasus uji untuk memvalidasi perilaku Open Mobile API. Kasus uji ini memerlukan pemasangan applet sampel satu kali ke dalam Elemen Aman tertanam (eSE) dari DUT atau ke dalam kartu SIM yang digunakan oleh DUT. Applet sampel eSE dan applet sampel SIM dapat ditemukan di AOSP.
Lihat Uji CTS untuk Elemen Aman untuk informasi lebih detail tentang kasus uji Open Mobile API dan kasus uji Kontrol Akses.
Persyaratan penyimpanan
Tes stres media CTS mengharuskan klip video berada di penyimpanan eksternal ( /sdcard
). Sebagian besar klip berasal dari Big Buck Bunny , yang dilindungi hak ciptanya oleh Blender Foundation di bawah lisensi Creative Commons Attribution 3.0 .
Ruang yang diperlukan tergantung 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
- Perangkat apa pun yang tidak memiliki layar tersemat harus terhubung ke layar.
Jika perangkat memiliki slot kartu memori, pasang kartu SD yang kosong. Gunakan kartu SD yang mendukung bus kecepatan ultra tinggi (UHS) dengan kapasitas SDHC atau SDXC atau kartu dengan setidaknya kecepatan kelas 10 atau lebih tinggi untuk memastikannya dapat lulus CTS.
Jika perangkat memiliki slot kartu SIM, pasang kartu SIM yang telah diaktifkan ke setiap slot. Jika perangkat mendukung SMS, setiap kartu SIM harus diisi kolom nomornya sendiri. Untuk perangkat yang menjalankan Android 12 atau lebih tinggi, semua kartu SIM harus memiliki dukungan untuk menyimpan nomor panggilan singkat (ADN). Kartu GSM dan USIM dengan telecom dedicated file (DF Telecom ) memenuhi persyaratan ini.
UICC pengembang
Untuk menjalankan pengujian API operator CTS, perangkat perlu menggunakan SIM dengan hak istimewa operator CTS yang memenuhi persyaratan yang ditentukan dalam Menyiapkan UICC .
Konfigurasi perangkat Android
Reset data pabrik perangkat: Pengaturan > Cadangkan & setel ulang > Reset data pabrik .
Setel bahasa perangkat Anda ke Inggris ( Amerika Serikat ): Pengaturan > Bahasa & masukan > Bahasa .
Jika perangkat mendukung penyesuaian font default, atur keluarga font
sans-serif
default keRoboto
(keluarga fontsans-serif
default yang digunakan dalam build AOSP).Aktifkan setelan lokasi jika ada fitur jaringan GPS atau Wi-Fi/seluler di perangkat: Setelan > Lokasi > Aktif .
Sambungkan ke jaringan Wi-Fi yang mendukung IPv6, dapat memperlakukan DUT sebagai klien yang terisolasi (lihat Lingkungan fisik di atas), dan memiliki koneksi internet: Pengaturan > Wi-Fi .
Pastikan tidak ada pola kunci atau kata sandi yang diatur pada perangkat: Pengaturan > Keamanan > Kunci layar > Tidak ada .
Aktifkan USB debugging di perangkat Anda: Pengaturan > Opsi pengembang > USB debugging .
Atur waktu ke format 12 jam: Pengaturan > Tanggal & waktu > Gunakan format 24 jam > Mati .
Atur perangkat agar tetap terjaga: Pengaturan > Opsi pengembang > Tetap Bangun > Aktif .
Hanya di Android 5.x dan 4.4.x , setel perangkat untuk mengizinkan lokasi tiruan: Setelan > Opsi pengembang > Izinkan lokasi tiruan > Aktif .
Di Android 4.2 atau lebih tinggi , matikan verifikasi aplikasi USB: Setelan > Opsi pengembang > Verifikasi aplikasi melalui USB > Nonaktif .
Di Android 13 atau lebih tinggi , setel perangkat untuk mengizinkan modem tiruan: Settings > Developer options > Allow Mock Modem > On .
Luncurkan browser dan abaikan layar pengaktifan/penyiapan apa pun.
Hubungkan mesin desktop yang akan digunakan untuk menguji perangkat dengan kabel USB.
Sebelum menjalankan CTS, atur Roboto2 sebagai font sans-serif menggunakan pengaturan kemampuan yang dapat diakses pengguna (bukan tersembunyi).
Instalasi file
Instal dan konfigurasikan aplikasi pembantu di perangkat.
Siapkan perangkat Anda sesuai dengan versi CTS Anda:
CTS versi 2.1 R2 hingga 4.2 R4: Siapkan perangkat Anda (atau emulator) untuk menjalankan tes aksesibilitas dengan:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
Di perangkat, aktifkan delegasi: Setelan > Aksesibilitas > Aksesibilitas > Delegasi Layanan Aksesibilitas .
CTS versi 6.x atau lebih rendah: Pada perangkat yang mendeklarasikan
android.software.device_admin
, siapkan perangkat Anda untuk menjalankan pengujian administrasi perangkat menggunakan:adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`
Di Pengaturan > Keamanan > Pilih administrator perangkat , aktifkan dua administrator perangkat
android.deviceadmin.cts.CtsDeviceAdminReceiver*
. Pastikan bahwaandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
dan semua administrator perangkat bawaan lainnya tetap dinonaktifkan.
Salin file media CTS ke perangkat sebagai berikut:
- Arahkan (
cd
) ke jalur tempat file media diunduh dan dibuka ritsletingnya. 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 maksimum, salin semua file:
./copy_media.sh all
Jika ada beberapa perangkat di bawah adb, tambahkan opsi serial (
-s
) dari perangkat tertentu sampai akhir. Misalnya, untuk menyalin hingga 720x480 ke perangkat dengan serial 1234567, jalankan:./copy_media.sh 720x480 -s 1234567
- Arahkan (