CTS'yi ayarlama

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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ği true olarak ayarlanırsa, APEX paket yönetimini destekleyen tüm cihazlar için CtsShimApex 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
/system/priv-app/CtsShimPrivPrebuilt.apk altında

android12-x86-CtsShim.apk
/system/app/CtsShimPrebuilt.apk altında

android12-x86-CtsShimPriv.apk
/system/priv-app/CtsShimPrivPrebuilt.apk altında

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
/system/priv-app/CtsShimPrivPrebuilt.apk altında

android11-x86-CtsShim.apk
/system/app/CtsShimPrebuilt.apk altında

android11-x86-CtsShimPriv.apk
/system/priv-app/CtsShimPrivPrebuilt.apk altında

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
/system/priv-app/CtsShimPrivPrebuilt.apk altında

android10-x86-CtsShim.apk
/system/app/CtsShimPrebuilt.apk altında

android10-x86-CtsShimPriv.apk
/system/priv-app/CtsShimPrivPrebuilt.apk altında

Android 9, O ve O-MR1 Yok Yok arm-CtsShim.apk
/system/app/CtsShimPrebuilt.apk altında

arm-CtsShimPriv.apk
/system/priv-app/CtsShimPrivPrebuilt.apk altında

x86-CtsShim.apk
/system/app/CtsShimPrebuilt.apk altında

x86-CtsShimPriv.apk
/system/priv-app/CtsShimPrivPrebuilt.apk altında

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ı

  1. Cihazı fabrika verilerine sıfırlayın: Ayarlar > Yedekle ve sıfırla > Fabrika verilerine sıfırla .

  2. Cihazınızın dilini İngilizce ( Amerika Birleşik Devletleri ) olarak ayarlayın : Ayarlar > Dil ve giriş > Dil .

  3. Aygıt varsayılan yazı tiplerini özelleştirmeyi destekliyorsa, varsayılan sans-serif yazı tipi ailesini Roboto olarak ayarlayın (AOSP yapılarında kullanılan varsayılan sans-serif yazı tipi ailesi).

  4. Cihazda bir GPS veya Wi-Fi/hücresel ağ özelliği varsa konum ayarını açın: Ayarlar > Konum > Açık .

  5. 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 .

  6. Cihazda herhangi bir kilit deseni veya parola ayarlanmadığından emin olun: Ayarlar > Güvenlik > Ekran kilidi > Yok .

  7. Cihazınızda USB hata ayıklamasını etkinleştirin: Ayarlar > Geliştirici seçenekleri > USB hata ayıklama .

  8. Saati 12 saat biçimine ayarlayın: Ayarlar > Tarih ve saat > 24 saat biçimini kullan > Kapalı .

  9. Cihazı uyanık kalacak şekilde ayarlayın: Ayarlar > Geliştirici seçenekleri > Uyanık Kal > Açık .

  10. 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 .

  11. 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ı .

  12. 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 .

  13. Tarayıcıyı başlatın ve herhangi bir başlangıç/kurulum ekranını kapatın.

  14. Cihazı test etmek için kullanılacak masaüstü makineyi bir USB kablosuyla bağlayın.

  15. 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.

  1. 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.

  2. CTS medya dosyalarını cihaza aşağıdaki gibi kopyalayın:

    1. Medya dosyalarının indirildiği ve sıkıştırıldığı yola gidin ( cd ).
    2. Dosya izinlerini değiştirin: chmod u+x copy_media.sh

    3. 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