CTS'yi çalıştırmak için önce fiziksel ortamınızı, masaüstü makinenizi ve test için kullandığınız Android cihazı 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ı 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'yi çalıştırırken, bir test modeli çizelgesiyle (bir dama tahtası deseni gibi) normal aydınlatma koşullarını kullanın. Lense çok yakın olmadığından emin olmak için test deseni çizelgesini DUT'un minimum odak mesafesine göre yerleştirin.
Kamera sensörlerini, test edilen sensörlerin
CONTROL_AE_TARGET_FPS_RANGE belirtildiği gibi saniyede maksimum yapılandırılmış hedef çerçeveye (FPS) ulaşmasına ve bu çerçevede kalmasına izin vermek için yeterli aydınlatmaya sahip bir sahneye
CONTROL_AE_TARGET_FPS_RANGE . Bu, test listelenen cihazlar üzerinde yinelendiğinde 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 ç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 uygun bir sinyal seviyesinde DUT'a 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'u, doğrudan yeterli GPS / GNSS sinyalini alabilecek şekilde bir pencereye yeterince yakın bir yere yerleştirebilirsiniz.
Wi-Fi ve IPv6
CTS testleri, IPv6'yı destekleyen, internet bağlantısı olan ve DUT'u yalıtılmış bir istemci olarak ele alabilen bir Wi-Fi ağı gerektirir. İzole edilmiş bir istemci, DUT'un o alt ağdaki yayın / çoklu ağ mesajlarına görünürlüğünün olmadığı bir konfigürasyonu ifade eder. Bu, bir Wi-Fi AP yapılandırmasıyla veya DUT'u diğer cihazlar bağlanmadan izole bir alt ağ üzerinde ç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. Wikipedia'nın IPv6 tünel aracıları listesine bakın.
Wi-Fi RTT
Android, Wi-Fi gidiş dönüş süresi (RTT) özelliği için Wi-Fi RTT API içerir. Bu, cihazların erişim noktalarına olan mesafelerini 1 ila 2 metre hassasiyetle ölçerek iç mekan konum doğruluğunu önemli ölçüde artırı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'un 40 fit yakınında olması önerilir. Genellikle bir erişim noktası yeterlidir.
Masaüstü makine kurulumu
ADB ve AAPT
CTS'yi çalıştırmadan önce, hem Android Hata Ayıklama Köprüsü'nün (adb) hem de Android Varlık Paketleme Aracı'nın (AAPT) son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun.
ADB'yi yüklemek için, işletim sisteminiz için Android SDK Tools paketini indirin, açın ve birlikte verilen README dosyasındaki talimatları izleyin. Sorun giderme bilgileri için bkz . Bağımsız SDK Araçlarını Kurma .
adb ve
aapt sistem
aapt olduğundan emin olun. Aşağıdaki komut, ana dizininizde paket arşivini 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 .
CTS dosyaları
Cihazlarınızın Android sürümü ve cihazlarınızın desteklediği tüm uygulama ikili arayüzleri (ABI'ler) ile eşleşen Uyumluluk Test Paketi İndirmelerinden 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ılayacak şekilde sisteminizi kurma adımını izleyin.
Bellek sınırı
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, Codenames, Tags ve Build Numbers'dan uyumlu olduğu bilinen kullanıcı yapısına (Android 4.0 veya üstü) dayalı bir sistem görüntüsü çalıştırıyor olmalıdır.
İlk API düzeyinde derleme özelliği
Belirli CTS gereksinimleri, bir aygıtın başlangıçta birlikte gönderildiği yapıya bağlıdır. Örneğin, daha önceki yapılarla birlikte gönderilen cihazlar, daha sonraki yapılarla birlikte gönderilen cihazlar için geçerli olan sistem gereksinimlerinin dışında bırakılabilir.
Bu bilgileri
ro.product.first_api_level kullanımına sunmak için, aygıt üreticileri derleme zamanı özelliğini
ro.product.first_api_level . Bu özelliğin değeri, cihazın ticari olarak piyasaya sürüldüğü ilk API seviyesidir.
Cihaz üreticileri, aynı cihaz grubundaki mevcut bir ürünün yükseltmesi 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 seviyesini
ro.product.first_api_level olarak
ro.product.first_api_level , 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 dosyalarına
PRODUCT_PROPERTY_OVERRIDES ekleyebilir:
#ro.product.first_api_level indicates the first api level that the device has been commercially launched on. PRODUCT_PROPERTY_OVERRIDES +=\ ro.product.first_api_level=21
Android 9 veya üstü için ilk API seviyesi
Android 9 veya üstü ile başlatılan cihazlar için
ro.product.first_api_level özelliğini Codenames, Etiketler ve Yapı Numaralarından geçerli bir değere ayarlayın.
Android 8.x veya altı için ilk API seviyesi
Android 8.x veya daha düşük sürümlerde başlatılan cihazlar için, ürünün ilk derlemesi için
ro.product.first_api_level özelliğini kaldırın (kaldırın). Sonraki tüm derlemeler için
ro.product.first_api_level doğru API seviyesi değerine ayarlayın. Bu, mülkün yeni bir ürünü doğru bir şekilde tanımlamasına olanak tanır ve ürünün ilk API seviyesi hakkındaki bilgileri korur. Bayrak ayarlanmamışsa, Android
Build.VERSION.SDK_INT
ro.product.first_api_level atar.
CTS altlık paketleri
Android 10 veya üzeri, APEX adlı bir paket formatı içerir. APEX yönetim API'leri için CTS testleri çalıştırmak için (yeni bir sürüme güncelleme veya aktif APEX'leri bildirme gibi) bir
/system bölümüne bir
CtsShimApex paketini önceden
CtsShimApex .
APEX şim doğrulama testi,
CtsShimApex uygulanmasını doğrular.
ro.apex.updatable gereksinimleri
ro.apex.updatableözelliği
trueolarak ayarlanmışsa, APEX paket yönetimini destekleyen tüm cihazlar için
CtsShimApexgerekir.
ro.apex.updatableözelliği eksikse veya ayarlanmamışsa,
CtsShimApexcihaza önceden yüklenmiş olması gerekmez.
CtsShim ön yüklemeleri ve ön yüklemeleri
Android 11'den başlayarak,
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 eksikse 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 sistem ayrı.
|Cihaz Sürümü||Ön yükleme (APEX destekleniyorsa)||Önyükleme|
|KOL||x86||KOL||x86|
|Android 11|| android11-arm-release|| android11-x86-sürümü|| android11-arm-CtsShim.apk|
android11-arm-CtsShimPriv.apk
| android11-x86-CtsShim.apk|
android11-x86-CtsShimPriv.apk
|Android 10|| android10 sürümü|| android10-arm-CtsShim.apk|
android10-arm-CtsShimPriv.apk
| android10-x86-CtsShim.apk|
android10-x86-CtsShimPriv.apk
|Android 9, O ve O-MR1||Yok||Yok|| kol-CtsShim.apk|
kol-CtsShimPriv.apk
| x86-CtsShim.apk|
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'leri tanıttı. Birden fazla güvenli öğe bildiren cihazlar için CTS, Open Mobile API'lerin davranışını doğrulamak için test senaryoları ekler. Bu test senaryoları, 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.
Depolama gereksinimleri
CTS medya stres testleri, video kliplerin harici depolamada (
/sdcard ) olmasını gerektirir. Kliplerin çoğu, Creative Commons Attribution 3.0 lisansı altında Blender Foundation tarafından telif hakkı bulunan 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 bölüm 5'e bakın).
DUT'un video oynatma özelliklerinin, Android'in önceki sürümleri için
android.media.MediaCodecInfo.CodecCapabilities API'leri ve Android
android.media.MediaCodecInfo.CodecCapabilities
android.media.CamcorderProfile API'leri aracılığıyla kontrol edildiğini unutmayın.
Maksimum video oynatma çözünürlüğüne göre depolama gereksinimleri şunlardır:
- 480x360: 98 MB
- 720x480: 193 MB
- 1280x720: 606 MB
- 1920 x 1080: 1863 MB
Ekran ve depolama
- Gömülü ekranı olmayan herhangi bir cihazın bir ekrana bağlanması gerekir.
- Cihazın 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) veriyolunu destekleyen veya en az hız sınıfı 10 veya daha yüksek olan bir SD kart kullanın.
- Cihazın SIM kart yuvaları varsa, her yuvaya etkinleştirilmiş bir SIM kartı takın. Cihaz SMS'i destekliyorsa, her SIM kartın kendi numara alanı doldurulmuş olmalıdır.
Geliştirici UICC
CTS taşıyıcı API testlerini çalıştırmak için, cihazın üzerinde operatör ayrıcalık kuralları bulunan bir SIM karta sahip olması gerekir. Bkz . UICC'yi Hazırlama .
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 ( ABD ) olarak ayarlayın: Ayarlar> Dil ve giriş> Dil .
- Cihazda GPS veya Wi-Fi / hücresel ağ özelliği varsa konum ayarını açın: Ayarlar> Konum> Açık .
- IPv6'yı destekleyen, DUT'u yalıtılmış bir istemci olarak işleyebilen (yukarıdaki Fiziksel ortama bakın) ve bir internet bağlantısı olan bir Wi-Fi ağına bağlanın: Ayarlar> Wi-Fi .
- Cihazda herhangi bir kilit deseni veya şifresinin ayarlanmadığından emin olun: Ayarlar> Güvenlik> Ekran kilidi> Yok .
- Cihazınızda USB hata ayıklamayı etkinleştirin: Ayarlar> Geliştirici seçenekleri> USB hata ayıklama .
- Saati 12 saatlik biçime 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ğrulamayı kapatın: Ayarlar> Geliştirici seçenekleri> Uygulamaları USB üzerinden doğrula> Kapalı .
- 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ü makineyi bir USB kablosuyla bağlayı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 2.1 R2 ila 4.2 sürümleri R4: Erişilebilirlik testlerini çalıştırmak için cihazınızı (veya öykünücüyü) ayarlayın:
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
Cihazda, yetkilendirmeyi etkinleştirin: Ayarlar> Erişilebilirlik> Erişilebilirlik> Erişilebilirlik Hizmeti için Yetki Verme .
- CTS 6.x veya daha düşük sürümler:
android.software.device_adminbildiren cihazlarda,
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apkkullanarak cihaz yönetimi testini çalıştırmak için cihazınızı ayarlayın
Ayarlar> Güvenlik> Cihaz yöneticilerini seçin bölümünde, iki
android.deviceadmin.cts.CtsDeviceAdminReceiver*cihaz yöneticisini etkinleştirin.
android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiverve diğer önceden yüklenmiş cihaz yöneticilerinin devre dışı kaldığından emin olun.
- CTS 2.1 R2 ila 4.2 sürümleri R4: Erişilebilirlik testlerini çalıştırmak için cihazınızı (veya öykünücüyü) ayarlayın:
- CTS medya dosyalarını cihaza aşağıdaki şekilde kopyalayın:
- Medya dosyalarının indirildiği ve açıldığı yere (
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 ş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, 1234567 seri numaralı cihaza 720x480'e kadar kopyalamak için şu komutu çalıştırın:
./copy_media.sh 720x480 -s 1234567
- Klipleri 720x480 çözünürlüğe kadar kopyalamak için şunu çalıştırın:
- Medya dosyalarının indirildiği ve açıldığı yere (