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:
Şu komutu çalıştırarak cihazda Android API düzeyini alın:
adb shell getprop ro.build.version.sdk
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ğitrue
olarak ayarlanırsa APEX paket yönetimini destekleyen tüm cihazlar içinCtsShimApex
gerekir.ro.apex.updatable
özelliği yoksa veya ayarlanmamışsaCtsShimApex
ü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-x86-CtsShim.apk |
Android 13 | android13-arm-sürümü | android13-x86-sürümü | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Android 12 | android12-arm-sürümü | android12-x86-sürümü | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | android11-arm-sürümü | android11-x86-sürümü | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | android10 sürümü | android10-arm-CtsShim.apk | android10-x86-CtsShim.apk | |
Android 9, O ve O-MR1 | Yok | Yok | arm-CtsShim.apk | x86-CtsShim.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ı
Cihazı fabrika verilerine sıfırlayın: Ayarlar > Yedekleme ve sıfırlama > Fabrika verilerine sıfırlama.
Cihazınızın dilini İngilizce (ABD) olarak ayarlayın: Ayarlar > Dil ve giriş > Dil.
Cihaz, varsayılan yazı tiplerinin özelleştirilmesini destekliyorsa varsayılan
sans-serif
yazı tipi ailesiniRoboto
(AOSP derlemelerinde kullanılan varsayılansans-serif
yazı tipi ailesi) olarak ayarlayın.Cihazda GPS veya kablosuz/hücresel ağ özelliği varsa konum ayarını açın: Ayarlar > Konum > Açık.
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).
Cihazda kilit deseni veya şifre belirlenmediğinden emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok.
Cihazınızda USB üzerinden hata ayıklama'yı etkinleştirin: Ayarlar > Geliştirici seçenekleri > USB üzerinden hata ayıklama.
Saati 12 saatlik biçimde ayarlayın: Ayarlar > Tarih ve saat > 24 saatlik biçimini kullan > Kapalı.
Cihazı uyanık kalacak şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Uyanık Kal > Açık.
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.
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ı.
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.Tarayıcıyı başlatın ve başlangıç/kurulum ekranlarını kapatın.
Cihazı test etmek için kullanılacak masaüstü makineyi bir USB kablosuyla bağlayın.
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.
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.
CTS medya dosyalarını cihaza aşağıdaki şekilde kopyalayın:
- Medya dosyalarının indirildiği ve sıkıştırmasının açıldığı yola (
cd
) gidin. Dosya izinlerini değiştirin:
chmod u+x copy_media.sh
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
- Medya dosyalarının indirildiği ve sıkıştırmasının açıldığı yola (