Menyiapkan CTS

Untuk menjalankan CTS, pertama-tama siapkan lingkungan fisik, mesin desktop, dan perangkat Android yang Anda gunakan untuk pengujian.

Lingkungan fisik

Beacon Bluetooth LE

Jika perangkat yang diuji (DUT) mendukung Bluetooth LE, tempatkan setidaknya 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 saja, 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 kotak-kotak). Tempatkan bagan pola uji sesuai dengan jarak fokus minimum DUT untuk memastikan bahwa itu tidak terlalu dekat dengan lensa.

Arahkan sensor kamera ke pemandangan dengan pencahayaan yang cukup untuk memungkinkan sensor yang diuji mencapai dan tetap pada target frame 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 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 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 penghitungan lokasi GPS. Bagian GPS harus sesuai dengan ICD-GPS-200C. Jika tidak, sinyal GPS/GNSS dapat berupa apa saja, termasuk simulator satelit atau repeater 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 IPv6, memiliki koneksi internet, dan dapat memperlakukan DUT sebagai klien yang terisolasi. Klien yang terisolasi mengacu pada konfigurasi di mana DUT tidak memiliki visibilitas ke pesan broadcast/multinetwork pada subnetwork tersebut. Ini terjadi dengan konfigurasi Wi-Fi AP atau dengan menjalankan DUT pada subjaringan yang terisolasi tanpa perangkat lain yang terhubung.

Jika Anda tidak memiliki akses ke jaringan IPv6 asli, jaringan operator IPv6, atau VPN untuk lulus beberapa pengujian bergantung pada IPv6, Anda dapat menggunakan titik akses Wi-Fi dan terowongan IPv6. Lihat daftar broker terowongan IPv6 Wikipedia.

Wi-Fi RTT

Android menyertakan Wi-Fi RTT API untuk kemampuan Wi-Fi round trip time (RTT) . Hal ini memungkinkan perangkat untuk mengukur jaraknya 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 Google Wifi dan titik akses fitlet2 Compulab (diatur ke bandwidth 40 MHz pada 5 GHz).

Jalur akses harus dihidupkan, 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 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, unduh paket Android SDK Tools untuk sistem operasi Anda, buka, dan ikuti instruksi dalam file README yang disertakan. Untuk informasi pemecahan masalah, lihat Memasang 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 home Anda:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

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 .

Pengaturan untuk dukungan Python

Instal virtualenv untuk platform Anda dengan mengikuti petunjuk Instalasi .

Anda dapat memverifikasi bahwa instalasi 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 di skrip cts-tradfed . Lihat contoh CL untuk informasi lebih lanjut.

Pengaturan perangkat Android

Buatan pengguna

Perangkat yang kompatibel didefinisikan sebagai perangkat dengan build yang ditandatangani pengguna/kunci rilis. Perangkat Anda harus menjalankan citra 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 awalnya disertakan dengan perangkat. Misalnya, perangkat yang awalnya dikirimkan dengan versi sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan versi yang lebih baru.

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

Produsen perangkat dapat menggunakan kembali implementasi dasar umum untuk meluncurkan produk baru sebagai peningkatan dari produk yang sudah ada dalam 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 Codenames, Tags, dan Build Numbers .

Level API pertama untuk Android 8.x atau lebih rendah

Untuk perangkat yang diluncurkan pada Android 8.x atau lebih rendah, batalkan (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 produk tersebut. Jika tanda tidak disetel, Android menetapkan Build.VERSION.SDK_INT ke ro.product.first_api_level .

Paket CTS Shim

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 menginstal paket CtsShimApex di partisi /system .

Tes validasi shim APEX memverifikasi implementasi CtsShimApex .

ro.apex.updatable yang dapat diperbarui

  • Jika properti ro.apex.updatable disetel ke true , 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 pada perangkat.

Tes validasi shim APEX memverifikasi implementasi CtsShimApex .

Pra-instal dan pramuat CtsShim

Dimulai dengan Android 11, CtsShimApex berisi dua aplikasi bawaan (dibuat 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, kedua aplikasi bawaan harus diinstal sebelumnya di sistem secara terpisah.

Versi Perangkat Pra-instal
(jika APEX didukung)
Pramuat
LENGAN x86 LENGAN x86
Android 12 android12-lengan-release
di bawah /system/apex/com.android.apex.cts.shim.apex
android12-x86-rilis
di bawah /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 11 android11-lengan-release
di bawah /system/apex/com.android.apex.cts.shim.apex
rilis android11-x86
di bawah /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 10 rilis android10
di bawah /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9, O, dan O-MR1 T/A T/A arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Untuk lulus pengujian, pramuat aplikasi ke direktori yang sesuai pada citra 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 uji untuk memvalidasi perilaku Open Mobile API. Kasus uji ini memerlukan instalasi satu kali dari applet sampel ke dalam Elemen Aman (eSE) yang disematkan pada 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 rinci tentang kasus uji Open Mobile API dan uji kasus 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 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.

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 disambungkan ke layar.
  • Jika perangkat memiliki slot kartu memori, colokkan kartu SD kosong. Gunakan kartu SD yang mendukung bus ultra high speed (UHS) dengan kapasitas SDHC atau SDXC atau dengan kecepatan minimal kelas 10 atau lebih tinggi untuk memastikan dapat lulus CTS.

  • Jika perangkat memiliki slot kartu SIM, colokkan kartu SIM yang 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 yang disingkat (ADN). Kartu GSM dan USIM dengan file khusus telekomunikasi (DF Telecom ) memenuhi persyaratan ini.

Pengembang UICC

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

Konfigurasi perangkat Android

  1. Data pabrik menyetel ulang perangkat: Pengaturan > Cadangkan & setel ulang > Reset data pabrik .

  2. Atur bahasa perangkat Anda ke Bahasa Inggris ( Amerika Serikat ): Pengaturan > Bahasa & masukan > Bahasa .

  3. Jika perangkat mendukung penyesuaian font default, setel keluarga font sans-serif default ke Roboto (keluarga font sans-serif default yang digunakan dalam pembuatan AOSP).

  4. Aktifkan setelan lokasi jika ada fitur GPS atau Wi-Fi/jaringan seluler di 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: Pengaturan > Wi-Fi .

  6. Pastikan tidak ada pola kunci atau kata sandi yang disetel pada perangkat: Pengaturan > Keamanan > Kunci layar > Tidak ada .

  7. Aktifkan USB debugging pada perangkat Anda: Settings > Developer options > USB debugging .

  8. Atur waktu ke format 12 jam: Pengaturan > Tanggal & waktu > Gunakan format 24 jam > Mati .

  9. Mengatur perangkat agar tetap terjaga: Setelan > Opsi pengembang > Tetap Terjaga > Aktif .

  10. Hanya di Android 5.x dan 4.4.x , setel perangkat untuk mengizinkan lokasi tiruan: Setelan > Opsi pengembang > Izinkan lokasi tiruan > Aktif .

  11. Di Android 4.2 atau lebih tinggi , matikan verifikasi aplikasi USB: Setelan > Opsi pengembang > Verifikasi aplikasi melalui USB > Mati .

  12. Luncurkan browser dan tutup layar pengaktifan/pengaturan apa pun.

  13. Hubungkan mesin desktop yang akan digunakan untuk menguji perangkat dengan kabel USB.

  14. Sebelum menjalankan CTS, setel Roboto2 sebagai font sans-serif menggunakan pengaturan affordance yang dapat diakses pengguna (tidak disembunyikan).

Instalasi file

Instal dan konfigurasikan aplikasi pembantu di perangkat.

  1. 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: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Di perangkat, aktifkan delegasi: Pengaturan > Aksesibilitas > Aksesibilitas > Mendelegasikan 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 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver dan administrator perangkat lain yang dimuat sebelumnya tetap dinonaktifkan.

  2. Salin file media CTS ke perangkat sebagai berikut:

    1. Arahkan ( cd ) ke jalur tempat file media diunduh dan dibuka ritsletingnya.
    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 maksimum, salin semua file:

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

        ./copy_media.sh 720x480 -s 1234567
        
,

Untuk menjalankan CTS, pertama-tama siapkan lingkungan fisik, mesin desktop, dan perangkat Android yang Anda gunakan untuk pengujian.

Lingkungan fisik

Beacon Bluetooth LE

Jika perangkat yang diuji (DUT) mendukung Bluetooth LE, tempatkan setidaknya 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 saja, 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 kotak-kotak). Tempatkan bagan pola uji sesuai dengan jarak fokus minimum DUT untuk memastikan bahwa itu tidak terlalu dekat dengan lensa.

Arahkan sensor kamera ke pemandangan dengan pencahayaan yang cukup untuk memungkinkan sensor yang diuji mencapai dan tetap pada target frame 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 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 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 penghitungan lokasi GPS. Bagian GPS harus sesuai dengan ICD-GPS-200C. Jika tidak, sinyal GPS/GNSS dapat berupa apa saja, termasuk simulator satelit atau repeater 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 IPv6, memiliki koneksi internet, dan dapat memperlakukan DUT sebagai klien yang terisolasi. Klien yang terisolasi mengacu pada konfigurasi di mana DUT tidak memiliki visibilitas ke pesan broadcast/multinetwork pada subnetwork tersebut. Ini terjadi dengan konfigurasi Wi-Fi AP atau dengan menjalankan DUT pada subjaringan yang terisolasi tanpa perangkat lain yang terhubung.

Jika Anda tidak memiliki akses ke jaringan IPv6 asli, jaringan operator IPv6, atau VPN untuk lulus beberapa pengujian bergantung pada IPv6, Anda dapat menggunakan titik akses Wi-Fi dan terowongan IPv6. Lihat daftar broker terowongan IPv6 Wikipedia.

Wi-Fi RTT

Android menyertakan Wi-Fi RTT API untuk kemampuan Wi-Fi round trip time (RTT) . Hal ini memungkinkan perangkat untuk mengukur jaraknya 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 Google Wifi dan titik akses fitlet2 Compulab (diatur ke bandwidth 40 MHz pada 5 GHz).

Jalur akses harus dihidupkan, 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 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, unduh paket Android SDK Tools untuk sistem operasi Anda, buka, dan ikuti instruksi dalam file README yang disertakan. Untuk informasi pemecahan masalah, lihat Memasang 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 home Anda:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

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 .

Pengaturan untuk dukungan Python

Instal virtualenv untuk platform Anda dengan mengikuti petunjuk Instalasi .

Anda dapat memverifikasi bahwa instalasi 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 di skrip cts-tradfed . Lihat contoh CL untuk informasi lebih lanjut.

Pengaturan perangkat Android

Buatan pengguna

Perangkat yang kompatibel didefinisikan sebagai perangkat dengan build yang ditandatangani pengguna/kunci rilis. Perangkat Anda harus menjalankan citra 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 awalnya disertakan dengan perangkat. Misalnya, perangkat yang awalnya dikirimkan dengan versi sebelumnya mungkin dikecualikan dari persyaratan sistem yang berlaku untuk perangkat yang dikirimkan dengan versi yang lebih baru.

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

Produsen perangkat dapat menggunakan kembali implementasi dasar umum untuk meluncurkan produk baru sebagai peningkatan dari produk yang sudah ada dalam 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 Codenames, Tags, dan Build Numbers .

Level API pertama untuk Android 8.x atau lebih rendah

Untuk perangkat yang diluncurkan pada Android 8.x atau lebih rendah, batalkan (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 produk tersebut. Jika tanda tidak disetel, Android menetapkan Build.VERSION.SDK_INT ke ro.product.first_api_level .

Paket CTS Shim

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 menginstal paket CtsShimApex di partisi /system .

Tes validasi shim APEX memverifikasi implementasi CtsShimApex .

ro.apex.updatable yang dapat diperbarui

  • Jika properti ro.apex.updatable disetel ke true , 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 pada perangkat.

Tes validasi shim APEX memverifikasi implementasi CtsShimApex .

Pra-instal dan pramuat CtsShim

Dimulai dengan Android 11, CtsShimApex berisi dua aplikasi bawaan (dibuat 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, kedua aplikasi bawaan harus diinstal sebelumnya di sistem secara terpisah.

Versi Perangkat Pra-instal
(jika APEX didukung)
Pramuat
LENGAN x86 LENGAN x86
Android 12 android12-lengan-release
di bawah /system/apex/com.android.apex.cts.shim.apex
android12-x86-rilis
di bawah /system/apex/com.android.apex.cts.shim.apex
android12-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android12-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android12-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android12-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 11 android11-lengan-release
di bawah /system/apex/com.android.apex.cts.shim.apex
rilis android11-x86
di bawah /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 10 rilis android10
di bawah /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9, O, dan O-MR1 T/A T/A arm-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

arm-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
di bawah /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
di bawah /system/priv-app/CtsShimPrivPrebuilt.apk

Untuk lulus pengujian, pramuat aplikasi ke direktori yang sesuai pada citra 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 uji untuk memvalidasi perilaku Open Mobile API. Kasus uji ini memerlukan instalasi satu kali dari applet sampel ke dalam Elemen Aman (eSE) yang disematkan pada 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 rinci tentang kasus uji Open Mobile API dan uji kasus 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 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.

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 disambungkan ke layar.
  • Jika perangkat memiliki slot kartu memori, colokkan kartu SD kosong. Gunakan kartu SD yang mendukung bus ultra high speed (UHS) dengan kapasitas SDHC atau SDXC atau dengan kecepatan minimal kelas 10 atau lebih tinggi untuk memastikan dapat lulus CTS.

  • Jika perangkat memiliki slot kartu SIM, colokkan kartu SIM yang 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 yang disingkat (ADN). Kartu GSM dan USIM dengan file khusus telekomunikasi (DF Telecom ) memenuhi persyaratan ini.

Pengembang UICC

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

Konfigurasi perangkat Android

  1. Data pabrik menyetel ulang perangkat: Pengaturan > Cadangkan & setel ulang > Reset data pabrik .

  2. Atur bahasa perangkat Anda ke Bahasa Inggris ( Amerika Serikat ): Pengaturan > Bahasa & masukan > Bahasa .

  3. Jika perangkat mendukung penyesuaian font default, setel keluarga font sans-serif default ke Roboto (keluarga font sans-serif default yang digunakan dalam pembuatan AOSP).

  4. Aktifkan setelan lokasi jika ada fitur GPS atau Wi-Fi/jaringan seluler di 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: Pengaturan > Wi-Fi .

  6. Pastikan tidak ada pola kunci atau kata sandi yang disetel pada perangkat: Pengaturan > Keamanan > Kunci layar > Tidak ada .

  7. Aktifkan USB debugging pada perangkat Anda: Settings > Developer options > USB debugging .

  8. Atur waktu ke format 12 jam: Pengaturan > Tanggal & waktu > Gunakan format 24 jam > Mati .

  9. Mengatur perangkat agar tetap terjaga: Setelan > Opsi pengembang > Tetap Terjaga > Aktif .

  10. Hanya di Android 5.x dan 4.4.x , setel perangkat untuk mengizinkan lokasi tiruan: Setelan > Opsi pengembang > Izinkan lokasi tiruan > Aktif .

  11. Di Android 4.2 atau lebih tinggi , matikan verifikasi aplikasi USB: Setelan > Opsi pengembang > Verifikasi aplikasi melalui USB > Mati .

  12. Luncurkan browser dan tutup layar pengaktifan/pengaturan apa pun.

  13. Hubungkan mesin desktop yang akan digunakan untuk menguji perangkat dengan kabel USB.

  14. Sebelum menjalankan CTS, setel Roboto2 sebagai font sans-serif menggunakan pengaturan affordance yang dapat diakses pengguna (tidak disembunyikan).

Instalasi file

Instal dan konfigurasikan aplikasi pembantu di perangkat.

  1. 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: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Di perangkat, aktifkan delegasi: Pengaturan > Aksesibilitas > Aksesibilitas > Mendelegasikan 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 android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver dan administrator perangkat lain yang dimuat sebelumnya tetap dinonaktifkan.

  2. Salin file media CTS ke perangkat sebagai berikut:

    1. Navigate ( cd ) to the path where the media files are downloaded and unzipped.
    2. Change the file permissions: chmod u+x copy_media.sh

    3. Copy the necessary files:

      • To copy clips up to a resolution of 720x480, run:

        ./copy_media.sh 720x480
        
      • If you aren't sure of the maximum resolution, copy all of the files:

        ./copy_media.sh all
        
      • If there are multiple devices under adb, add the serial option ( -s ) of a specific device to the end. For example, to copy up to 720x480 to the device with serial 1234567, run:

        ./copy_media.sh 720x480 -s 1234567