CTS'yi ayarlama

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

Fiziksel çevre

Bluetooth LE işaretçileri

Test edilen cihaz (DUT) Bluetooth LE'yi destekliyorsa Bluetooth LE tarama testi için DUT'den 5 metre uzakta en az üç Bluetooth LE işaretçisi yerleştirin. Bu işaretçilerin yapılandırılması veya belirli bir şey yayınlaması gerekmez. iBeacon, Eddystone veya BDE işaretçilerini simüle eden cihazlar da dahil olmak üzere herhangi bir türde olabilirler.

Ultra geniş bant

DUT, ultra geniş bandı destekliyorsa ultra geniş bandı destekleyen başka bir cihaz, anten ve radyo ölü bölgesi olmayacak şekilde yeterince yakın ve doğru yönde konumlandırılmalıdır. Mesafe doğruluğu testleri için belirli konumlandırma ve yön ihtiyaçları söz konusudur. Kurulum ayrıntıları için Ultra geniş bant gereksinimleri bölümüne bakın. Ultra Geniş Bant testi, hangi iki cihazın bir metre uzakta olduğunu komut satırında belirtilerek manuel olarak çalıştırılmalıdır. Bu test için gereken parçalama ile ilgili ayrıntılar için Yerel parçalama bölümüne bakın.

Kameralar

Kamera CTS'sini çalıştırırken bir test desen grafiği (ör. dama tahtası deseni) ile normal ışık koşullarını kullanın. Test deseni grafiğini, merceklere çok yakın olmadığından emin olmak için DUT'nin minimum odak mesafesine göre yerleştirin.

Kamera sensörlerini, test edilen sensörlerin CONTROL_AE_TARGET_FPS_RANGE bölümünde belirtildiği gibi saniye başına yapılandırılmış maksimum hedef kare (FPS) değerine ulaşmasını ve bu şekilde kalmasını sağlamak için yeterli ışık alan bir sahneye yönlendirin. Test, listelenen cihazlarda yineleme gerçekleştirip performansı ayrı ayrı ölçtüğünden bu durum, getCameraIdList tarafından bildirilen tüm kamera sensörleri için geçerlidir.

DUT, USB web kameraları gibi harici kameraları destekliyorsa CTS'yi çalıştırırken harici bir kamera takın. Aksi takdirde, CTS testleri başarısız olur.

GPS/GNSS

DUT, küresel konumlandırma sistemini/küresel navigasyon uydu sistemi (GPS/GNSS) özelliğini destekliyorsa duT'a sinyal ve GPS konum hesaplaması için uygun bir sinyal düzeyinde GPS/GNSS sinyali sağlayın. GPS bölümü, ICD-GPS-200C ile uyumlu olmalıdır. Aksi takdirde, GPS/GNSS sinyali herhangi bir türde olabilir. Bu, bir uydu simülatörü veya dış mekan sinyalleri GPS/GNSS tekrarlayıcısı olabilir ya da DUT'yi, doğrudan yeterli GPS/GNSS sinyalini alabilecek bir pencereye yeterince yakın yerleştirebilirsiniz.

Kablosuz ve IPv6

CTS testleri için IPv4 ve IPv6'yı destekleyen, IPv4 ve IPv6 için DNS'si çalışan bir internet bağlantısına sahip olan, IP çoklu yayını destekleyen ve DUT'yi izole bir istemci olarak kullanabilen bir kablosuz ağ gerekir. Bağımsız istemci, DUT'nin söz konusu alt ağdaki yayın/çoklu ağ mesajlarını göremediği bir yapılandırmadır. Bu durum, kablosuz erişim noktası (AP) yapılandırmasıyla veya diğer cihazlar bağlı olmadan DUT'nin yalıtılmış bir alt ağ üzerinde çalıştırılmasıyla gerçekleşir.

IPv6'ya bağlı olarak bazı testleri geçmek için yerel bir IPv6 ağına, IPv6 operatör ağına veya VPN'ye erişiminiz yoksa kablosuz erişim noktası ve IPv6 tüneli kullanabilirsiniz.

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

Kablosuz STA/STA Eşzamanlılığı'nı destekleyen cihazlarda birden fazla kablosuz ağ (en az 2) gerekir. CTS'yi aktarmak için kablosuz ağların farklı SSID'lere sahip farklı bantlar üzerinde veya farklı BSSID'lere sahip aynı SSID üzerinde çalışması gerekir.

Kablosuz RTT

Android, kablosuz gidiş dönüş süresi (RTT) özelliği için Wi-Fi RTT API'yi içerir. Bu özellik, cihazların erişim noktalarına olan mesafelerini 1-2 metre doğrulukla ölçmesine olanak tanıyarak iç mekan konum doğruluğunu önemli ölçüde artırır. Kablosuz RTT'yi destekleyen iki cihaz, önerilen iki cihazdır: Google Wifi ve Compulab'in fitlet2 erişim noktası (5 GHz'de 40 MHz bant genişliğine ayarlanır).

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 olmaları önerilir. Genellikle bir erişim noktası yeterlidir.

Masaüstü makine kurulumu

Dikkat: CTS, 64 bit Linux makinelerini destekler. CTS, Windows OS veya MacOS'te desteklenmez.

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 hem Android Debug Bridge (adb) hem de Android Öğe Paketleme Aracı'nın (AAPT2) son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun.

ADB ve AAPT2'yi yüklemek için Android Studio'nun SDK Yöneticisi'nden veya sdkmanager komut satırı aracından en son Android SDK Platform Araçları'nı ve Android SDK Derleme Araçları'nı indirin.

adb ve aapt2 öğelerinin sistem yolunuzda bulunduğundan emin olun. Aşağıdaki komutta, paket arşivlerini ana dizininizdeki android-sdk adlı bir alt dizine indirdiğiniz varsayılmaktadır:

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

Ubuntu için Java Geliştirme Kiti

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

  • 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

Yükleme talimatlarını uygulayarak platformunuz için virtualenv uygulamasını yükleyin.

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

CTS dosyaları

CTS paketlerini, cihazlarınızın Android sürümüyle ve cihazlarınızın desteklediği tüm uygulama ikili arayüzleriyle (ABI'ler) eşleşen Uyumluluk Test Paketi İndirmeleri bölümünden indirip açın.

CTS medya dosyalarının en son sürümünü indirip açın.

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, Mainline ile ilgili bazı CTS dosyalarını dinamik olarak indirir. Bu dosyalar, ağ hızınıza bağlı olarak çalışma süresine en az 10 dakika ekler.

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

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

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

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

Cihaz algılama

Sisteminizi, cihazınızı algılayacak şekilde ayarlama adımlarını uygulayın.

Bellek sınırı

cts-tradefed komut dosyasında test çalıştırması sırasında kullanılabilen maksimum belleği artırmak isteyebilirsiniz. Daha fazla bilgi için örnek CL bölümüne bakın.

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, Kod Adları, Etiketler ve Derleme Numaraları'ndan uyumlu olduğu bilinen kullanıcı derlemesine (Android 4.0 veya sonraki sürümler) dayalı bir sistem görüntüsü çalıştırıyor olmalıdır.

Birinci API düzeyinde derleme mülkü

Belirli CTS gereksinimleri, cihazın ilk olarak birlikte gönderildiği derlemeye bağlıdır. Örneğin, başlangıçta önceki derlemelerle gönderilen cihazlar, daha sonraki derlemelerle birlikte gönderilen cihazlar için geçerli olan sistem gereksinimlerinden hariç tutulabilir.

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

Cihaz üreticileri, aynı cihaz grubundaki mevcut bir ürünün yükseltmesi olarak yeni bir ürünü kullanıma sunmak için ortak temel uygulamayı yeniden kullanabilirler. Cihaz üreticileri, mevcut ürünün API seviyesini isteğe bağlı olarak ro.product.first_api_level olarak ayarlayabilir. Böylece, CTS ve Treble/VTS için yükseltme şartları uygulanır.

Cihaz üreticileri, aşağıdaki örnekte gösterildiği gibi bu özelliği ayarlamak için device.mk dosyasında PRODUCT_SHIPPING_API_LEVEL öğesini tanımlayabilir:

# 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ümlerle kullanıma sunulan cihazlarda ro.product.first_api_level özelliğini Kod Adları, Etiketler ve Derleme Numaraları alanında geçerli bir değere ayarlayın.

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 cihazlarda ürünün ilk derlemesi için ro.product.first_api_level özelliği ayarını kaldırın (kaldırın). Sonraki tüm derlemeler için ro.product.first_api_level değerini doğru API düzeyi değerine ayarlayın. Bu, mülkün yeni bir ürünü doğru şekilde tanımlamasına olanak tanır ve ürünün ilk API düzeyiyle ilgili bilgileri korur. İşaret ayarlanmazsa Android, Build.VERSION.SDK_INT öğesini ro.product.first_api_level öğesine atar.

CTS shim paketleri

Android 10 veya sonraki sürümler APEX adlı bir paket biçimi içerir. APEX yönetim API'leri için CTS testleri çalıştırmak (ör. yeni sürüme güncelleme veya etkin APEX'leri raporlama) için bir CtsShimApex paketini /system bölümüne önceden yüklemeniz gerekir.

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

ro.apex.updatable gereksinimleri

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

  • ro.apex.updatable özelliği yoksa veya ayarlanmamışsa CtsShimApex ürününün bir cihaza önceden yüklenmesi gerekmez.

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

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

CtsShimApex, Android 11'den itibaren manifest hariç herhangi bir kod içermeyen, derleme kaynağından derlenen iki önceden oluşturulmuş uygulama içerir. CTS, ayrıcalıkları ve izinleri test etmek için bu uygulamaları kullanır.

Cihaz, APEX paket yönetimini desteklemiyorsa (yani ro.apex.updatable özelliği eksikse veya ayarlanmadıysa) ya da cihaz 10 veya daha eski bir sürümü çalıştırıyorsa önceden oluşturulmuş iki uygulamanın sisteme ayrı ayrı ö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 uygun sürüm için CtsShim ve CtsShimPriv sırasıyla /system/app/CtsShimPrebuilt.apk ve /system/priv-app/CtsShimPrivPrebuilt.apk olarak yerleştirilmelidir.

Aşağıdaki tabloda, her cihaz sürümü ve mimari için kullanılabilen önceden yüklemeler ve önceden yüklemeler listelenmektedir.

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 android10 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ı yeniden imzalamadan sistem görüntüsündeki uygun dizinlere önceden yükleyin.

Örnek applet

Android 9, Open Mobile API'lerini kullanıma sundu. Birden fazla güvenli öğe bildiren cihazlar için CTS, Open Mobile API'lerinin davranışını doğrulamak amacıyla test durumları ekler. Bu test durumları, DUT'nin yerleşik Güvenlik Unsuru'na (eSE) veya DUT tarafından kullanılan SIM karta tek seferlik bir örnek applet'ın yüklenmesini gerektirir. eSE örnek applet'ı ve SIM örnek applet'ı AOSP'de bulunabilir.

Open Mobile API test durumları ve Erişim Kontrolü test durumları hakkında daha ayrıntılı bilgi için Secure Element için CTS Testi bölümüne bakın.

Depolama alanı gereksinimleri

CTS medya stres testleri için video kliplerin harici depolama alanında olması gerekir (/sdcard). Kliplerin çoğu, Creative Commons Attribution 3.0 lisansı kapsamında Blender Foundation tarafından telif hakkı alınmış olan Big Buck Bunny'den alınmıştır.

Gerekli alan, cihazın desteklediği maksimum video oynatma çözünürlüğüne bağlıdır. Gerekli çözünürlüklerin platform sürümü için Android Uyumluluk Tanımı belgesinin 5. bölümüne bakın.

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 tüm cihazların bir ekrana bağlanması gerekir.
  • Cihazda bellek kartı yuvası varsa boş bir SD kart takın. CTS'yi geçebilmesi için SDHC veya SDXC kapasitesine sahip ultra yüksek hızlı (UHS) veri yolu ya da en az 10 veya üzeri hız sınıfına sahip bir SD kart kullanın.

  • Cihazda SIM kart yuvaları varsa etkinleştirilmiş bir SIM kartı her yuvaya takın. Cihaz SMS'i destekliyorsa her SIM kart için kendi numara alanı doldurulmalıdır. Android 12 veya sonraki sürümleri çalıştıran cihazlar için tüm SIM kartlar, kısaltılmış arama numaralarının (ADN) depolanmasını desteklemelidir. Telekomünikasyona özel dosyaya (DFTelecom) sahip GSM ve USIM kartlar bu gereksinimi karşılar.

Geliştirici UICC

CTS operatör API testlerini çalıştırmak için cihazın, UICC'yi hazırlama bölümünde belirtilen gereksinimleri karşılayan CTS operatör ayrıcalıklarına sahip bir SIM kullanması gerekir.

Android cihaz yapılandırması

  1. Cihazı fabrika verilerine sıfırlayın: Ayarlar > Yedekleme ve sıfırlama > Fabrika verilerine 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 sans-serif yazı tipi ailesini Roboto (AOSP derlemelerinde kullanılan varsayılan sans-serif yazı tipi ailesi) olarak ayarlayın.

  4. Cihazda GPS veya kablosuz/hücresel ağ özelliği varsa konum ayarını açın: Ayarlar > Konum > Açık.

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

  6. Cihazda kilit deseni veya şifre belirlenmediğinden 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 saat > 24 saatlik biçimini kullan > 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ümlerinde, 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 > Uygulamaları USB üzerinden 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.

    Bu ayarın kullanıcı derlemelerinde etkinleştirilmesi gerekir.
  13. Tarayıcıyı başlatın ve başlangıç/kurulum ekranlarını kapatın.

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

  15. CTS'yi çalıştırmadan önce, kullanıcı tarafından erişilebilen fırsat (gizli değil) ayarını kullanarak Roboto2'yi sans-serif yazı tipi olarak ayarlayın.

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 2.1 R2 - 4.2 R4 sürümleri: Erişilebilirlik testlerini şunlarla çalıştırmak için cihazınızı (veya emülatörü) ayarlayın: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Cihazda, yetkiyi etkinleştirin: Ayarlar > Erişilebilirlik > Erişilebilirlik > Erişilebilirlik Hizmetine Yetki Verme.

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

      Ayarlar > Güvenlik > Cihaz yöneticilerini seç bölümünde iki android.deviceadmin.cts.CtsDeviceAdminReceiver* cihaz yöneticisini etkinleştirin. android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver ve önceden yüklenmiş diğer cihaz yöneticilerinin devre dışı bırakıldığından emin olun.

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

    1. Medya dosyalarının indirildiği ve sıkıştırmasının açıldığı yola (cd) gidin.
    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 belirli bir cihazın seri seçeneğini (-s) sona ekleyin. Örneğin, 1234567 seri numaralı cihaza 720x480 çözünürlüğe kadar kopyalama yapmak için şu komutu çalıştırın:

        ./copy_media.sh 720x480 -s 1234567