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, letakkan setidaknya tiga suar 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 mensimulasikan beacon BLE.
Kamera
Saat menjalankan CTS kamera, gunakan kondisi pencahayaan normal dengan bagan pola uji (seperti pola papan catur). 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 memadai untuk memungkinkan sensor yang diuji mencapai dan tetap pada frame target per detik (FPS) terkonfigurasi maksimum seperti yang ditentukan dalam CONTROL_AE_TARGET_FPS_RANGE
. Ini berlaku untuk semua sensor kamera yang dilaporkan oleh getCameraIdList
saat pengujian berulang pada perangkat yang terdaftar dan mengukur kinerja satu per satu.
Jika DUT mendukung kamera eksternal, seperti webcam USB, colokkan kamera eksternal saat menjalankan CTS. Jika tidak, tes CTS akan gagal.
GPS / GNSS
Jika DUT mendukung fitur sistem penentuan posisi global / sistem satelit navigasi global (GPS / GNSS), berikan sinyal GPS / GNSS ke DUT pada tingkat sinyal yang sesuai untuk penerimaan dan kalkulasi 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 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 IPv6, memiliki koneksi internet, dan dapat memperlakukan DUT sebagai klien yang terisolasi. Klien terisolasi mengacu pada konfigurasi di mana DUT tidak memiliki visibilitas ke pesan siaran / multinetwork pada subjaringan tersebut. Ini terjadi dengan konfigurasi Wi-Fi AP atau dengan menjalankan DUT pada subnetwork terisolasi tanpa menghubungkan perangkat lain.
Jika Anda tidak memiliki akses ke jaringan IPv6 asli, jaringan operator IPv6, atau VPN untuk lulus beberapa tes bergantung pada IPv6, Anda dapat menggunakan titik akses Wi-Fi dan terowongan IPv6. Lihat daftar broker terowongan IPv6 di Wikipedia.
RTT Wi-Fi
Android menyertakan Wi-Fi RTT API untuk kapabilitas Wi-Fi round trip time (RTT) . Ini memungkinkan perangkat mengukur jaraknya ke titik akses dengan akurasi 1 hingga 2 meter, yang secara signifikan meningkatkan akurasi lokasi dalam ruangan.
Lihat Wi-Fi RTT (IEEE 802.11mc) dan lokasi Wi-Fi: berkisar dengan RTT untuk daftar perangkat yang disarankan yang mendukung Wi-Fi RTT.
Titik akses harus diberi daya, tetapi tidak memerlukan koneksi jaringan. Titik akses tidak perlu berada di sebelah perangkat pengujian tetapi disarankan berada dalam jarak 40 kaki dari DUT. Satu jalur akses biasanya cukup.
Pengaturan mesin desktop
ADB dan AAPT
Sebelum menjalankan CTS, pastikan Anda telah menginstal Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT) versi terbaru, serta menambahkan lokasi fitur tersebut ke jalur sistem komputer Anda.
Untuk menginstal ADB, unduh paket Alat SDK Android untuk sistem operasi Anda, buka, dan ikuti petunjuk di file README yang disertakan. Untuk informasi pemecahan masalah, lihat Menginstal Alat SDK yang Berdiri Sendiri .
Pastikan adb
dan aapt
berada di jalur sistem Anda. Perintah berikut mengasumsikan bahwa Anda telah membuka arsip paket di direktori beranda Anda:
export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version
Java Development Kit 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 .
File CTS
Unduh dan buka paket CTS dari Unduhan Rangkaian Uji Kompatibilitas 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 meningkatkan memori maksimum yang tersedia selama uji coba di skrip cts-tradfed . Lihat contoh CL untuk informasi lebih lanjut.
Penyiapan perangkat Android
Bangun 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 level API pertama
Persyaratan CTS tertentu bergantung pada build yang digunakan untuk mengirim perangkat. Misalnya, perangkat yang awalnya dikirimkan dengan build sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan build yang lebih baru.
Agar informasi ini tersedia untuk CTS, produsen perangkat dapat menetapkan properti waktu-build ro.product.first_api_level
. Nilai properti ini adalah API level pertama yang meluncurkan perangkat secara komersial.
Produsen perangkat dapat menggunakan kembali implementasi dasar yang umum untuk meluncurkan produk baru sebagai upgrade dari produk yang sudah ada di grup perangkat yang sama. Produsen perangkat secara opsional dapat menyetel level API produk yang ada ke ro.product.first_api_level
, sehingga persyaratan peningkatan diterapkan untuk CTS dan Treble / VTS.
Produsen perangkat dapat menambahkan PRODUCT_PROPERTY_OVERRIDES
ke file device.mk
mereka untuk menyetel properti ini, seperti yang ditunjukkan pada contoh berikut:
#ro.product.first_api_level indicates the first api level that the device has been commercially launched on. PRODUCT_PROPERTY_OVERRIDES +=\ ro.product.first_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 Nama Kode, Tag, dan Nomor ro.product.first_api_level
.
Level API pertama untuk Android 8.x atau lebih rendah
Untuk perangkat yang diluncurkan pada Android 8.x atau lebih rendah, ro.product.first_api_level
(hapus) properti ro.product.first_api_level
untuk build pertama produk. Untuk semua build berikutnya, setel ro.product.first_api_level
ke nilai level API yang benar. Hal ini memungkinkan properti untuk mengidentifikasi produk baru dengan benar dan menyimpan informasi tentang API level pertama produk. 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 tes CTS untuk API manajemen APEX (seperti memperbarui ke versi baru atau melaporkan APEX aktif), Anda harus melakukan prainstal paket CtsShimApex
di partisi /system
.
Uji validasi shim APEX memverifikasi implementasi CtsShimApex
.
persyaratan ro.apex.updatable
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.
CtsShim melakukan pra-instal dan preload
Dimulai dengan Android 11, CtsShimApex
berisi dua aplikasi CtsShimApex
(dibangun dari sumber build ), yang tidak berisi kode apa pun kecuali manifes. CTS menggunakan aplikasi ini untuk menguji hak istimewa dan izin.
Jika perangkat tidak mendukung manajemen paket APEX (yaitu, properti ro.apex.updatable
tidak ada atau tidak disetel), atau jika perangkat menjalankan versi 10 atau lebih rendah, dua aplikasi prebuilt harus diinstal sebelumnya di sistem secara terpisah.
Versi Perangkat | Pra-instal (jika didukung APEX) | Pramuat | ||
---|---|---|---|---|
LENGAN | x86 | LENGAN | x86 | |
Android 11 | android11-arm-release di bawah /system/apex/com.android.apex.cts.shim.apex | android11-x86-release di bawah /system/apex/com.android.apex.cts.shim.apex | android11-arm-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk android11-arm-CtsShimPriv.apk | android11-x86-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk android11-x86-CtsShimPriv.apk |
Android 10 | android10-release di bawah /system/apex/com.android.apex.cts.shim.apex | android10-arm-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk android10-arm-CtsShimPriv.apk | android10-x86-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk android10-x86-CtsShimPriv.apk | |
Android 9, O, dan O-MR1 | T / A | T / A | arm-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk arm-CtsShimPriv.apk | x86-CtsShim.apk di bawah /system/app/CtsShimPrebuilt.apk x86-CtsShimPriv.apk |
Untuk lulus pengujian, pramuat aplikasi ke dalam direktori yang sesuai pada image sistem tanpa menandatangani ulang aplikasi.
Contoh Applet
Android 9 memperkenalkan Open Mobile API. Untuk perangkat yang melaporkan lebih dari satu elemen aman, CTS menambahkan kasus pengujian untuk memvalidasi perilaku Open Mobile API. Kasus uji ini memerlukan instalasi satu kali dari applet sampel 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 tekanan media CTS memerlukan klip video di penyimpanan eksternal ( /sdcard
). Sebagian besar klip berasal dari Big Buck Bunny , yang memiliki hak cipta 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).
Perhatikan bahwa kemampuan pemutaran video DUT diperiksa melalui android.media.CamcorderProfile
API untuk versi Android sebelumnya dan android.media.MediaCodecInfo.CodecCapabilities
API dari Android 5.0.
Berikut adalah persyaratan penyimpanan dengan 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 disambungkan ke layar.
- Jika perangkat memiliki slot kartu memori, colokkan kartu SD kosong. Gunakan kartu SD yang mendukung bus kecepatan ultra tinggi (UHS) dengan kapasitas SDHC atau SDXC atau kartu dengan setidaknya kelas kecepatan 10 atau lebih tinggi untuk memastikan bahwa ia dapat lulus CTS.
- Jika perangkat memiliki slot kartu SIM, colokkan kartu SIM yang sudah diaktifkan ke setiap slot. Jika perangkat mendukung SMS, setiap kartu SIM harus memiliki kolom nomornya sendiri yang terisi.
Pengembang UICC
Untuk menjalankan tes API operator CTS, perangkat harus memiliki kartu SIM dengan aturan hak istimewa operator di atasnya. Lihat Mempersiapkan UICC .
Konfigurasi perangkat Android
- Reset data pabrik perangkat: Pengaturan> Cadangkan & reset> Reset data pabrik .
- Setel bahasa perangkat Anda ke Inggris ( Amerika Serikat ): Pengaturan> Bahasa & masukan> Bahasa .
- Nyalakan pengaturan lokasi jika ada fitur GPS atau Wi-Fi / jaringan seluler di perangkat: Pengaturan> 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 disetel pada perangkat: Pengaturan> Keamanan> Kunci layar> Tidak Ada .
- Aktifkan USB debugging pada perangkat Anda: Pengaturan> Opsi pengembang> USB debugging .
- Mengatur waktu ke format 12 jam: Pengaturan> Tanggal & waktu> Gunakan format 24 jam> Nonaktif .
- Mengatur perangkat agar tetap terjaga: Pengaturan> Opsi pengembang> Tetap Terjaga> Aktif .
- Hanya di Android 5.x dan 4.4.x , setel perangkat untuk mengizinkan lokasi palsu : Pengaturan> Opsi pengembang> Izinkan lokasi palsu > Aktif .
- Di Android 4.2 atau lebih tinggi , matikan verifikasi aplikasi USB: Pengaturan> Opsi pengembang> Verifikasi aplikasi melalui USB> Mati .
- Luncurkan browser dan tutup semua layar startup / pengaturan.
- Hubungkan mesin desktop yang akan digunakan untuk menguji perangkat dengan kabel USB.
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 pengujian aksesibilitas dengan:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
Di perangkat, aktifkan delegasi: Settings> Accessibility> Accessibility> Delegating Accessibility Service . - CTS versi 6.x atau lebih rendah: Pada perangkat yang mendeklarasikan
android.software.device_admin
, atur perangkat Anda untuk menjalankan uji administrasi perangkat menggunakan:adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
Di Pengaturan> Keamanan> Pilih administrator perangkat , aktifkan dua administrator perangkatandroid.deviceadmin.cts.CtsDeviceAdminReceiver*
. Pastikanandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
dan administrator perangkat pramuat lainnya tetap dinonaktifkan.
- CTS versi 2.1 R2 hingga 4.2 R4: Siapkan perangkat Anda (atau emulator) untuk menjalankan pengujian aksesibilitas dengan:
- 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 maksimumnya, salin semua file:
./copy_media.sh all
- Jika ada beberapa perangkat di bawah adb, tambahkan opsi serial (
-s
) dari perangkat tertentu ke bagian akhir. Misalnya, untuk menyalin hingga 720x480 ke perangkat dengan serial 1234567, jalankan:./copy_media.sh 720x480 -s 1234567
- Untuk menyalin klip hingga resolusi 720x480, jalankan:
- Arahkan (