CTS'yi ayarlama

CTS'yi çalıştırmak için önce fiziksel ortamınızı, masaüstü makinenizi ve test için kullandığınız Android cihaz.

Fiziksel çevre

Bluetooth LE işaretçileri

Test edilen cihaz (DUT) Bluetooth LE'yi destekliyorsa en az üç tane Bluetooth LE'yi yerleştirin. Bluetooth LE tarama testi için DUT'tan en fazla 5 metre uzaklıkta bulunan Bluetooth LE işaretleri. Bu işaretçilerin özel bir şey yapılandırması veya yayınlaması gerekmez, iBeacon, Eddystone veya BLE işaretçilerini simüle eden cihazlar da dahil olmak üzere her türlü içerik.

Ultra geniş bant

DUT, ultra geniş bandı destekliyorsa başka bir cihaz UWB'yi desteklemeyecek kadar yakın ve yönlü konumlandırılmalıdır. anten ve radyo ölü bölgesi. Mesafe doğruluğu testleri için özel konumlandırma ve yön gereksinimleri. Kurulum ayrıntıları için bkz. Ultra geniş bant gereksinimleri. Ultra geniş bant testi manuel olarak çalıştırılmalıdır. Komut satırında, bu testte cihazlar arasında bir metrelik mesafe var. Bu test için gereken parçalama ile ilgili ayrıntılar için bkz. Yerel parçalama.

Kameralar

Kamera CTS'sini çalıştırırken bir test deseni ile normal ışık koşullarını kullanın grafiği (ör. dama tahtası deseni). Test deseni grafiğini DUT'un minimum odaklanma mesafesine lens.

Kamera sensörlerini yeterli ışık alan bir sahneye doğru tutarak yapılandırılmış maksimum hedef karelere ulaşmak ve bu karelerde kalmak için test ediliyor şu şekilde saniye başına (FPS) CONTROL_AE_TARGET_FPS_RANGE. Bu, tarafından bildirilen tüm kamera sensörleri için geçerlidir getCameraIdList listelenen cihazlar üzerinde iterasyon yaparak ve performansı ölçtüğünden ayrı ayrı düzenleyebilirsiniz.

DUT, USB web kameraları gibi harici kameraları destekliyorsa harici bir kamera takın kamerayla birlikte kullanılamaz. Aksi takdirde, CTS testleri başarısız olur.

GPS/GNSS

DUT, küresel konumlandırma sistemini/genel gezinme uydusunu destekliyorsa sistemi (GPS/GNSS) özelliği varsa DUT'ye uygun bir zamanda GPS/GNSS sinyali Sinyal seviyesi ve GPS konum hesaplaması için geçerlidir. GPS bölümü ICD-GPS-200C ile uyumlu. Aksi takdirde, GPS/GNSS sinyali herhangi bir türde olabilir. uydu simülatörü veya dış mekan sinyallerinden oluşan GPS/GNSS tekrarlayıcısı gibi ya da DUT'yi bir pencereye yeterince yakın bir yere yerleştirebilirsiniz. Böylece GPS/GNSS sinyali olması gerekir.

Kablosuz ve IPv6

CTS testleri için IPv4 ve IPv6'yı destekleyen, interneti olan bir kablosuz ağ gerekir çalışan bir DNS ile çalışır, IP çoklu yayın özelliğini destekler ve DUT'yi izole bir istemci olarak ele alın. Bağımsız istemci, DUT değerinin bu alt ağdaki yayın/çoklu ağ mesajları için görünürlük sağlar. Bu kablosuz erişim noktası (AP) yapılandırmasıyla veya DUT'nin bağlı olmayan, yalıtılmış alt ağdan yararlanır.

Yerel bir IPv6 ağına, bir IPv6 operatör ağına ya da bir IPv6 operatör ağına erişiminiz yoksa VPN'nin IPv6'ya bağlı olarak bazı testleri geçmesini sağlamak için bir kablosuz erişim noktası ve bir IPv6 tüneli vardır.

CTS'yi geçmek için DUT'nin UP, BROADCAST ve MULTICAST işaretlerinin ayarlanmış olması gerekir. kablosuz ağ arayüzü. Kablosuz bağlantı arayüzüne IPv4 ve IPv6 adreslerinin atanması gerekir. adb shell ifconfig ile kablosuz ağ arayüzü özelliklerini kontrol edin.

Şu cihazları destekleyen cihazlar için: Kablosuz STA/STA Eşzamanlılığı, birden fazla kablosuz ağ (en az 2) gerekli. CTS'yi aktarmak için kablosuz bağlantı ağlar farklı SSID'lere sahip farklı bantlarda veya farklı BSSID'lere sahip aynı SSID'dir.

Kablosuz RTT

Android, şunları içerir: Kablosuz RTT API'si Kablosuz gidiş dönüş süresi (RTT) için olanağı sunar. Bu sayede cihazlar, erişim noktalarına olan mesafelerini 1-2 metrelik doğrulukla iç mekan konum doğruluğunu önemli ölçüde artırır. Kablosuz RTT'yi destekleyen önerilen iki cihaz: Google Wifi ve Compulab'in fitlet2 erişim noktası (5 GHz'de 40 MHz bant genişliğine ayarlayın).

Erişim noktaları açık olmalı, ancak ağ bağlantısı gerektirmemelidir. Erişim noktalarının test cihazının yanında olması gerekmez ancak DUT'tan en fazla 40 metre uzakta olmalıdır. Genellikle bir erişim noktası yeterlidir.

Masaüstü makine kurulumu

Dikkat: CTS, 64 bit Linux makinelerini destekler. CTS, Windows işletim sisteminde desteklenmez veya MacOS'te.

FFMPEG

Ana makineye ffmpeg sürüm 5.1.3 (veya üzeri) paketini yükleyin.

Ana makineyi yükseltme

CTS ana makine RAM'inin 128 GB, HDD'nin ise 256 GB'a yükseltilmesi önemle tavsiye edilir. Artan CTS test durumu sayısını ve ticari değişimlerde Java yığın alanı rezervasyonundaki artışı karşılamak için gereklidir.

ADB ve AAPT2

CTS'yi çalıştırmadan önce her ikisi Android Debug Bridge (adb) ve Android Öğe Paketleme Aracı (AAPT2) bu araçların konumlarını makinenizin sistem yoluna ekledik.

ADB ve AAPT2'yi yüklemek için uygulamanın en güncel sürümünü indirin Android SDK Platform Araçları ve Android SDK'sı Derleme Araçları Android Studio'nun SDK Yöneticisi veya sdkManager komut satırı aracından öğrenebilirsiniz.

adb ve aapt2 öğelerinin sistem yolunuzda bulunduğundan emin olun. Aşağıdaki komut paket arşivlerini indirdiğinizi varsayarsak Ana dizininizde android-sdk:

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

Ubuntu için Java Geliştirme Kiti

Doğru sürümünü yükleyin Java Geliştirme Kiti (JDK).

  • Android 11 için OpenJDK11'i yükleyin.
  • Android 9 ve Android 10 için OpenJDK9'u yükleyin.
  • Android 7.0, 7.1, 8.0 ve 8.1 için OpenJDK8'i yükleyin.

Ayrıntılar için JDK şartlarına göz atın.

Python desteği için kurulum

Şu adımları uygulayarak platformunuz için virtualenv uygulamasını yükleyin: virtualenv Kurulum bakın.

virtualenv -h komutunu çağırarak yüklemenin başarılı olduğunu doğrulayabilirsiniz.

CTS dosyaları

CTS paketlerini şuradan indirin ve açın: Uyumluluk Test Paketi İndirmeleri ile eşleşiyor Android sürümü ve tüm uygulama ikili arayüzleri (ABI'ler) içerir.

Chrome Tarayıcı uygulamasının en son sürümünü indirip açın CTS medya dosyaları.

Mainline ile ilgili CTS dosyalarını indirin (isteğe bağlı)

Bir CTS sürümünü ilk kez çalıştırdığınızda CTS bazı verileri Çalışma süresine en az 10 dakika ekleyen Mainline ile ilişkili CTS dosyaları, değişiklik gösterir.

Bu ek CTS çalışma süresini önlemek için Mainline ile ilgili CTS'yi indirebilirsiniz dosyalarını CTS sürümünü çalıştırmadan önce aşağıdaki talimatları uygulayarak yükleyin:

  1. Şu komutu çalıştırarak cihazda Android API düzeyini alın:

    adb shell getprop ro.build.version.sdk
    
  2. download_mcts.sh komut dosyasındaki talimatları uygulayın Mainline CTS dosyalarını indirmek için.

    İndirme işlemi, ağ hızınıza bağlı olarak en az 10 dakika sürer.

Cihaz algılama

Şu adımı uygulayın: sisteminizi, cihazınızı algılayacak şekilde ayarlayın.

Bellek sınırı

Test çalıştırması sırasında kullanılabilen maksimum belleği artırmak isteyebilirsiniz. cts-tradefed komut dosyası. Örnek CL bölümüne bakın konulu videomuzu izleyin.

Android cihaz kurulumu

Kullanıcı derlemeleri

Uyumlu cihaz, kullanıcı/sürüm anahtarı ile imzalanmış bir yapıya sahip cihaz olarak tanımlanır. Cihazınız, uyumlu olduğu bilinen bir sistem görüntüsü çalıştırıyor olmalıdır. kullanıcı derlemesi (Android 4.0 veya sonraki sürümler) Kod Adları, Etiketler ve Derleme Numaraları.

Birinci API düzeyinde derleme mülkü

Belirli CTS gereksinimleri, cihazın orijinal olarak kullanıldığı derlemeye bağlıdır birlikte gönderilir. Örneğin, başlangıçta önceki derlemelerle gönderilen cihazlar şu tür cihazlar için geçerli olan sistem gereksinimlerinden hariç tutulmuş olabilir: geliştirmenizi sağlar.

Cihaz üreticileri, bu bilgileri CTS'nin kullanımına sunmak için ro.product.first_api_level derleme zamanı özelliğini tanımladı. Bunun değeri özelliği, cihazın ticari olarak kullanıma sunulduğu ilk API düzeyidir.

Cihaz üreticileri, bu çözümlerle ilgili daha fazla bilgi edinmek için aynı cihazdaki mevcut bir ürünün yükseltmesi olarak yeni bir ürünün lansmanı grubu. Cihaz üreticileri, isteğe bağlı olarak mevcut ro.product.first_api_level sürümüne geçirir. Böylece yükseltmeyle ilgili CTS ve Treble/VTS için uygulanması.

Cihaz üreticileri, PRODUCT_SHIPPING_API_LEVEL özelliğini device.mk dosyası kullanarak bu özelliği ayarlayın:

# 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

Android 9 veya sonraki sürümler için ilk API düzeyi

Android 9 veya sonraki sürümlerin yüklü olduğu cihazlarda ro.product.first_api_level özelliğini, Kod Adları, Etiketler ve Derleme Numaraları.

Android 8.x veya önceki sürümler için birinci API düzeyi

Android 8.x veya önceki sürümlerde başlatılan cihazlar için şu ayarı kaldırın (kaldırın): Ürünün ilk derlemesi için ro.product.first_api_level özelliği. Örneğin, sonraki tüm derlemeler için ro.product.first_api_level öğesini doğru API düzeyine ayarlayın değer. Bu, mülkün yeni bir ürünü doğru şekilde tanımlamasını ve ürünün ilk API düzeyiyle ilgili bilgileri korur. Bayrak ayarlanmadan bırakılırsa Android, Build.VERSION.SDK_INT öğesini ro.product.first_api_level öğesine atar.

CTS shim paketleri

Android 10 veya sonraki sürümler APEX için geçerlidir. APEX yönetimi için CTS testleri çalıştırma API'ler (yeni bir sürüme güncelleme veya etkin APEX'leri raporlama gibi) /system bölümüne bir CtsShimApex paketi önceden yükleme

APEX shim doğrulama testi, CtsShimApex uygulamasını doğrular.

ro.apex.updatable gereksinimleri

  • ro.apex.updatable özelliği true olarak ayarlanırsa CtsShimApex APEX paket yönetimini destekleyen tüm cihazlar için gereklidir.

  • ro.apex.updatable özelliği eksikse veya ayarlanmamışsa CtsShimApex yüklü olması gerekmez.

APEX shim doğrulama testi, CtsShimApex uygulamasını doğrular.

CtsShim önceden yükler ve önceden yükler

Android 11'den itibaren CtsShimApex iki içerir önceden oluşturulmuş uygulamalar ( kaynak oluştur) ve manifest dosyası dışında herhangi bir kod içermez. CTS bu uygulamaları kullanarak ayrıcalıkları ve izinleri test edebilirsiniz.

Cihaz, APEX paket yönetimini desteklemiyorsa (yani ro.apex.updatable özelliği eksik veya ayarlanmadıysa ya da cihaz 10 veya daha eski bir sürümü kullanıyorsanız önceden oluşturulmuş iki uygulamanın sisteme ayrı olarak önceden yüklenmiş olması gerekir.

APEX destekleniyorsa uygun sürümün önceden yüklemeleri /system/apex/com.android.apex.cts.shim.apex olarak yerleştirilmelidir.

Önceden oluşturulmuş normal uygulamalar kullanılıyorsa uygulama için CtsShim ve CtsShimPriv uygun sürüm /system/app/CtsShimPrebuilt.apk ve Sırasıyla /system/priv-app/CtsShimPrivPrebuilt.apk.

Aşağıdaki tabloda her biri için mevcut olan önceden yükleme ve önceden yükleme seçenekleri cihaz sürümü ve mimarisi için geçerlidir.

Cihaz Sürümü
uygulamasını önceden yükle (APEX destekleniyorsa)
Önceden Yükle
ALARMI ETKİNLEŞTİR x86 ALARMI ETKİNLEŞTİR x86
Android 14 android14-arm-sürümü android14-x86-sürümü android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-arm-sürümü android13-x86-sürümü android13-arm-CtsShim.apk

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-arm-sürümü android12-x86-sürümü android12-arm-CtsShim.apk

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-arm-sürümü android11-x86-sürümü android11-arm-CtsShim.apk

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android 10 sürümü android10-arm-CtsShim.apk

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O ve O-MR1 Yok Yok arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Testleri geçmek için uygulamaları sistem görüntüsüne sahip olursunuz.

Örnek applet

Android 9, Open Mobile API'lerini kullanıma sundu. Birden fazla bildirimde bulunan cihazlar için CTS, Open Mobile'ın davranışını doğrulamak için test senaryoları ekler API'ler. Bu test durumları, örnek applet'ın bir defaya mahsus olmak üzere yerleşik Güvenlik Unsuru'nu (eSE) veya DUT. İlgili içeriği oluşturmak için kullanılan eSE örnek applet'ı ve SIM örnek applet'ı AOSP'de bulabilirsiniz.

Güvenlik Unsuru için CTS Testi bölümüne bakın Open Mobile API test durumları ve Erişim Kontrolü testi hakkında daha ayrıntılı bilgi durumlarda işe yarar.

Depolama alanı gereksinimleri

CTS medya stres testleri, video kliplerin harici depolama alanında olmasını gerektirir (/sdcard). Kliplerin çoğu, Big Buck Bunny (telif hakkıyla korunan), Blender Foundation tarafından Creative Commons Attribution 3.0 lisansı.

Gerekli alan, çözünürlüğün desteklediği maksimum video oynatma çözünürlüğüne bağlıdır. için geçerlidir. Bkz. bölüm 5 Android Uyumluluk Tanımı dokümanı gerekli çözünürlüklerin platform sürümü

Maksimum video oynatma çözünürlüğüne göre depolama alanı gereksinimleri şunlardır:

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

Ekran ve depolama alanı

  • Yerleşik ekranı olmayan cihazların bir tıklayın.
  • Cihazda bellek kartı yuvası varsa boş bir SD kart takın. SD kullanma SDHC veya SDXC kapasiteye sahip ultra yüksek hızlı (UHS) veri yolunu destekleyen bir kart veya geçebilmek için en az 10 veya daha yüksek hız sınıfına sahip bir sürücü CTS.

  • Cihazda SIM kart yuvaları varsa etkinleştirilmiş bir SIM kartı her yuvaya takın. Cihaz SMS'i destekliyorsa her SIM kart kendi numara alanına sahip olmalıdır doldurulacağından emin olun. Android 12 veya sonraki sürümleri çalıştıran cihazlar için daha yüksek olduğundan, tüm SIM kartlarda kısaltılmış arama desteği sunulmalıdır numaraları (ADN) Telekomünikasyona özel dosya içeren GSM ve USIM kartları (DFTelecom) bu şartı yerine getirir.

Geliştirici UICC

CTS operatör API testlerini çalıştırmak için cihazın CTS operatörüne bağlı bir SIM kullanması gerekir , UICC'yi hazırlama.

Android cihaz yapılandırması

  1. Cihazı fabrika verilerine sıfırlayın: Ayarlar > Yedekle ve sıfırla > Fabrika verileri sıfırlama.

  2. Cihazınızın dilini İngilizce (ABD) olarak ayarlayın: Ayarlar > Dil ve giriş > Dil.

  3. Cihaz, varsayılan yazı tiplerinin özelleştirilmesini destekliyorsa varsayılan yazı tipini ayarlayın Roboto olarak ayarlanmış sans-serif yazı tipi ailesi (varsayılan sans-serif yazı tipi ailesi) AOSP derlemelerinde kullanılır).

  4. GPS veya kablosuz/hücresel ağ varsa konum ayarını açın cihazdaki şu özellik: Ayarlar > Konum > Açık.

  5. IPv6'yı destekleyen bir kablosuz ağa bağlanın. DUT'yi yalıtılmış istemci (yukarıdaki Fiziksel ortam bölümüne bakın), ve internet bağlantısı varsa: Ayarlar > Kablosuz ağ.

  6. Cihazda kilit deseni veya şifre ayarlanmadığından emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok.

  7. Cihazınızda USB üzerinden hata ayıklama'yı etkinleştirin: Ayarlar > Geliştirici seçenekleri > USB üzerinden hata ayıklama.

  8. Saati 12 saatlik biçimde ayarlayın: Ayarlar > Tarih ve zaman > 24 saat kullan biçim > Kapalı.

  9. Cihazı uyanık kalacak şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Uyanık Kal > Açık.

  10. Yalnızca Android 5.x ve 4.4.x sürümlerde, cihazı sahte konumlara izin verecek şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Sahte konumlara izin ver > Açık.

  11. Android 4.2 veya sonraki sürümlerde, USB uygulama doğrulamayı kapatın: Ayarlar > Geliştirici seçenekleri > USB üzerinden uygulamaları doğrula > Kapalı.

  12. Android 13 veya sonraki sürümlerde, cihazı sahte modeme izin verecek şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Sahte Modem'e izin ver > Açık.

  13. Tarayıcıyı başlatın ve başlangıç/kurulum ekranlarını kapatın.

  14. Cihazı USB ile test etmek için kullanılacak masaüstü makineyi bağlayın kabloyla.

  15. CTS'yi çalıştırmadan önce, bir kullanıcı kodu kullanarak Roboto2'yi sans-serif yazı tipi olarak ayarlayın erişilebilir bütçe (gizli değil) ayarını seçin.

Dosya yükleme

Cihaza yardımcı uygulamaları yükleyin ve yapılandırın.

  1. Cihazınızı CTS sürümünüze göre kurun:

    • CTS sürümleri 2.1 R2 - 4.2 R4: Cihazınızı (veya emülatörü) kurun erişilebilirlik testlerini şununla yapmak için: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Cihazda yetkilendirmeyi etkinleştirin: Ayarlar > Erişilebilirlik > Erişilebilirlik > Erişilebilirlik Hizmeti için Yetki Verme.

    • CTS 6.x veya önceki sürümler: android.software.device_admin, cihazı çalıştıracak şekilde kurun aşağıdakileri kullanarak yönetim testi: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      Ayarlar > Güvenlik > Cihaz yöneticilerini seçin, iki android.deviceadmin.cts.CtsDeviceAdminReceiver* cihaz yöneticileri içindir. Lütfen android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver ve herhangi biri diğer önceden yüklenmiş cihaz yöneticileri devre dışı kalır.

  2. CTS medya dosyalarını cihaza aşağıdaki şekilde kopyalayın:

    1. Medya dosyalarının indirildiği yola (cd) gidin ve açın.
    2. Dosya izinlerini değiştirin: chmod u+x copy_media.sh.

    3. Gerekli dosyaları kopyalayın:

      • Klipleri 720x480 çözünürlüğe kadar kopyalamak için şu komutu çalıştırın:

        ./copy_media.sh 720x480
        
      • Maksimum çözünürlükten emin değilseniz tüm dosyaları kopyalayın:

        ./copy_media.sh all
        
      • Adb altında birden fazla cihaz varsa seri seçeneğini ekleyin belirli bir cihazın sonuna kadar (-s). Örneğin, en fazla 1234567 seri numaralı cihaza 720x480 yükleyin, şu komutu çalıştırın:

        ./copy_media.sh 720x480 -s 1234567