Skonfiguruj CTS

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

Środowisko fizyczne

Beacon Bluetooth LE

Jeśli testowane urządzenie obsługuje Bluetooth LE, umieść co najmniej trzy beacony Bluetooth LE w odległości 5 metrów od DUT na potrzeby skanowania przez Bluetooth LE, Nie trzeba ich konfigurować ani wysyłać, dowolnego rodzaju, w tym iBeacon, Eddystone, a nawet urządzeń symulujących beacony BLE.

Łącze ultraszerokopasmowe

Jeśli DUT obsługuje łącze ultraszerokopasmowe (UWB), inne urządzenie obsługujące UWB musi znajdować się wystarczająco blisko i zachować, aby nie antenę i strefę martwego sygnału radiowego. W przypadku testów dokładności odległości na konkretne potrzeby związane z pozycjonowaniem i orientacją. Szczegóły konfiguracji znajdziesz tutaj: Wymagania UWB Test UWB należy uruchomić ręcznie, określając w wierszu poleceń, które 2 elementy urządzenia znajdują się w odległości 1 metra od siebie. Szczegółowe informacje o fragmentacji wymaganej w tym teście znajdziesz w tych artykułach: Fragmentacja lokalna.

Aparaty

Podczas korzystania z modułu CTS kamery używaj normalnych warunków oświetleniowych z wzorem testowym wykres (np. wzór w szachownicę). Umieść wykres wzorców testowych zgodnie z do minimalnej odległości ostrzenia urządzenia DUT, aby mieć pewność, że nie jest on zbyt blisko za pomocą obiektywu.

Skieruj czujniki aparatu na scenę z wystarczającym oświetleniem, aby czujniki w trakcie testowania, aby osiągnąć maksymalną liczbę skonfigurowanych klatek docelowych i utrzymać ich na sekundę (FPS), jak określono w CONTROL_AE_TARGET_FPS_RANGE Dotyczy to wszystkich czujników kamery zgłaszanych przez getCameraIdList w miarę powtarzania testu na wymienionych urządzeniach i pomiaru wydajności. poszczególne osoby.

Jeśli DUT obsługuje kamery zewnętrzne, takie jak kamery internetowe USB, podłącz z kamery podczas uruchamiania narzędzia CTS. W przeciwnym razie testy CTS nie powiodły się.

GPS/GNSS

Jeśli DUT obsługuje globalny system pozycjonowania lub globalny satelita nawigacji (GPS/GNSS), zapewni sygnał GPS/GNSS do urządzenia DUT w odpowiednim miejscu poziom sygnału na potrzeby odbioru i określania lokalizacji GPS. Część GPS musi być zgodny ze standardem ICD-GPS-200C. Jeśli nie, sygnał GPS/GNSS może być dowolnego rodzaju, łącznie z symulatorem satelitarnym lub wzmacniaczem GPS/GNSS sygnałów zewnętrznych, możesz umieścić urządzenie DUT wystarczająco blisko okna, aby mogło bezpośrednio odbierać wystarczająco dobrego sygnału GPS/GNSS.

Wi-Fi i IPv6

Testy CTS wymagają sieci Wi-Fi obsługującej IPv4 i IPv6 oraz dostępu do internetu z działającym systemem DNS dla IPv4 i IPv6, obsługuje multiemisję IP i może traktowanie DUT jako izolowanego klienta. Odizolowany klient to konfiguracja, w której DUT nie ma czy widoczność komunikatów transmisji/wielu sieci w danej podsieci. Ten jeśli wystąpi po skonfigurowaniu punktu dostępu Wi-Fi lub po uruchomieniu DUT izolowana podsieć bez podłączania innych urządzeń.

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

Aby przejść CTS, DUT wymaga włączenia flag UP, BROADCAST i MULTICAST interfejsu Wi-Fi. Interfejs Wi-Fi wymaga przypisania adresów IPv4 i IPv6. Sprawdź właściwości interfejsu Wi-Fi za pomocą polecenia adb shell ifconfig.

Na urządzeniach, które obsługują Równoczesność sieci Wi-Fi STA/STA, wymaganych jest kilka sieci Wi-Fi (co najmniej 2). Aby przekazać wskaźnik CTS, sieć Wi-Fi sieci muszą działać w różnych pasmach o różnych identyfikatorach SSID lub ten sam identyfikator SSID z różnymi wartościami BSSID.

RTT Wi-Fi

Android obejmuje Wi-Fi RTT API dla czasu przesyłania danych przez Wi-Fi w obie strony (RTT) działania. Dzięki temu urządzenia mogą mierzyć odległość od punktów dostępu z dokładnością do 1–2 metrów, co znacznie zwiększa dokładność lokalizacji wewnątrz budynków. Zalecane urządzenia obsługujące Wi-Fi RTT to: Google Wifi oraz Punkt dostępu fitlet2 firmy Compulab (przepustowość ustawiona na 40 MHz przy 5 GHz).

Punkty dostępu powinny być zasilane, ale nie wymagają połączenia sieciowego. Punkty dostępu nie muszą znajdować się obok urządzenia testowego, ale są zalecane, znajdować się nie dalej niż 40 metrów od jednostki DUT. Zazwyczaj wystarczy 1 punkt dostępu.

Konfiguracja komputera

Uwaga: CTS obsługuje 64-bitowe komputery z systemem Linux. CTS nie jest obsługiwane w systemie operacyjnym Windows czy MacOS.

Plik FFMPEG

Zainstaluj pakiet ffmpeg w wersji 5.1.3 (lub nowszej) na hoście.

Uaktualnienie hosta

Zdecydowanie zalecamy zwiększenie pamięci RAM hosta CTS do 128 GB, a dysku HDD do 256 GB. Jest to wymagane w związku ze zwiększoną liczbą przypadków testowych CTS i większą liczbą rezerwacji przestrzeni sterty Java w ramach platformy handlowej.

ADB i AAPT2

Przed uruchomieniem narzędzia CTS upewnij się, że masz zainstalowane jego najnowsze wersje oba Android Debug Bridge (adb) oraz Narzędzie Android Asset Packaging Tool (AAPT2) i dodałem lokalizację tych narzędzi do ścieżki systemowej komputera.

Aby zainstalować ADB i AAPT2, pobierz najnowszą wersję Narzędzia platformy SDK na Androida oraz Narzędzia do kompilacji w pakiecie Android SDK z narzędzia Android Studio Menedżer pakietów SDK lub z Menedżer SDK narzędzia wiersza poleceń.

Upewnij się, że adb i aapt2 są w ścieżce systemowej. Następujące polecenie zakłada, że archiwa zostały pobrane do podkatalogu o nazwie android-sdk w katalogu głównym:

export PATH=$PATH:$HOME/android-sdk/platform-tools:$HOME/android-sdk/build-tools/<tools version number>

pakiet Java Development Kit dla systemu Ubuntu

Zainstaluj odpowiednią wersję aplikacji Pakiet Java Development Kit (JDK)

  • W przypadku Androida 11 zainstaluj OpenJDK11.
  • W przypadku Androida 9 i 10: zainstaluj OpenJDK9.
  • Na urządzeniach z Androidem 7.0, 7.1, 8.0 i 8.1 zainstaluj OpenJDK8.

Więcej informacji znajdziesz w wymaganiach JDK.

Konfiguracja obsługi języka Python

Zainstaluj virtualenv na swojej platformie, postępując zgodnie z instrukcjami Instalacja za instrukcje.

Aby sprawdzić, czy instalacja się powiodła, wywołaj virtualenv -h.

Pliki CTS

Pobierz i otwórz pakiety CTS z Do pobrania z pakietu Compatibility Test Suite pasujących do Wersja Androida i wszystkie interfejsy binarne aplikacji (ABI) obsługiwanych przez Twoje urządzenia.

Pobierz i otwórz najnowszą wersję Pliki multimedialne CTS.

Pobierz pliki CTS związane z Mainline (opcjonalnie)

Przy pierwszym uruchomieniu wersji CTS panel CTS dynamicznie pobiera pliki CTS dotyczące Mainline, które dodają do czasu działania co najmniej 10 minut; w zależności od szybkości sieci.

Aby uniknąć tego dodanego czasu działania CTS, możesz pobrać CTS związane z Mainline przed uruchomieniem wersji CTS, wykonując te czynności:

  1. Pobierz poziom interfejsu Android API na urządzeniu, uruchamiając polecenie:

    adb shell getprop ro.build.version.sdk
    
  2. Postępuj zgodnie z instrukcjami w skrypcie download_mcts.sh. aby pobrać pliki Mainline CTS.

    W zależności od szybkości sieci pobieranie potrwa co najmniej 10 minut.

Wykrywanie urządzeń

Postępuj zgodnie z instrukcjami, aby: skonfigurować system w taki sposób, aby wykrywał urządzenie.

Limit pamięci

Możesz zwiększyć maksymalną ilość pamięci dostępnej podczas testu w cts-tradefed skrypt. Zobacz przykładową listę zmian. .

Konfiguracja urządzenia z Androidem

Kompilacje użytkowników

Zgodne urządzenie to urządzenie z kompilacją podpisaną przez użytkownika/klucz wersji. Na urządzeniu powinien być uruchomiony obraz systemu oparty na znanym jako zgodnym kompilacji użytkownika (Android 4.0 lub nowszy) od Kryptonimy, tagi i numery kompilacji.

Pierwsza właściwość kompilacji na poziomie interfejsu API

Niektóre wymagania dotyczące CTS zależą od kompilacji, z której pierwotnie pochodziło urządzenie z urządzeniem. Na przykład urządzenia, które były pierwotnie wysyłane z wcześniejszymi kompilacjami. mogą zostać wykluczone z wymagań systemowych dotyczących urządzeń, z którymi wysyłane są później.

Aby udostępnić te informacje CTS, producenci urządzeń mogą zdefiniowano właściwość czasu kompilacji ro.product.first_api_level. Wartość jest to pierwszy poziom interfejsu API, z którym urządzenie zostało wprowadzone na rynek komercyjnie.

Producenci urządzeń mogą ponownie korzystać ze wspólnej implementacji bazowej, aby wprowadzić nowy produkt jako uaktualnienie istniejącego produktu na tym samym urządzeniu. grupy reklam. Producenci urządzeń mogą opcjonalnie ustawić poziom API istniejących urządzeń na ro.product.first_api_level, więc wymagania dotyczące uaktualnienia są dla CTS i Treble/VTS.

Producenci urządzeń mogą określić PRODUCT_SHIPPING_API_LEVEL w swoich device.mk, aby ustawić tę właściwość, jak w tym przykładzie:

# 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

Pierwszy poziom interfejsu API w Androidzie 9 lub nowszym

W przypadku urządzeń z Androidem 9 lub nowszym ustaw ro.product.first_api_level na prawidłową wartość z Kryptonimy, tagi i numery kompilacji.

Pierwszy poziom interfejsu API w Androidzie 8.x lub starszym

W przypadku urządzeń z Androidem 8.x lub starszym usuń (usuń) ustawienie Właściwość ro.product.first_api_level pierwszej kompilacji produktu. Dla: we wszystkich kolejnych kompilacji, ustaw ro.product.first_api_level na prawidłowy poziom interfejsu API . Pozwala to usłudze prawidłowo zidentyfikować nowy produkt i zachowuje informacje o pierwszym poziomie interfejsu API usługi. Jeśli flaga to nieskonfigurowana, Android przypisuje wartość Build.VERSION.SDK_INT użytkownikowi ro.product.first_api_level.

Pakiety podkładek CTS

Android 10 lub nowszy zawiera pakiet APEX, Przeprowadzanie testów CTS na potrzeby zarządzania APEX interfejsów API (takich jak aktualizacja do nowej wersji lub raportowanie aktywnych punktów APEX), wstępnie zainstaluj pakiet CtsShimApex na partycji /system.

Test weryfikacji podkładki APEX sprawdza wdrożenie podkładki CtsShimApex.

Wymagania dotyczące ro.apex.updatable

  • Jeśli właściwość ro.apex.updatable ma wartość true, CtsShimApex to wymagane na wszystkich urządzeniach obsługujących zarządzanie pakietami APEX.

  • Jeśli brakuje właściwości ro.apex.updatable lub nie jest ona skonfigurowana, CtsShimApex nie musi być wstępnie zainstalowana na urządzeniu.

Test weryfikacji podkładki APEX sprawdza wdrożenie podkładki CtsShimApex.

Wstępne instalacje i wstępne wczytywanie CtsShim

Aplikacja CtsShimApex (od Androida 11) zawiera 2 elementy gotowe aplikacje (utworzone na podstawie źródło kompilacji), które nie zawierają żadnego kodu poza plikiem manifestu. CTS używa tych aplikacji do: uprawnienia i uprawnienia do testowania.

Jeśli urządzenie nie obsługuje zarządzania pakietami APEX (czyli brakuje właściwości ro.apex.updatable lub nie jest ona ustawiona) albo urządzenie jest w wersji 10 lub starszej dwie gotowe aplikacje muszą być wstępnie zainstalowany w systemie.

Jeśli obsługiwany obszar APEX jest obsługiwany, instalacje wstępne odpowiedniej wersji muszą być umieszczone w polu /system/apex/com.android.apex.cts.shim.apex.

Jeśli używasz standardowych gotowych aplikacji, CtsShim i CtsShimPriv dla odpowiednie wydanie musi być umieszczone jako /system/app/CtsShimPrebuilt.apk i /system/priv-app/CtsShimPrivPrebuilt.apk.

Tabela poniżej zawiera listę instalacji wstępnych i wstępnych wczytywanych danych dostępnych w przypadku każdej z nich wersję i architekturę urządzenia.

Wersja urządzenia Wstępnie zainstaluj
(jeśli obsługiwany jest pakiet APEX)
Wczytaj wstępnie
WŁĄCZ WYKRYWANIE x86 WŁĄCZ WYKRYWANIE x86
Android 14 android14-arm-release Android14-x86-release plik android14-arm-CtsShim.apk

plik android14-arm-CtsShimPriv.apk

plik android14-x86-CtsShim.apk

plik android14-x86-CtsShimPriv.apk

Android 13 android13-arm-release Android13-x86-release plik android13-arm-CtsShim.apk

plik android13-arm-CtsShimPriv.apk

plik android13-x86-CtsShim.apk

plik android13-x86-CtsShimPriv.apk

Android 12 android12-arm-release Android12-x86-release plik android12-arm-CtsShim.apk

plik android12-arm-CtsShimPriv.apk

plik android12-x86-CtsShim.apk

plik android12-x86-CtsShimPriv.apk

Android 11 android11-arm-release Android11-x86-release plik android11-arm-CtsShim.apk

plik android11-arm-CtsShimPriv.apk

plik android11-x86-CtsShim.apk

plik android11-x86-CtsShimPriv.apk

Android 10 android10-release plik android10-arm-CtsShim.apk

plik android10-arm-CtsShimPriv.apk

plik android10-x86-CtsShim.apk

plik android10-x86-CtsShimPriv.apk

Android 9, O i O-MR1 Nie dotyczy Nie dotyczy arm-CtsShim.apk

plik arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Aby zaliczyć testy, wczytaj aplikacje wcześniej do odpowiednich katalogów obrazu systemu bez ponownego podpisywania aplikacji.

Przykładowy aplet

W Androidzie 9 wprowadziliśmy Open Mobile API. Urządzenia, które zgłaszają więcej niż jedno bezpiecznego elementu, CTS dodaje przypadki testowe, aby zweryfikować działanie Open Mobile API. Te przypadki testowe wymagają jednorazowego zainstalowania przykładowego apletu w osadzonego bezpiecznego elementu (eSE) urządzenia DUT lub karty SIM używanej przez DUT. Przykładowy aplet eSE oraz Przykładowy aplet karty SIM znajdziesz w AOSP.

Zapoznaj się z sekcją Test CTS bezpiecznego elementu, aby uzyskać więcej informacji. bardziej szczegółowe informacje o przypadkach testowych interfejsu Open Mobile API i teście kontroli dostępu przypadków.

Wymagania dotyczące miejsca na dane

Testy wytrzymałościowe multimediów CTS wymagają umieszczenia klipów wideo w pamięci zewnętrznej (/sdcard). Większość klipów pochodzi Big Buck Bunny, który jest chroniony prawem autorskim przez Blender Foundation na mocy Licencja Creative Commons Uznanie autorstwa 3.0.

Wymagana ilość miejsca zależy od maksymalnej rozdzielczości odtwarzania filmu obsługiwanej przez urządzenia. Patrz sekcja 5 w dokumentu definicji zgodności z Androidem dla platformy wersji platformy wymaganych rozwiązań.

Oto wymagania dotyczące miejsca na dane podzielone według maksymalnej rozdzielczości odtwarzania filmów:

  • 480 x 360: 98 MB
  • 720 x 480: 193 MB
  • 1280 x 720: 606 MB
  • 1920 x 1080: 1863 MB

Ekran i miejsce na dane

  • Każde urządzenie, które nie ma osadzonego ekranu, musi być podłączone do ekranu.
  • Jeśli urządzenie ma gniazdo karty pamięci, włóż do niego pustą kartę SD. Użyj karty SD obsługująca magistrale ultraszybkie (UHS) o pojemności SDHC lub SDXC lub jedną o klasie prędkości co najmniej 10, by spełnić wymagania CTS.

  • Jeśli urządzenie ma gniazda karty SIM, podłącz do każdego gniazda aktywowaną kartę SIM. Jeśli urządzenie obsługuje SMS-y, każda karta SIM musi mieć własne pole z numerem . Na urządzeniach z Androidem 12 lub powyżej, wszystkie karty SIM muszą obsługiwać przechowywanie skróconych numerów (ADN). karty GSM i USIM z dedykowanym plikiem telekomunikacyjnym, (DFTelecom) spełniają to wymaganie.

UICC dewelopera

Aby można było przeprowadzać testy interfejsu API CTS operatora, urządzenie musi używać karty SIM u operatora CTS uprawnienia spełniające wymagania określone w Przygotowuję UICC.

Konfiguracja urządzenia z Androidem

  1. Przywróć dane fabryczne na urządzeniu: Ustawienia > Kopia zapasowa i zresetuj > Dane fabryczne .

  2. Ustaw język urządzenia na angielski (Stany Zjednoczone): Ustawienia > Język i wejście > Język.

  3. Jeśli urządzenie obsługuje dostosowywanie czcionek domyślnych, ustaw domyślne Rodzina czcionek sans-serif na Roboto (domyślna rodzina czcionek sans-serif) używane w kompilacji AOSP).

  4. Włącz lokalizację, jeśli korzystasz z GPS-a, sieci Wi-Fi lub sieci komórkowej na urządzeniu: Ustawienia > Lokalizacja > Włączony.

  5. Połącz się z siecią Wi-Fi, która obsługuje IPv6, może traktować DUT jako izolowany klient (patrz Środowisko fizyczne powyżej), i połączenie z internetem: Ustawienia > Wi-Fi.

  6. Upewnij się, że na urządzeniu nie jest ustawiony wzór blokady ani hasło: Ustawienia > Bezpieczeństwo > Blokada ekranu > Brak.

  7. Włącz debugowanie USB na urządzeniu: Ustawienia > Opcje programisty > Debugowanie USB

  8. Ustaw godzinę na format 12-godzinny: Ustawienia > Data i godzina > Całodobowo format > Wyłączony.

  9. Ustaw urządzenie w taki sposób, aby nie usypiało: Ustawienia > Opcje programisty > Nie usypiaj > Włączony.

  10. W tylko Androidzie 5.x i 4.4.x skonfiguruj urządzenie, aby zezwalało na pozorowanie lokalizacji: Ustawienia > Opcje programisty > Zezwól na pozorowanie lokalizacji > Włączony.

  11. Wyłącz weryfikację aplikacji przez USB w Androidzie 4.2 lub nowszym: Ustawienia > Opcje programisty > Weryfikuj aplikacje przez USB > Wyłączony.

  12. W Androidzie 13 lub nowszym skonfiguruj urządzenie tak, aby zezwalało na imitację modemu: Ustawienia > Opcje programisty > Zezwól na pozorowanie modemu > Włączony.

  13. Uruchom przeglądarkę i zamknij wszystkie ekrany uruchamiania/konfiguracji.

  14. Podłącz komputer, który będzie używany do testowania urządzenia, przez USB za pomocą kabla.

  15. Przed uruchomieniem CTS ustaw Roboto2 jako czcionkę bezszeryfową za pomocą parametru ustawienie afordancji ułatwień dostępu (nie ukryte).

Instalacja plików

Zainstaluj i skonfiguruj aplikacje pomocnicze na urządzeniu.

  1. Skonfiguruj urządzenie zgodnie z wersją CTS:

    • CTS w wersjach 2.1 R2 do 4.2 R4: skonfiguruj urządzenie (lub emulator) do przeprowadzenia testów ułatwień dostępu: adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Na urządzeniu włącz przekazywanie dostępu: Ustawienia > Ułatwienia dostępu > Ułatwienia dostępu > Przekazywanie dostępu do usługi ułatwień dostępu.

    • CTS w wersji 6.x lub starszej: na urządzeniach z deklaracją android.software.device_admin, skonfiguruj urządzenie, aby umożliwić korzystanie z niego test administracyjny z wykorzystaniem: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      W sekcji Ustawienia > Bezpieczeństwo > Wybierz administratorów urządzenia, włącz 2 urządzenia android.deviceadmin.cts.CtsDeviceAdminReceiver* Google Workspace for Education. Upewnij się, że android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver i dowolne innych wstępnie załadowanych administratorów urządzenia pozostanie wyłączonych.

  2. Skopiuj pliki multimedialne CTS na urządzenie w ten sposób:

    1. Przejdź (cd) do ścieżki, z której są pobierane pliki multimedialne i rozpakowane.
    2. Zmień uprawnienia do pliku: chmod u+x copy_media.sh

    3. Skopiuj niezbędne pliki:

      • Aby skopiować klipy do rozdzielczości 720 x 480, uruchom polecenie:

        ./copy_media.sh 720x480
        
      • Jeśli nie masz pewności co do maksymalnej rozdzielczości, skopiuj wszystkie pliki:

        ./copy_media.sh all
        
      • Jeśli w konfiguracji adb jest wiele urządzeń, dodaj opcję szeregową (-s) określonego urządzenia. Na przykład, aby skopiować w górę do 720x480 do urządzenia o numerze seryjnym 1234567, uruchom:

        ./copy_media.sh 720x480 -s 1234567