CTS'yi ayarla

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

Fiziki çevre

Bluetooth LE işaretçileri

Test edilen cihaz (DUT) Bluetooth LE'yi destekliyorsa, Bluetooth LE tarama testi için DUT'un 5 metre yakınına en az üç Bluetooth LE işaretçisi yerleştirin. Bu işaretçilerin yapılandırılmasına veya belirli bir şey yaymasına gerek yoktur ve iBeacon, Eddystone ve hatta BLE işaretçilerini simüle eden cihazlar da dahil olmak üzere herhangi bir türde olabilir.

Ultra geniş bant

DUT ultra geniş bandı (UWB) destekliyorsa, UWB'yi destekleyen başka bir cihazın yeterince yakın konumlandırılması ve anten ve radyo ölü bölgesi olmayacak şekilde yönlendirilmesi gerekir. Mesafe doğruluğu testleri için özel konumlandırma ve yönlendirme ihtiyaçları vardır. Kurulum ayrıntıları için UWB gereksinimlerine bakın. UWB testi, hangi iki cihazın birbirinden bir metre uzakta olduğu komut satırında belirtilerek manuel olarak çalıştırılmalıdır. Bu test için gerekli olan parçalamayla ilgili ayrıntılar için bkz. Yerel parçalama .

Kameralar

Kamera CTS'yi çalıştırırken, bir test deseni tablosuyla (dama tahtası deseni gibi) normal aydınlatma koşullarını kullanın. Lense çok yakın olmadığından emin olmak için test deseni tablosunu DUT'un minimum odak mesafesine göre yerleştirin.

Test altındaki sensörlerin CONTROL_AE_TARGET_FPS_RANGE belirtildiği gibi maksimum yapılandırılmış saniyedeki hedef karelere (FPS) ulaşmasını ve bu değerlerde kalmasını sağlamak için kamera sensörlerini yeterli aydınlatmaya sahip bir sahneye yönlendirin. Test, listelenen cihazlar üzerinde yinelendiğinden ve performansı ayrı ayrı ölçtüğünden, bu, 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 halde CTS testleri başarısız olur.

GPS/GNSS

DUT küresel konumlandırma sistemi/küresel navigasyon uydu sistemi (GPS/GNSS) özelliğini destekliyorsa, alım ve GPS konum hesaplaması için DUT'a uygun bir sinyal seviyesinde bir GPS/GNSS sinyali sağlayın. GPS kısmı ICD-GPS-200C ile uyumlu olmalıdır. Aksi halde, GPS/GNSS sinyali, bir uydu simülatörü veya dış mekan sinyallerinin GPS/GNSS tekrarlayıcısı da dahil olmak üzere herhangi bir türde olabilir veya DUT'u, yeterli GPS/GNSS sinyalini doğrudan alabilecek şekilde bir pencereye yeterince yakın yerleştirebilirsiniz.

Wi-Fi ve IPv6

CTS testleri, IPv4 ve IPv6'yı destekleyen, IPv4 ve IPv6 için çalışan DNS ile internet bağlantısına sahip, IP çok noktaya yayını destekleyen ve DUT'u yalıtılmış bir istemci olarak değerlendirebilen bir Wi-Fi ağı gerektirir. Yalıtılmış bir istemci , DUT'un söz konusu alt ağdaki yayın/çoklu ağ mesajlarını göremediği bir yapılandırmadır. Bu, bir Wi-Fi erişim noktası (AP) yapılandırmasıyla veya DUT'un başka cihazlar bağlanmadan yalıtılmış bir alt ağ üzerinde çalıştırılmasıyla gerçekleşir.

Yerel bir IPv6 ağına, bir IPv6 taşıyıcı ağına veya IPv6'ya bağlı bazı testleri geçmek için bir VPN'e erişiminiz yoksa, bir Wi-Fi erişim noktası ve bir IPv6 tüneli kullanabilirsiniz.

CTS'yi geçmek için DUT'un Wi-Fi arayüzünde ayarlanmış UP , BROADCAST ve MULTICAST bayraklarına ihtiyacı vardır. Wi-Fi arayüzünün atanmış IPv4 ve IPv6 adreslerine ihtiyacı vardır. Wi-Fi arayüzü özelliklerini adb shell ifconfig ile kontrol edin.

Wi-Fi STA/STA Eşzamanlılığını destekleyen cihazlar için birden fazla Wi-Fi ağı (en az 2) gereklidir. CTS'yi geçmek için Wi-Fi ağlarının farklı SSID'lerle farklı bantlarda veya farklı BSSID'lerle aynı SSID'de çalışması gerekir.

Kablosuz RTT

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

Erişim noktalarına güç verilmelidir ancak ağ bağlantısı gerektirmez. Erişim noktalarının test cihazının yanında olması gerekmez ancak DUT'tan 40 fit uzakta olmaları önerilir. Bir erişim noktası genellikle yeterlidir.

Masaüstü makine kurulumu

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

FFMPEG

Ffmpeg sürüm 5.1.3 (veya üstü) paketini ana makineye yükleyin.

Ana makine yükseltmesi

CTS ana makine RAM'inin 128 GB'ye ve HDD'nin 256 GB'a yükseltilmesi önemle tavsiye edilir. Artan sayıdaki CTS test durumlarına ve ticari beslemede Java yığın alanı rezervasyonundaki artışa uyum sağlanması gerekmektedir.

ADB ve AAPT2

CTS'yi çalıştırmadan önce, hem Android Debug Bridge'in (adb) hem de Android Asset Packaging Tool'un (AAPT2) en 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öneticisinden veya sdkmanager komut satırı aracından en son Android SDK Platform Araçlarını ve Android SDK Oluşturma Araçlarını indirin.

adb ve aapt2 sistem yolunuzda olduğundan emin olun. Aşağıdaki komut, paket arşivlerini ana dizininizdeki android-sdk adlı bir alt dizine indirdiğinizi varsayar:

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

Ubuntu için Java Geliştirme Kiti

Java Development Kit'in (JDK) uygun 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 gereksinimlerine bakın.

Python desteği için kurulum

Kurulum talimatlarını takip ederek platformunuz için virtualenv kurun.

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

CTS dosyaları

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 Testi Paketi İndirmeleri'nden CTS paketlerini indirin ve açın.

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

Cihaz algılama

Sisteminizi cihazınızı algılayacak şekilde ayarlamak için ilgili adımı izleyin.

Bellek sınırı

Cts-tradefed betiğinde test çalıştırması sırasında kullanılabilen maksimum belleği artırmak isteyebilirsiniz. Daha fazla bilgi için CL örneğine bakın.

Android cihaz kurulumu

Kullanıcı derlemeleri

Uyumlu bir cihaz, kullanıcı/yayın anahtarı imzalı yapıya sahip bir cihaz olarak tanımlanır. Cihazınızın Kod Adları, Etiketler ve Yapı Numaralarından uyumlu olduğu bilinen kullanıcı yapısına (Android 4.0 veya üzeri) dayalı bir sistem görüntüsü çalıştırıyor olması gerekir.

İlk API düzeyinde derleme özelliği

Belirli CTS gereksinimleri, cihazın orijinal olarak gönderildiği yapıya bağlıdır. Örneğin, orijinal olarak önceki sürümlerle birlikte gönderilen cihazlar, daha sonraki sürümlerle birlikte gönderilen cihazlar için geçerli olan sistem gereksinimlerinin dışında tutulabilir.

Bu bilginin CTS'ye sunulması için cihaz üreticileri derleme zamanı özelliğini ro.product.first_api_level tanımlamış olabilir. Bu özelliğin değeri, cihazın ticari olarak piyasaya sürüldüğü ilk API düzeyidir.

Cihaz üreticileri, aynı cihaz grubundaki mevcut bir ürünün yükseltilmesi olarak yeni bir ürünü piyasaya sürmek için ortak temel uygulamayı yeniden kullanabilir. Cihaz üreticileri isteğe bağlı olarak mevcut ürünün API düzeyini ro.product.first_api_level olarak ayarlayabilir, böylece CTS ve Treble/VTS için yükseltme gereksinimleri uygulanır.

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

# 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 üzeri için ilk API düzeyi

Android 9 veya üzeri sürümlerle başlatılan cihazlar için ro.product.first_api_level özelliğini Kod Adları, Etiketler ve Yapı Numaraları'ndan geçerli bir değere ayarlayın.

Android 8.x veya daha düşük sürümler için ilk API düzeyi

Android 8.x veya daha eski bir sürümde başlatılan cihazlar için, ürünün ilk derlemesine ilişkin ro.product.first_api_level özelliğinin ayarını kaldırın (kaldırın). Sonraki tüm derlemeler için ro.product.first_api_level doğru API düzeyi değerine ayarlayın. Bu, özelliğin yeni bir ürünü doğru şekilde tanımlamasına olanak tanır ve ürünün ilk API düzeyine ilişkin bilgileri korur. Bayrak ayarlanmadıysa Android, Build.VERSION.SDK_INT ro.product.first_api_level öğesine atar.

CTS dolgu paketleri

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

APEX dolgu doğrulama testi, CtsShimApex uygulanmasını doğrular.

ro.apex.güncellenebilir gereksinimler

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

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

APEX dolgu doğrulama testi, CtsShimApex uygulanmasını doğrular.

CtsShim ön kurulumları ve ön yüklemeleri

Android 11'den itibaren CtsShimApex , manifest dışında herhangi bir kod içermeyen iki önceden oluşturulmuş uygulama ( derleme kaynağından oluşturulmuş) 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 eksik veya ayarlanmamışsa) veya cihaz sürüm 10 veya daha düşük bir sürümü çalıştırıyorsa, önceden oluşturulmuş iki uygulamanın APEX'e önceden yüklenmesi gerekir. sistemi ayrı ayrı.

APEX destekleniyorsa uygun sürüm için ön kurulumlar /system/apex/com.android.apex.cts.shim.apex olarak yerleştirilmelidir.

Düzenli önceden oluşturulmuş 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 mimarisi için mevcut olan ön kurulumlar ve ön yüklemeler listelenmektedir.

Cihaz Sürümü Ön yükleme
(APEX destekleniyorsa)
Ön yükleme
KOL x86 KOL x86
Android14 android14 kollu serbest bırakma android14-x86 sürümü android14-kollu-CtsShim.apk

android14-kollu-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

Android 13 android13-kol serbest bırakma android13-x86 sürümü android13-arm-CtsShim.apk

android13-kol-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

Android 12 android12-kol serbest bırakma android12-x86 sürümü android12-arm-CtsShim.apk

android12-kollu-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

Android 11 android11-kol serbest bırakma android11-x86 sürümü android11-arm-CtsShim.apk

android11-kol-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

Android 10 android10 sürümü android10-kol-CtsShim.apk

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

Örnek uygulama

Android 9, Open Mobile API'lerini tanıttı. Birden fazla güvenli öğe bildiren cihazlar için CTS, Açık Mobil API'lerin davranışını doğrulamak amacıyla test senaryoları ekler. Bu test senaryoları, örnek bir uygulamanın DUT'un yerleşik Secure Element'ine (eSE) veya DUT tarafından kullanılan SIM karta bir kerelik kurulumunu gerektirir. eSE örnek uygulaması ve SIM örnek uygulaması AOSP'de bulunabilir.

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

Depolama gereksinimleri

CTS ortam stres testleri, video kliplerin harici depolama biriminde ( /sdcard ) olmasını gerektirir. Kliplerin çoğu, Creative Commons Atıf 3.0 lisansı kapsamında telif hakkı Blender Foundation'a ait 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ı belgesindeki 5. bölüme bakın.

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

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

Ekran ve depolama

  • Gömülü ekranı olmayan herhangi bir cihazın bir ekrana bağlanması gerekir.
  • Cihazda hafıza kartı yuvası varsa boş bir SD kartı takın. CTS'yi geçebildiğinden emin olmak için, SDHC veya SDXC kapasiteli ultra yüksek hızlı (UHS) veriyolunu destekleyen ya da en az 10 veya daha yüksek hız sınıfına sahip bir SD kart kullanın.

  • Cihazda SIM kart yuvaları varsa, her yuvaya etkinleştirilmiş bir SIM kartı takın. Cihaz SMS'i destekliyorsa her SIM kartın kendi numara alanı doldurulmalıdır. Android 12 veya üstünü çalıştıran cihazlarda, tüm SIM kartların kısaltılmış arama numaralarını (ADN) saklama desteğine sahip olması gerekir. Telekoma özel dosyaya (DF Telecom ) sahip GSM ve USIM kartları bu gereksinimi karşılar.

Geliştirici UICC

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

Android cihaz yapılandırması

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

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

  3. Cihaz varsayılan yazı tiplerini özelleştirmeyi destekliyorsa, varsayılan sans-serif yazı tipi ailesini Roboto (AOSP yapılarında kullanılan varsayılan sans-serif yazı tipi ailesi) olarak ayarlayın.

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

  5. IPv6'yı destekleyen, DUT'u yalıtılmış bir istemci olarak değerlendirebilen (yukarıdaki Fiziksel ortam konusuna bakın) ve internet bağlantısı olan bir Wi-Fi ağına bağlanın: Ayarlar > Wi-Fi .

  6. Cihazda herhangi bir kilit düzeninin veya şifrenin ayarlanmadığından emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok .

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

  8. Saati 12 saatlik formata ayarlayın: Ayarlar > Tarih ve saat > 24 saatlik formatı 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ğrulamasını 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 Modeme İzin Ver > Açık .

  13. Tarayıcıyı başlatın ve herhangi bir başlangıç/kurulum ekranı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ının erişebileceği uygunluk (gizli değil) ayarını kullanarak Roboto2'yi sans-serif yazı tipi olarak ayarlayın.

Dosya kurulumu

Yardımcı uygulamaları cihaza yükleyin ve yapılandırın.

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

    • CTS 2.1 R2 ila 4.2 R4 sürümleri: Erişilebilirlik testlerini aşağıdakilerle çalıştıracak şekilde cihazınızı (veya emülatörünüzü) ayarlayın: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Cihazda yetkilendirmeyi etkinleştirin: Ayarlar > Erişilebilirlik > Erişilebilirlik > Erişilebilirlik Hizmeti Yetkisi Verme .

    • CTS sürümleri 6.x veya daha düşük: android.software.device_admin bildiren cihazlarda, cihazınızı aşağıdakileri kullanarak cihaz yönetimi 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ışı kaldığı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ırıldığı yola ( cd ) gidin.
    2. Dosya izinlerini değiştirin: chmod u+x copy_media.sh

    3. Gerekli dosyaları kopyalayın:

      • 720x480 çözünürlüğe kadar klipleri kopyalamak için şunu ç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 sonuna belirli bir cihazın seri seçeneğini ( -s ) ekleyin. Örneğin, 1234567 seri numaralı cihaza 720x480'e kadar kopyalamak için şunu çalıştırın:

        ./copy_media.sh 720x480 -s 1234567