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 ortam
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ı veya belirli bir şey yayması gerekmez. iBeacon, Eddystone ve hatta BLE işaretçilerini taklit eden cihazlar da dahil olmak üzere her türden olabilirler.
Ultra geniş bant
DUT ultra geniş bandı (UWB) destekliyorsa UWB'yi destekleyen başka bir cihaz, antene ve radyo ölü bölgesi olmaması için yeterince yakın bir yere yerleştirilmeli ve yönlendirilmelidir. Mesafe doğruluğu testleri için belirli konumlandırma ve yön gereksinimleri vardır. Kurulum ayrıntıları için Ultra geniş bant gereksinimleri bölümüne bakın. Ultra geniş bant testi, komut satırında hangi iki cihazın bir metre uzaklıkta olduğu belirtilerek manuel olarak çalıştırılmalıdır. Bu test için gerekli olan bölümleme hakkında ayrıntılı bilgi için Yerel bölümleme bölümüne bakın.
Kameralar
Kamera CTS'sini çalıştırırken test desen grafiği (damarlı desen gibi) ile normal ışık koşullarını kullanın. Test kalıbı grafiğini, lense çok yakın olmadığından emin olmak için DUT'un 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 yapılandırılmış maksimum saniyedeki hedef kare sayısına (FPS) ulaşmasına ve bu sayıyı korumasına olanak tanıyacak şekilde yeterli ışıklandırmaya sahip bir sahneye doğrultun.
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 sistemi/küresel navigasyon uydu sistemi (GPS/GNSS) özelliğini destekliyorsa DUT'ya, alım ve GPS konum hesaplaması için uygun bir sinyal seviyesinde GPS/GNSS sinyali sağlayın. GPS bölümü, ICD-GPS-200C ile uyumlu olmalıdır. Aksi takdirde, GPS/GNSS sinyali bir uydu simülasyon cihazı veya dış mekan sinyallerinin GPS/GNSS tekrarlayıcısı da dahil olmak üzere her türden olabilir. Alternatif olarak, DUT'yu bir pencereye yeterince yakın olacak şekilde yerleştirerek doğrudan yeterli GPS/GNSS sinyali alabilirsiniz.
Kablosuz ve IPv6
CTS testleri için IPv4 ve IPv6'yı destekleyen, IPv4 ve IPv6 için çalışan DNS'ye sahip bir internet bağlantısı bulunan, IP çoklu yayını destekleyen ve DUT'yu izole bir istemci olarak değerlendirebilen 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ında veya DUT'nun diğer cihazlar bağlı olmadan izole bir alt ağda çalıştırılmasıyla ortaya çıkar.
IPv6'ya bağlı 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 arayüz özelliklerini kontrol edin.
Kablosuz STA/STA eşzamanlılığını destekleyen cihazlar için birden fazla kablosuz ağ (en az 2) gerekir. CTS'yi geçmek için kablosuz ağların farklı SSID'lere sahip farklı bantlarda veya farklı BSSID'lere sahip aynı SSID'de ç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 sayede cihazlar, erişim noktalarına olan mesafelerini 1 ila 2 metre doğrulukla ölçebilir ve kapalı mekan konum doğruluğunu önemli ölçüde artırabilir. Kablosuz RTT'yi destekleyen önerilen iki cihaz Google Wifi ve Compulab'ın fitlet2 erişim noktasıdır (5 GHz'te 40 MHz bant genişliğine ayarlanmıştır).
Erişim noktaları açık olmalıdır ancak ağ bağlantısı gerekmez. 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
Barındırıcı makineye ffmpeg 5.1.3 (veya sonraki) sürüm paketini yükleyin.
Ana makine koşulu
CTS ana makinesi için minimum gereksinim 32 GiB RAM ve 256 GiB disk kapasitesidir. Bu, artan CTS test örneği sayısını ve Tradefed'de Java yığın alanı rezervasyonundaki artışı karşılamak için gereklidir.
ADB ve AAPT2
CTS'yi çalıştırmadan önce hem Android Hata Ayıklama Köprüsü (adb) hem de Android Asset Packaging Tool (AAPT2)'ın 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ö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
dosyalarının sistem yolu içinde olduğ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 gereksinimleri başlıklı makaleye bakın.
Python desteği için kurulum
Yükleme talimatlarını uygulayarak platformunuz için virtualenv
'ü yükleyin.
virtualenv -h
çağrısını yaparak yüklemenin başarılı olduğunu doğrulayabilirsiniz.
CTS dosyaları
Cihazlarınızın Android sürümüne ve destekledikleri tüm uygulama ikili arayüzlerine (ABI'ler) uygun CTS paketlerini Uyumluluk Test Paketi İndirmeleri'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, ana hatla ilgili bazı CTS dosyalarını dinamik olarak indirir. Bu işlem, 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:
Aşağıdaki komutu çalıştırarak cihazdaki Android API düzeyini öğrenin:
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ırma sırasında kullanılabilen maksimum belleği artırabilirsiniz. Daha fazla bilgi için örnek CL'ye bakın.
Android cihaz kurulumu
Kullanıcı derlemeleri
Uyumlu cihaz, kullanıcı/sürüm anahtarıyla imzalanan bir derlemeye sahip cihaz olarak tanımlanır. Cihazınız, Kod Adları, Etiketler ve Derleme Numaraları üzerinden 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.
İlk API düzeyi derleme mülkü
Belirli CTS şartları, cihazın ilk 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'ye sunmak için derleme zamanı mülkü ro.product.first_api_level
'ü tanımlayabilir. 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 lansmanı yapmak 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 şartları uygulanır.
Cihaz üreticileri, bu özelliği ayarlamak için device.mk
dosyalarında PRODUCT_SHIPPING_API_LEVEL
değerini tanımlayabilir. Aşağıdaki örnekte gösterildiği gibi:
# 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 bir sürümle kullanıma sunulan cihazlarda ro.product.first_api_level
mülkünü Kod Adları, Etiketler ve Yapı Numaraları'ndan 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 daha eski sürümlerde kullanıma sunulan cihazlar için ürünün ilk derlemesinin ro.product.first_api_level
mülkünün 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 kaldırılırsa Android, Build.VERSION.SDK_INT
değerini ro.product.first_api_level
değerine atar.
CTS uyumluluğu için ara parça paketleri
Android 10 veya sonraki sürümler APEX adlı bir paket biçimi içerir. APEX yönetim API'leri için CTS testlerini çalıştırmak üzere (ör. yeni bir sürüme güncelleme veya etkin APEX'leri bildirme) bir CtsShimApex
paketini /system
bölümüne önceden yüklemeniz gerekir.
APEX dolgu doğrulama testi, CtsShimApex
öğesinin uygulanmasını doğrular.
ro.apex.updatable koşulları
ro.apex.updatable
mülkütrue
olarak ayarlanmışsa APEX paket yönetimini destekleyen tüm cihazlar içinCtsShimApex
gereklidir.ro.apex.updatable
özelliği eksikse veya ayarlanmamışsaCtsShimApex
'un cihaza önceden yüklenmesi gerekmez.
APEX dolgu doğrulama testi, CtsShimApex
öğesinin uygulanmasını doğrular.
CtsShim önceden yükler ve önceden yükler
Android 11'den itibaren CtsShimApex
, manifest dışında kod içermeyen iki önceden derlenmiş uygulama (derleme kaynağından derlenmiştir) 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
mülkü eksik veya ayarlanmamışsa) veya cihazda 10 veya daha eski bir sürüm yüklüyse iki önceden oluşturulmuş uygulama sisteme ayrı ayrı önceden yüklenmiş olmalıdır.
APEX destekleniyorsa ilgili sürümün ön yüklemeleri /system/apex/com.android.apex.cts.shim.apex
olarak yerleştirilmelidir.
Normal ö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 mimari için kullanılabilen ön yüklemeler listelenmiştir.
Cihaz Sürümü | 'ü önceden yükleme (APEX destekliyorsa) |
Önceden Yükle | ||
---|---|---|---|---|
ALARMI ETKİNLEŞTİR | x86 | ALARMI ETKİNLEŞTİR | x86 | |
Android 15 | android15-arm-release | android15-x86-sürümü | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk |
Android 14 | android14-arm-sürümü | android14-x86-release | android14-arm-CtsShim.apk | android14-x86-CtsShim.apk |
Android 13 | android13-arm-release | android13-x86-release | android13-arm-CtsShim.apk | android13-x86-CtsShim.apk |
Android 12 | android12-arm-release | android12-x86-release | android12-arm-CtsShim.apk | android12-x86-CtsShim.apk |
Android 11 | android11-arm-release | android11-x86-release | android11-arm-CtsShim.apk | android11-x86-CtsShim.apk |
Android 10 | android10-release | 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ünde uygun dizinlere önceden yükleyin.
Örnek applet
Android 9, Open Mobile API'leri kullanıma sundu. Birden fazla güvenli öğe bildiren cihazlar için CTS, Open Mobile API'lerinin davranışını doğrulamak üzere test örnekleri ekler. Bu test senaryoları, örnek bir applet'in DUT'un yerleşik güvenli öğesine (eSE) veya DUT tarafından kullanılan SIM karta tek seferlik yüklenmesini gerektirir. eSE örnek applet'ini ve SIM örnek applet'ini AOSP'de bulabilirsiniz.
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 (/sdcard
) olması gerekir. Kliplerin çoğu, Creative Commons Attribution 3.0 lisansı kapsamında Blender Foundation tarafından telif hakkıyla korunan Big Buck Bunny'dan 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'den geçebilmesi için SDHC veya SDXC kapasiteli ultra yüksek hızlı (UHS) veriyolunu destekleyen bir SD kart veya 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 etkin bir SIM kart takın. Cihaz SMS'yi destekliyorsa her SIM kartın 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. Telekomun özel dosyasına (DFTelecom) sahip GSM ve USIM kartları bu koşulu 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 şartları 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 (Amerika Birleşik Devletleri) olarak ayarlayın: Ayarlar > Dil ve giriş > Dil.
Cihaz varsayılan yazı tiplerini özelleştirmeyi 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'yu yalıtılmış istemci olarak işleyebilir (yukarıdaki Fiziksel ortam bölümüne bakın) ve internet bağlantısı olmalıdır: Ayarlar > Kablosuz.
Cihazda kilit deseni veya şifre belirlenmediğinden emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok.
Cihazınızda USB üzerinden hata ayıklamayı 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ı açık kalacak şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Açı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 üzerinden uygulama doğrulamasını devre dışı bırakın: Ayarlar > Geliştirici seçenekleri > USB üzerinden uygulamaları 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.
Tarayıcıyı başlatın ve başlangıç/kurulum ekranlarını kapatın.
Cihazı test etmek için kullanılacak masaüstü bilgisayarı USB kablosuyla bağlayın.
CTS'yi çalıştırmadan önce, kullanıcı tarafından erişilebilir (gizli değil) ayarını kullanarak Roboto2'yi sans-serif yazı tipi olarak ayarlayın.
Dosya yükleme
Cihazlara yardımcı uygulamaları yükleyip yapılandırabilirsiniz.
Cihazınızı CTS sürümünüze göre ayarlayın:
2.1 R2 ile 4.2 R4 arasındaki CTS sürümleri: Cihazınızı (veya emülatörünü) erişilebilirlik testlerini çalıştıracak şekilde 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 gidin (
cd
). 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'e kadar kopyalamak 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 gidin (