Konfiguracja CTS

Aby uruchomić CTS, najpierw przygotuj środowisko fizyczne, komputer stacjonarny i urządzenie z systemem Android, którego używasz do testowania.

Środowisko fizyczne

Sygnalizatory Bluetooth LE

Jeśli testowane urządzenie (DUT) obsługuje Bluetooth LE, umieść co najmniej trzy sygnalizatory Bluetooth LE w promieniu 5 metrów od testowanego urządzenia, aby przeprowadzić test skanowania Bluetooth LE. Te beacony nie muszą być konfigurowane ani emitować niczego konkretnego i mogą być dowolnego rodzaju, w tym iBeacon, Eddystone, a nawet urządzenia symulujące beacony BLE.

Kamery

Podczas uruchamiania kamery CTS należy używać normalnych warunków oświetleniowych z tabelą wzorców testowych (np. szachownicą). Umieść tablicę wzorców testowych zgodnie z minimalną odległością ogniskowania testowanego urządzenia, aby upewnić się, że nie znajduje się ona zbyt blisko obiektywu.

Wskazują czujniki kamery do sceny z wystarczającym oświetleniu aby umożliwić czujników badanego, aby osiągnąć i pozostać przy maksymalnych skonfigurowany docelowych klatek na sekundę (fps), jak określono w CONTROL_AE_TARGET_FPS_RANGE . Odnosi się to do wszystkich czujników kamer zgłoszonych przez getCameraIdList jak iteruje badań nad wymienionych urządzeń i środków realizacji indywidualnie.

Jeśli testowane urządzenie obsługuje zewnętrzne kamery, takie jak kamery internetowe USB, podłącz zewnętrzną kamerę podczas uruchamiania CTS. W przeciwnym razie testy CTS kończą się niepowodzeniem.

GPS/GNSS

Jeżeli testowane urządzenie obsługuje funkcję globalnego systemu pozycjonowania/globalnego systemu nawigacji satelitarnej (GPS/GNSS), należy dostarczyć do testowanego urządzenia sygnał GPS/GNSS o odpowiednim poziomie sygnału do odbioru i obliczania lokalizacji GPS. Część GPS musi być zgodna z ICD-GPS-200C. W przeciwnym razie sygnał GPS/GNSS może być dowolnego rodzaju, wliczając w to symulator satelitarny lub przemiennik GPS/GNSS sygnałów zewnętrznych, lub można umieścić testowane urządzenie wystarczająco blisko okna, aby mogło bezpośrednio odbierać wystarczającą ilość sygnału GPS/GNSS.

Wi-Fi i IPv6

Testy CTS wymagają sieci Wi-Fi, która obsługuje IPv6, ma połączenie z Internetem i może traktować testowane urządzenie jako izolowanego klienta. Izolowany klient odnosi się do konfiguracji, w której testowane urządzenie nie ma wglądu w komunikaty rozgłoszeniowe/wielosieciowe w tej podsieci. Dzieje się tak z konfiguracją Wi-Fi AP lub uruchamiając testowane urządzenie w izolowanej podsieci bez podłączonych innych urządzeń.

Jeśli nie masz dostępu do natywnej sieci IPv6, sieci operatora IPv6 lub sieci VPN, aby przejść niektóre testy w zależności od IPv6, możesz użyć punktu dostępu Wi-Fi i tunelu IPv6. Zobacz Wikipedii listę maklerów tunelu IPv6 .

Wi-Fi RTT

Android zawiera API bezprzewodowy RTT dotyczący bezprzewodowy czasu obie strony (RTT) zdolności. Pozwala to urządzeniom mierzyć odległość do punktów dostępowych z dokładnością do 1 do 2 metrów, znacznie zwiększając dokładność lokalizacji w pomieszczeniach.

Odnoszą się do Wi-Fi RTT (IEEE 802.11mc) i lokalizacji Wi-Fi: począwszy z RTT na liście rekomendowanych urządzeń obsługujących Wi-Fi RTT.

Punkty dostępowe powinny być włączone, ale nie wymagają połączenia sieciowego. Punkty dostępowe nie muszą znajdować się obok urządzenia testowego, ale zaleca się, aby znajdowały się w odległości nie większej niż 40 stóp od badanego urządzenia. Zazwyczaj wystarczy jeden punkt dostępu.

Konfiguracja komputera stacjonarnego

ADB i AAPT

Przed uruchomieniem CTS upewnij się, że masz zainstalowane najnowsze wersje zarówno Android Debug Bridge (ADB) i Android aktywach Packaging Tool (aapt) i dodano lokalizację tych narzędzi do ścieżki systemowej urządzenia.

Aby zainstalować ADB, pobierz Tools Android SDK pakiet dla Twojego systemu operacyjnego, otwórz go, a następnie postępuj zgodnie z instrukcjami zawartymi w dołączonym pliku README. Aby uzyskać informacje dotyczące rozwiązywania problemów, zobacz Instalowanie Jednostkowe SDK Tools .

Upewnić się, że adb i aapt znajdują się w ścieżce systemowej. Poniższe polecenie zakłada, że ​​otworzyłeś archiwum pakietów w swoim katalogu domowym:

export PATH=$PATH:$HOME/android-sdk-linux/build-tools/version

Java Development Kit dla Ubuntu

Zainstalować odpowiednią wersję pakietu Java Development Kit (JDK) .

  • W przypadku Androida 11 zainstaluj OpenJDK11.
  • W systemie Android 9 i Android 10 zainstaluj OpenJDK9.
  • W przypadku systemu Android 7.0, 7.1, 8.0 i 8.1 zainstaluj OpenJDK8.

Aby uzyskać szczegółowe informacje, patrz wymagania JDK .

Pliki CTS

Pobierz i otwórz pakiety CTS z Compatibility Test Suite pobrania pasującymi Android w wersji swoich urządzeń i wszystkie interfejsy binarne aplikacji (Abis), że urządzenia obsługujące.

Pobierz i otwórz najnowszą wersję CTS plików multimedialnych .

Wykrywanie urządzeń

Wykonaj kroki, aby skonfigurować system do wykrywania urządzenia .

Limit pamięci

Może chcesz zwiększyć pamięć maksymalną dostępną podczas testu w CTS-tradfed skryptu. Patrz przykład Cl , aby uzyskać więcej informacji.

Konfiguracja urządzenia z Androidem

Buduje użytkownika

Zgodne urządzenie jest zdefiniowane jako urządzenie z kompilacją podpisaną przez użytkownika/klucz zwalniający. Urządzenie powinno być uruchomiony obraz systemu w oparciu o znane za zgodną build użytkownika (Android 4.0 lub nowszy) z Kryptonimy, znaczniki i numery kompilacji .

Właściwość kompilacji pierwszego poziomu interfejsu API

Niektóre wymagania CTS zależą od kompilacji, z którą urządzenie zostało pierwotnie dostarczone. Na przykład urządzenia, które oryginalnie są dostarczane z wcześniejszymi kompilacjami, mogą być wyłączone z wymagań systemowych, które mają zastosowanie do urządzeń dostarczanych z nowszymi kompilacjami.

Aby te informacje CTS, producenci urządzeń mogło określona właściwość build-time ro.product.first_api_level . Wartość tej właściwości to pierwszy poziom interfejsu API, z którym urządzenie zostało uruchomione komercyjnie.

Producenci urządzeń mogą ponownie wykorzystać wspólną podstawową implementację, aby wprowadzić nowy produkt jako uaktualnienie istniejącego produktu w tej samej grupie urządzeń. Producenci urządzeń mogą ewentualnie ustawić poziom API istniejącego produktu na ro.product.first_api_level , tak, że wymagania są stosowane do wzbogacania CTS i Treble / VTS.

Producenci urządzeń mogą dodać PRODUCT_PROPERTY_OVERRIDES do ich device.mk pliku, aby ustawić tę właściwość, jak pokazano w poniższym przykładzie:

#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

Pierwszy poziom API dla Androida 9 lub nowszego

W przypadku urządzeń z Androidem rozpoczętych 9 lub wyższym, ustaw ro.product.first_api_level własności do ważnej wartości od Kryptonimy, znaczniki i numery kompilacji .

Pierwszy poziom API dla Androida 8.x lub niższego

W przypadku urządzeń wprowadzonych na 8.x Android lub niższym, unset (wyjąć) ro.product.first_api_level nieruchomości na pierwszej kompilacji produktu. Dla wszystkich kolejnych buduje, ustaw ro.product.first_api_level do prawidłowej wartości poziomu API. Dzięki temu właściwość może poprawnie zidentyfikować nowy produkt i zachować informacje o pierwszym poziomie interfejsu API produktu. Jeśli flaga jest ustawiona, Android przypisuje Build.VERSION.SDK_INT do ro.product.first_api_level .

Pakiety podkładek CTS

Android 10 lub wyższy obejmuje format pakiet o nazwie APEX . Aby uruchomić testy CTS dla API zarządzania APEX (takich jak aktualizacja do nowej wersji lub raportowania aktywnych wierzchołki) należy do preinstalacji CtsShimApex pakiet w /system partycji.

Wierzchołek Shim testy walidacji weryfikuje realizację CtsShimApex .

ro.apex.aktualizacja wymagań

  • Jeśli ro.apex.updatable właściwość ma wartość true , CtsShimApex jest wymagany dla wszystkich urządzeń obsługujących APEX zarządzania pakietami.

  • Jeśli ro.apex.updatable nieruchomość brakuje lub nie jest ustawiona, CtsShimApex nie wymagane jest preinstalowany na urządzeniu.

Preinstalacje i preinstalacje CtsShim

Począwszy od Androida 11 CtsShimApex zawiera dwie aplikacje skompilowane (zbudowany od źródła build ), które nie zawierają żadnego kodu wyjątkiem manifeście. CTS używa tych aplikacji do testowania uprawnień i uprawnień.

Jeśli urządzenie nie obsługuje APEX zarządzania pakietami (czyli ro.apex.updatable nieruchomość brakuje lub nie został ustawiony), lub gdy urządzenie działa w wersji 10 lub niższy, obie aplikacje prekompilowanych muszą być fabrycznie zainstalowane w system oddzielnie.

Wersja urządzenia Preinstalacja (jeśli obsługiwany jest APEX) Wstępne ładowanie
RAMIĘ x86 RAMIĘ x86
Androida 11 android11-arm-release
pod /system/apex/com.android.apex.cts.shim.apex
android11-x86-wydanie
pod /system/apex/com.android.apex.cts.shim.apex
android11-arm-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

android11-arm-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

android11-x86-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

android11-x86-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

Androida 10 Android10-wydanie
pod /system/apex/com.android.apex.cts.shim.apex
android10-arm-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

android10-arm-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

android10-x86-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

android10-x86-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

Android 9, O i O-MR1 Nie dotyczy Nie dotyczy ramię-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

ramię-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

x86-CtsShim.apk
pod /system/app/CtsShimPrebuilt.apk

x86-CtsShimPriv.apk
pod /system/priv-app/CtsShimPrivPrebuilt.apk

Aby przejść testy, wstępnie załaduj aplikacje do odpowiednich katalogów na obrazie systemu bez ponownego podpisywania aplikacji.

Przykładowy aplet

Android 9 wprowadził Open Mobile API. W przypadku urządzeń, które zgłaszają więcej niż jeden bezpieczny element, CTS dodaje przypadki testowe w celu sprawdzenia zachowania interfejsów API Open Mobile. Te przypadki testowe wymagają jednorazowej instalacji przykładowego apletu we wbudowanym bezpiecznym elemencie (eSE) testowanego urządzenia lub na karcie SIM używanej przez testowane urządzenie. ESE przykładowy aplet a próbka aplet SIM można znaleźć w AOSP.

Zobacz CTS test dla Secure Element celu uzyskania bardziej szczegółowych informacji na temat Open Mobile API przypadków testowych i przypadków testowych kontroli dostępu.

Wymagania dotyczące przechowywania

Media podkreślają CTS testy wymagają wideoklipów być na zewnętrznej pamięci masowej ( /sdcard ). Większość klipów są z Big Buck Bunny , które są zastrzeżone przez Blender Foundation w ramach licencji Creative Commons Uznanie autorstwa 3.0 .

Wymagane miejsce zależy od maksymalnej rozdzielczości odtwarzania wideo obsługiwanej przez urządzenie. Patrz rozdział 5 w dokumencie Definicja Android zgodności dla wersji platformy wymaganych uchwał).

Należy zauważyć, że możliwości odtwarzania wideo z DUT są sprawdzane przez android.media.CamcorderProfile API dla starszych wersji Androida i android.media.MediaCodecInfo.CodecCapabilities API z Androidem 5.0.

Oto wymagania dotyczące przechowywania według maksymalnej rozdzielczości odtwarzania wideo:

  • 480x360: 98 MB
  • 720x480: 193 MB
  • 1280x720: 606 MB
  • 1920x1080: 1863 MB

Ekran i przechowywanie

  • Każde urządzenie, które nie ma wbudowanego ekranu, musi być podłączone do ekranu.
  • Jeśli urządzenie ma gniazdo kart pamięci, podłącz pustą kartę SD. Użyj karty SD, która obsługuje magistralę Ultra High Speed ​​(UHS) o pojemności SDHC lub SDXC lub kartę o klasie szybkości co najmniej 10 lub wyższej, aby upewnić się, że może przejść przez CTS.
  • Jeśli urządzenie ma gniazda kart SIM, podłącz aktywowaną kartę SIM do każdego gniazda. Jeśli urządzenie obsługuje SMS-y, każda karta SIM powinna mieć wypełnione własne pole numeru.

Programista UICC

Aby uruchomić testy CTS carrier API, urządzenie musi posiadać kartę SIM z regułami uprawnień operatora. Patrz Przygotowanie UICC .

Konfiguracja urządzenia z systemem Android

  1. Dane fabryczne reset urządzenia: Ustawienia> Kopia i kasowanie> Przywracanie danych fabrycznych.
  2. Ustawić język urządzenia na angielski (Stany Zjednoczone): Ustawienia> Język i wprowadzanie> Język.
  3. Jeśli urządzenie obsługuje dostosowywania czcionek domyślnych, ustawić domyślne sans-serif rodzinę czcionek do Roboto (domyślnie sans-serif rodziny czcionek stosowanych w AOSP buduje).
  4. Włącz ustawienia lokalizacji, jeśli istnieje GPS lub Wi-Fi / funkcja sieci komórkowej na urządzenia: Ustawienia> Lokalizacja> Włączone.
  5. Połącz się z siecią Wi-Fi, która obsługuje protokół IPv6, można traktować DUT jako pojedyncze klienta (patrz środowiska fizycznego powyżej) i ma połączenie z Internetem: Ustawienia> Wi-Fi.
  6. Upewnij się, że żaden wzór blokady lub hasło jest ustawione na urządzeniu: Ustawienia> Zabezpieczenia> Blokada ekranu> Brak.
  7. Włącz debugowanie USB w urządzeniu: Ustawienia> Opcje programisty> debugowanie USB.
  8. Ustaw czas w formacie 12-godzinnym: Ustawienia> Data i czas> Użyj formatu 24-godzinny> Wyłącz.
  9. Ustawić urządzenie tak, aby nie zasnąć: Ustawienia> Opcje programisty> zasnąć> Włączone.
  10. W Android 5.x oraz 4.4.x tylko ustawić urządzenie tak, aby umożliwić mock lokalizacje: Ustawienia> Opcje programisty> Zezwalaj na pozorowanie lokalizacji> Włącz.
  11. W Androidzie 4.2 lub wyższym, wyłącz USB aplikacji weryfikacja: Ustawienia> Opcje programisty> Weryfikuj aplikacje przez USB> off.
  12. Uruchom przeglądarkę i zamknij dowolny ekran startowy/konfiguracyjny.
  13. Podłącz komputer stacjonarny, który będzie używany do testowania urządzenia, za pomocą kabla USB.

Instalacja pliku

Zainstaluj i skonfiguruj aplikacje pomocnicze na urządzeniu.

  1. Skonfiguruj swoje urządzenie zgodnie z wersją CTS:
    • CTS w wersji 2.1 poprzez 4.2 R2 R4: Konfigurowanie urządzenia (lub emulator), aby uruchomić testy z dostępnością:
      adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Na urządzeniu, włącz delegacji: Ustawienia> Dostępność> Dostępność> Delegowanie Dostępność usługi.
    • CTS wersje 6.x lub dolna: W przypadku urządzeń, które deklarują android.software.device_admin , skonfigurować urządzenie, aby uruchomić test administrowania urządzeniem za pomocą:
      adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk

      W Ustawienia> Zabezpieczenia> Wybierz administratorów urządzenia, umożliwiają dwie android.deviceadmin.cts.CtsDeviceAdminReceiver* administratorów urządzenia. Upewnić się, że android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver i wszelkie inne zainstalowane fabrycznie administratorów urządzenia pozostają wyłączone.
  2. Skopiuj pliki multimedialne CTS do urządzenia w następujący sposób:
    1. Nawiguj ( cd ) do katalogu, w którym pliki multimedialne są pobierane i rozpakowany.
    2. Zmienić uprawnienia pliku:
      chmod u+x copy_media.sh
    3. Skopiuj niezbędne pliki:
      • Aby skopiować pliki do rozdzielczości 720x480, uruchom:
        ./copy_media.sh 720x480
      • Jeśli nie jesteś pewien, od rozdzielczości maksymalnej, skopiuj wszystkie pliki:
        ./copy_media.sh all
      • Jeśli istnieje wiele urządzeń pod ADB, dodaj opcję seryjny ( -s ) urządzenia konkretnego do końca. Na przykład, aby skopiować maksymalnie 720x480 do urządzenia z seryjnym 1234567, uruchom:
        ./copy_media.sh 720x480 -s 1234567