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:
Pobierz poziom interfejsu Android API na urządzeniu, uruchamiając polecenie:
adb shell getprop ro.build.version.sdk
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-x86-CtsShim.apk |
Android 13 | android13-arm-release | Android13-x86-release | plik android13-arm-CtsShim.apk | plik android13-x86-CtsShim.apk |
Android 12 | android12-arm-release | Android12-x86-release | plik android12-arm-CtsShim.apk | plik android12-x86-CtsShim.apk |
Android 11 | android11-arm-release | Android11-x86-release | plik android11-arm-CtsShim.apk | plik android11-x86-CtsShim.apk |
Android 10 | android10-release | plik android10-arm-CtsShim.apk | plik android10-x86-CtsShim.apk | |
Android 9, O i O-MR1 | Nie dotyczy | Nie dotyczy | arm-CtsShim.apk | x86-CtsShim.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
Przywróć dane fabryczne na urządzeniu: Ustawienia > Kopia zapasowa i zresetuj > Dane fabryczne .
Ustaw język urządzenia na angielski (Stany Zjednoczone): Ustawienia > Język i wejście > Język.
Jeśli urządzenie obsługuje dostosowywanie czcionek domyślnych, ustaw domyślne Rodzina czcionek
sans-serif
naRoboto
(domyślna rodzina czcioneksans-serif
) używane w kompilacji AOSP).Włącz lokalizację, jeśli korzystasz z GPS-a, sieci Wi-Fi lub sieci komórkowej na urządzeniu: Ustawienia > Lokalizacja > Włączony.
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.
Upewnij się, że na urządzeniu nie jest ustawiony wzór blokady ani hasło: Ustawienia > Bezpieczeństwo > Blokada ekranu > Brak.
Włącz debugowanie USB na urządzeniu: Ustawienia > Opcje programisty > Debugowanie USB
Ustaw godzinę na format 12-godzinny: Ustawienia > Data i godzina > Całodobowo format > Wyłączony.
Ustaw urządzenie w taki sposób, aby nie usypiało: Ustawienia > Opcje programisty > Nie usypiaj > Włączony.
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.
Wyłącz weryfikację aplikacji przez USB w Androidzie 4.2 lub nowszym: Ustawienia > Opcje programisty > Weryfikuj aplikacje przez USB > Wyłączony.
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.
Uruchom przeglądarkę i zamknij wszystkie ekrany uruchamiania/konfiguracji.
Podłącz komputer, który będzie używany do testowania urządzenia, przez USB za pomocą kabla.
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.
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ę, żeandroid.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver
i dowolne innych wstępnie załadowanych administratorów urządzenia pozostanie wyłączonych.
Skopiuj pliki multimedialne CTS na urządzenie w ten sposób:
- Przejdź (
cd
) do ścieżki, z której są pobierane pliki multimedialne i rozpakowane. Zmień uprawnienia do pliku:
chmod u+x copy_media.sh
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
- Przejdź (