CTS'yi çalıştırmak için önce fiziksel ortamınızı, masaüstü makinenizi ve kullandığınız Android cihazını test için hazırlayın.
Fiziki çevre
Bluetooth LE işaretleri
Test edilen cihaz (DUT) Bluetooth LE'yi destekliyorsa, Bluetooth LE tarama testi için DUT'nin 5 metre yakınına en az üç Bluetooth LE işaretçisi yerleştirin. Bu işaretlerin yapılandırılması veya belirli bir şey yayması gerekmez ve iBeacon, Eddystone ve hatta BLE işaretlerini simüle eden cihazlar dahil olmak üzere herhangi bir tür olabilir.
kameralar
Kamera CTS'sini çalıştırırken, bir test deseni çizelgesiyle (dama tahtası deseni gibi) normal aydınlatma koşullarını kullanın. Objektife çok yakın olmadığından emin olmak için test deseni tablosunu DUT'nin minimum odak mesafesine göre yerleştirin.
Kamera sensörlerini, test edilen sensörlerin CONTROL_AE_TARGET_FPS_RANGE
içinde belirtilen maksimum yapılandırılmış saniyedeki hedef kare sayısına (FPS) ulaşmasına ve burada kalmasına izin vermek için yeterli aydınlatmaya sahip bir sahneye doğrultun. Bu, test listelenen cihazlar üzerinde yinelendiğinden ve performansı ayrı ayrı ölçtüğünden, 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, alım ve GPS konum hesaplaması için DUT'a uygun bir sinyal düzeyinde bir GPS/GNSS sinyali sağlayın. GPS kısmı, ICD-GPS-200C ile uyumlu olmalıdır. Aksi takdirde, GPS/GNSS sinyali, bir uydu simülatörü veya dış mekan sinyallerinin bir GPS/GNSS tekrarlayıcısı dahil olmak üzere herhangi bir türde olabilir veya DUT'yi, 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'li bir internet bağlantısına sahip olan, IP çok noktaya yayınını destekleyen ve DUT'yi yalıtılmış bir istemci olarak değerlendirebilen bir Wi-Fi ağı gerektirir. Yalıtılmış bir istemci , DUT'nin o alt ağdaki yayın/çoklu ağ mesajlarına görünürlüğünün olmadığı bir yapılandırmadır. Bu, bir Wi-Fi erişim noktası (AP) yapılandırmasıyla veya DUT'yi başka cihazlar bağlanmadan yalıtılmış bir alt ağda çalıştırarak gerçekleşir.
IPv6'ya bağlı olarak bazı testleri geçmek için yerel bir IPv6 ağına, bir IPv6 taşıyıcı ağına veya 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, Wi-Fi arayüzünde ayarlanmış UP
, BROADCAST
ve MULTICAST
bayraklarına ihtiyaç duyar. Wi-Fi arayüzünün atanmış IPv4 ve IPv6 adreslerine ihtiyacı vardır. adb shell ifconfig
ile Wi-Fi arayüzü özelliklerini kontrol edin.
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 bir ağ bağlantısı gerektirmez. Erişim noktalarının test cihazının yanında olması gerekmez, ancak DUT'nin 40 fit içinde olması önerilir. Genellikle bir erişim noktası yeterlidir.
Masaüstü makine kurulumu
ADB ve AAPT
CTS'yi çalıştırmadan önce, hem Android Debug Bridge (adb) hem de Android Asset Packaging Tool'un (AAPT) son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun.
ADB'yi kurmak için, işletim sisteminiz için Android SDK Tools paketini indirin, açın ve verilen BENİOKU dosyasındaki talimatları izleyin. Sorun giderme bilgileri için, bkz . Bağımsız SDK Araçlarını Yükleme .
adb
ve aapt
sistem yolunuzda olduğundan emin olun. Aşağıdaki komut, paket arşivini ana dizininizde açtığınızı varsayar:
export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version
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ı izleyerek platformunuz için virtualenv
kurun.
virtualenv -h
ç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 arabirimleriyle (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
Cihazınızı algılamak için sisteminizi kurmak için adımı izleyin.
hafıza sınırı
cts-tradfed komut dosyasında 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ı/serbest bırakma anahtarı imzalı yapıya sahip bir cihaz olarak tanımlanır. Cihazınız, Kod Adları, Etiketler ve Yapı Numaralarından uyumlu olduğu bilinen kullanıcı derlemesine (Android 4.0 veya üstü) dayalı bir sistem görüntüsü çalıştırıyor olmalıdır.
İlk API düzeyinde yapı özelliği
Belirli CTS gereksinimleri, bir cihazın orijinal olarak birlikte gönderildiği yapıya bağlıdır. Örneğin, orijinal olarak daha önceki yapılarla birlikte gelen cihazlar, sonraki yapılarla birlikte gönderilen cihazlar için geçerli olan sistem gereksinimlerinden hariç tutulabilir.
Bu bilgiyi CTS'ye sunmak için, cihaz üreticileri ro.product.first_api_level
oluşturma zamanı özelliğini 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ükseltmesi olarak yeni bir ürün başlatmak için ortak temel uygulamayı yeniden kullanabilir. Cihaz üreticileri isteğe bağlı olarak mevcut ürünün API seviyesini 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 device.mk
dosyasında PRODUCT_SHIPPING_API_LEVEL
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 üzeri için ilk API seviyesi
Android 9 veya sonraki sürümlerle başlatılan cihazlar için ro.product.first_api_level
özelliğini Codenames, Tags ve Build Numbers'dan geçerli bir değere ayarlayın.
Android 8.x veya altı için ilk API düzeyi
Android 8.x veya önceki sürümlerde başlatılan cihazlar için, ürünün ilk yapısı için ro.product.first_api_level
özelliğini kaldırın (kaldırın). Sonraki tüm yapılar için ro.product.first_api_level
doğru API düzeyi değerine ayarlayın. Bu, mülkün yeni bir ürünü doğru bir şekilde tanımlamasını sağlar ve ürünün ilk API düzeyi hakkındaki bilgileri korur. Bayrak ayarlanmamışsa, Android, Build.VERSION.SDK_INT öğesini Build.VERSION.SDK_INT
ro.product.first_api_level
atar.
CTS şim paketleri
Android 10 veya üstü, APEX adlı bir paket biçimi içerir. APEX yönetim API'leri için CTS testlerini ç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üklemelisiniz.
APEX dolgu doğrulama testi, CtsShimApex
uygulanmasını doğrular.
ro.apex.updatable
gereksinimler
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 ayarlanmadıysa,CtsShimApex
bir cihaza önceden yüklenmesi gerekmez.
APEX dolgu doğrulama testi, CtsShimApex
uygulanmasını doğrular.
CtsShim
ön yüklemeleri ve önyüklemeleri
Android 11'den başlayarak, CtsShimApex
, bildirim dışında herhangi bir kod içermeyen iki önceden oluşturulmuş uygulama ( build kaynağından oluşturulmuştur ) 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) veya cihaz 10 veya daha düşük bir sürümü çalıştırıyorsa, önceden oluşturulmuş iki uygulama sistem ayrı.
Cihaz Sürümü | ön yükleme (APEX destekleniyorsa) | ön yükleme | ||
---|---|---|---|---|
KOL | x86 | KOL | x86 | |
Android 12 | android12-kol bırakma/system/apex/com.android.apex.cts.shim.apex altında | android12-x86 sürümü/system/apex/com.android.apex.cts.shim.apex altında | android12-kol-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android12-arm-CtsShimPriv.apk | android12-x86-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android12-x86-CtsShimPriv.apk |
Android 11 | android11-kol bırakma/system/apex/com.android.apex.cts.shim.apex altında | android11-x86 sürümü/system/apex/com.android.apex.cts.shim.apex altında | android11-arm-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android11-arm-CtsShimPriv.apk | android11-x86-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android11-x86-CtsShimPriv.apk |
Android 10 | android10 sürümü/system/apex/com.android.apex.cts.shim.apex altında | android10-arm-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android10-arm-CtsShimPriv.apk | android10-x86-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında android10-x86-CtsShimPriv.apk | |
Android 9, O ve O-MR1 | Yok | Yok | arm-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında arm-CtsShimPriv.apk | x86-CtsShim.apk/system/app/CtsShimPrebuilt.apk altında x86-CtsShimPriv.apk |
Testleri geçmek için uygulamaları yeniden imzalamadan 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, Open Mobile API'lerinin davranışını doğrulamak için test senaryoları ekler. Bu test durumları, bir örnek uygulamanın DUT'un yerleşik Güvenli Öğesine (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 Güvenli Öğe için CTS Testi'ne bakın.
Depolama gereksinimleri
CTS ortam stres testleri, video kliplerin harici depolamada ( /sdcard
) olmasını gerektirir. Kliplerin çoğu, Creative Commons Atıf 3.0 lisansı altında Blender Vakfı'na ait olan Big Buck Bunny'den 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ı 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: 1863 MB
Ekran ve depolama
- Katıştırılmış 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çebilmesini sağlamak için SDHC veya SDXC kapasiteli ultra yüksek hızlı (UHS) veri yolunu destekleyen veya en az hız sınıfı 10 veya daha yüksek olan 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 sonraki sürümleri çalıştıran cihazlarda, tüm SIM kartların kısaltılmış arama numaralarını (ADN) kaydetme desteği olmalıdır. Telekomünikasyona özel dosyaya (DF Telecom ) 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 > Yedekle ve sıfırla > Fabrika verilerine sıfırla .
Cihazınızın dilini İngilizce ( Amerika Birleşik Devletleri ) olarak ayarlayın : Ayarlar > Dil ve giriş > Dil .
Aygıt varsayılan yazı tiplerini özelleştirmeyi destekliyorsa, varsayılan
sans-serif
yazı tipi ailesiniRoboto
olarak ayarlayın (AOSP yapılarında kullanılan varsayılansans-serif
yazı tipi ailesi).Cihazda bir GPS veya Wi-Fi/hücresel ağ özelliği varsa konum ayarını açın: Ayarlar > Konum > Açık .
IPv6'yı destekleyen, DUT'a yalıtılmış bir istemci olarak davranabilen (yukarıdaki Fiziksel ortam bölümüne bakın) ve internet bağlantısı olan bir Wi-Fi ağına bağlanın: Ayarlar > Wi-Fi .
Cihazda herhangi bir kilit deseni veya parola ayarlanmadığından emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok .
Cihazınızda USB hata ayıklamasını etkinleştirin: Ayarlar > Geliştirici seçenekleri > USB hata ayıklama .
Saati 12 saat biçimine ayarlayın: Ayarlar > Tarih ve saat > 24 saat 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'te 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ğrulamasını kapatı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 Modeme İzin Ver > Açık .
Tarayıcıyı başlatın ve herhangi bir başlangıç/kurulum ekranı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şilebilir bir uygunluk (gizli değil) ayarını kullanarak Roboto2'yi sans-serif yazı tipi olarak ayarlayın.
Dosya kurulumu
Cihaza yardımcı uygulamaları yükleyin ve yapılandırın.
Cihazınızı CTS sürümünüze göre ayarlayın:
CTS sürümleri 2.1 R2 ila 4.2 R4: Cihazınızı (veya öykünücünüzü) aşağıdakilerle erişilebilirlik testlerini çalıştıracak şekilde ayarlayın:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
Cihazda yetkilendirmeyi etkinleştirin: Ayarlar > Erişilebilirlik > Erişilebilirlik > Erişilebilirlik Hizmeti Temsilcisi Atma .
CTS 6.x veya daha düşük sürümleri:
android.software.device_admin
bildiren 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çin , iki
android.deviceadmin.cts.CtsDeviceAdminReceiver*
cihaz yöneticisini etkinleştirin.android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
ve diğer önceden yüklenmiş cihaz yöneticilerinin devre dışı kaldığından emin olun.
CTS medya dosyalarını cihaza aşağıdaki gibi kopyalayın:
- Medya dosyalarının indirildiği ve sıkıştırıldığı yola gidin (
cd
). Dosya izinlerini değiştirin:
chmod u+x copy_media.sh
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, belirli bir cihazın seri seçeneğini (
-s
) sonuna ekleyin. Örneğin, seri 1234567 olan cihaza 720x480'e kadar kopyalamak için şunu çalıştırın:./copy_media.sh 720x480 -s 1234567
- Medya dosyalarının indirildiği ve sıkıştırıldığı yola gidin (