CTS'yi çalıştırmak için önce fiziksel ortamınızı, masaüstü bilgisayarınızı 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 yeterince yakın bir yere yerleştirilmeli ve anten ile radyo ölü bölgesi olmaması için yönlendirilmelidir. Mesafe doğruluğu testleri için belirli konumlandırma ve yön gereksinimleri vardır. Kurulum ayrıntıları için UWB 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 cihazlar üzerinde iterasyon yaparak performansı ayrı ayrı ölçtüğü için bu durum getCameraIdList
tarafından raporlanan 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'yi bir pencereye yeterince yakın olacak şekilde yerleştirerek doğrudan yeterli GPS/GNSS sinyali alabilirsiniz.
Kablosuz bağlantı 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. İzole istemci, DUT'nun ilgili alt ağdaki yayın/çok 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.
DUT'un CTS'yi geçebilmesi için kablosuz arayüzde UP
, BROADCAST
ve MULTICAST
işaretlerinin ayarlanması gerekir. Kablosuz 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 ağ gidiş dönüş süresi (RTT) özelliği için Kablosuz Ağ RTT API'sini 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'un 1 metre yakınında olması önerilir. Genellikle bir erişim noktası yeterlidir. Tutarlı kablosuz RTT CTS testi sonuçları için kanalın düşük kullanım oranına sahip olduğundan emin olun.
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ünü 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ı ile 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.
Ana hatla 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
Ana CTS dosyalarını indirmek için
download_mcts.sh
komut dosyasında yer alan 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ızda, Kod Adları, Etiketler ve Derleme Numaraları bölümünde uyumlu olduğu bilinen kullanıcı derlemesini (Android 4.0 veya üzeri) temel alan bir sistem görüntüsü çalışmalı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 daha eski sürümlerle birlikte gönderilen cihazlar, daha yeni sürümlerle 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 ilk 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 sayede mülk, yeni bir ürünü doğru şekilde tanımlayabilir 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 kalınlık artırıcı paketler
Android 10 veya sonraki sürümlerde APEX adlı bir paket biçimi bulunur. 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'in önceden yüklediği ve önceden yüklediği öğeler
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 mimarisi 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-release | android15-arm-CtsShim.apk | android15-x86-CtsShim.apk |
Android 14 | android14-arm-release | 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'da Open Mobile API'ler kullanıma sunulmuştur. 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 bir kez yüklenmesini gerektirir. eSE örnek applet'ini ve SIM örnek applet'ini AOSP'de bulabilirsiniz.
Open Mobile API test durumları ve erişim denetimi test durumları hakkında daha ayrıntılı bilgi için Güvenli Öğe için CTS Testi başlıklı makaleyi inceleyin.
Depolama alanı koşulları
CTS medya stres testleri, video kliplerin harici depolama alanında (/sdcard
) olmasını gerektirir. 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 tarafından desteklenen 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 aşağıda verilmiştir:
- 480x360: 98 MB
- 720x480: 193 MB
- 1280x720: 606 MB
- 1920x1080: 1.863 MB
Ekran ve depolama alanı
- Yerleşik ekranı olmayan cihazların 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 etkinleştirilmiş 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 cihazlarda tüm SIM kartlar kısa numaraları (ADN) depolama desteğine sahip olmalıdır. 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ırla.
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şleyebilen (yukarıdaki Fiziksel ortam bölümüne bakın) ve internet bağlantısı olan bir cihaz olmalıdır: Ayarlar > Kablosuz.
Cihazınızda kilit deseninin veya şifresinin ayarlanmadığından 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çime ayarlayın: Ayarlar > Tarih ve saat > 24 saatlik biçimi 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 modem özelliğine izin verecek şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Sahte Modeme İzin Ver > Açık.
Tarayıcıyı başlatın ve tüm 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ının erişebileceği bir imkanı (gizli olmayan) 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:
CTS 2.1 R2 ile 4.2 R4 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
Cihazınızda yetkilendirmeyi etkinleştirin: Ayarlar > Erişilebilirlik > Erişilebilirlik > Erişilebilirlik Hizmeti'ni Yetkilendirme.
CTS 6.x veya daha eski sürümler:
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ığını doğrulayın.
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ştirme:
chmod u+x copy_media.sh
Gerekli dosyaları kopyalayın:
Klipleri 720x480 çözünürlüğe kadar kopyalamak için:
./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 numarası seçeneğini (
-s
) sonuna 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 (