Auf dieser Seite finden Sie eine Anleitung zum Einrichten und Ausführen von Host-seitigen Android 16 QPR2- und Android 17-Tests für CTS Verifier (CTS-V). Es gibt zwei Arten von Host-seitigen Tests: Tests für mehrere Geräte (vor Android 17 eingeführt) und interaktive Tests (neu in Android 17):
- Tests auf mehreren Geräten sind vollständig automatisierte Tests.
- Interaktive Tests sind halbautomatische Tests, bei denen Sie einige manuelle Schritte auf dem zu testenden Gerät ausführen müssen.
Zusätzlich zu den neuen interaktiven Tests sind die Tests zur manuellen Bereichsgenauigkeit und die Telekommunikationstests jetzt Host-seitige Tests für mehrere Geräte. Außerdem sind WLAN-Verbindungstests erforderlich.
Hostseitige Tests einrichten
So richten Sie Host-seitige Tests ein (für Tests auf mehreren Geräten ist eine zusätzliche Einrichtung erforderlich):
Prüfen Sie, ob Ihr Desktopcomputer die Systemanforderungen für CTS erfüllt.
Folgen Sie Schritt 2 und Schritt 5 der Anleitung unter Desktopsoftware installieren, um zu prüfen, ob adb, AAPT2 und Python auf Ihrem Computer richtig installiert sind.
Die Desktop-Python-Version sollte 3.11 oder höher sein. Führen Sie
python3 --versionaus, um die Python-Version zu ermitteln. Wenn die Version niedriger als 3.11 ist, installieren Sie die neueste offizielle Python-Version. Weitere Informationen finden Sie im Abschnitt „Downloads“ vonpython.org.Für einige Tests muss auf dem Host das Python-Modul
venvinstalliert sein. Auf Debian- und Ubuntu-Systemen ist dieses Modul möglicherweise nicht standardmäßig installiert. Führen Siepython3 -m venv venvaus, um festzustellen, ob die Desktop-Python-Version das Modulvenventhält. Wenn dieser Befehl fehlschlägt, wird eine Fehlermeldung angezeigt. Folgen Sie der Anleitung, um daspython3.x-venv-Paket zu installieren.
Wenn Sie nur die interaktiven Tests auf der Hostseite ausführen, fahren Sie mit Tests auf der Hostseite ausführen fort. Wenn Sie jedoch Tests auf mehreren Geräten ausführen möchten, fahren Sie mit Hostseitige Tests auf mehreren Geräten einrichten fort.
Hostseitige Tests auf mehreren Geräten einrichten
So richten Sie geräteübergreifende Tests auf Hostseite ein:
Prüfen Sie, ob Ihr Desktopcomputer die Systemanforderungen für CTS erfüllt.
Folgen Sie Schritt 2 und Schritt 5 der Anleitung unter Desktopsoftware installieren, um zu prüfen, ob adb, AAPT2 und Python auf Ihrem Computer richtig installiert sind.
Die Desktop-Python-Version sollte 3.11 oder höher sein. Führen Sie
python3 --versionaus, um die Python-Version zu ermitteln. Wenn die Version niedriger als 3.11 ist, installieren Sie die neueste offizielle Python-Version. Weitere Informationen finden Sie im Abschnitt „Downloads“ vonpython.org.- Für einige Tests muss auf dem Host das Python-Modul
venvinstalliert sein. Auf Debian- und Ubuntu-Systemen ist dieses Modul möglicherweise nicht standardmäßig installiert. Führen Siepython3 -m venv venvaus, um festzustellen, ob die Desktop-Python-Version das Modulvenventhält. Wenn dieser Befehl fehlschlägt, wird eine Fehlermeldung angezeigt. Folgen Sie der Anleitung, um daspython3.x-venv-Paket zu installieren.
- Für einige Tests muss auf dem Host das Python-Modul
Bereiten Sie zwei passende Testgeräte vor, auf denen jeweils CTS-V eingerichtet ist.
- Weitere Informationen zum Einrichten eines DUT finden Sie unter DUT einrichten.
- Weitere Informationen zum Einrichten von CTS-V finden Sie unter Einrichtung.
Rufen Sie den Einrichtungsabschnitt für Ihren Testtyp auf:
- Informationen zu NFC-Tests finden Sie unter NFC-Tests einrichten.
- Informationen zu Tests für die Verbindung mit einem WLAN-Access Point finden Sie unter Tests für die Verbindung mit einem WLAN-Access Point einrichten.
- Informationen zu den Tests zur Genauigkeit der Entfernungsbestimmung finden Sie unter Tests zur Genauigkeit der Entfernungsbestimmung einrichten.
- Wenn Sie das CDM-Modul testen möchten, folgen Sie der Anleitung unter Standardtests für zwei Geräte einrichten und dann unter CDM-Tests einrichten.
Wenn Ihr Test nicht in dieser Liste enthalten ist, fahren Sie mit Standardtests mit zwei Geräten einrichten fort.
NFC-Tests einrichten
Für NFC-Tests wird ein zu testendes Gerät und ein PN532-NFC-Chip verwendet.
So richten Sie NFC-Tests ein:
- Kaufen Sie einen PN532-NFC-Chip. Wir empfehlen das All-In-One PN532.
- Öffnen Sie auf dem zu testenden Gerät die Einstellungen.
- Aktivieren Sie NFC.
NFC-Chip positionieren:
Bei Smartphones muss das NFC-Lesegerät des Prüflings wie in Abbildung 1 positioniert werden:

Abbildung 1. Positionierung des NFC-Chips
Bei anderen Gerätetypen halten Sie den Chip an die NFC-Antenne des Geräts.
Verbinden Sie den PN532-NFC-Chip über ein USB-Kabel mit Ihrer Test-Workstation.
WLAN-AP-Verbindungstests einrichten
Mit den Verbindungstests für WLAN-Zugangspunkte (CtsWifiConnectionTests) wird die Verbindung zwischen einem DUT und einem Zugangspunkt getestet. Sie haben zwei Möglichkeiten, diese Tests einzurichten:
- Option 1: Verwenden Sie ein vorhandenes WLAN, das Sie für CTS-V eingerichtet haben.
- Option 2: Programmierbaren Zugangspunkt (AP) einrichten
Für Android 17 empfehlen wir dringend Option 2, sie ist jedoch nicht erforderlich. In den folgenden beiden Abschnitten werden die einzelnen Optionen erläutert.
Option 1: Vorhandenes WLAN verwenden, das Sie für CTS-V eingerichtet haben
Für Option 1 ist ein Android-DUT innerhalb der WLAN-Abdeckung erforderlich. Wenn sich das DUT in einer abgeschirmten Box befindet und keine Verbindung zum WLAN herstellen kann, nehmen Sie es aus der Box heraus.
Option 2: Programmierbaren AP einrichten
So richten Sie einen programmierbaren AP für die WLAN-Verbindungstests ein:
Kaufen Sie den Banana Pi R3 AP und richten Sie ihn ein. Informationen zum Kauf und zur Einrichtung des Banana Pi R3 AP finden Sie unter Banana Pi BPI-R3 AP einrichten.
Optional: Wenn Sie keine Abschirmbox haben, empfehlen wir die JTP-SR101. Kaufen Sie diese Box mit den folgenden Informationen:
Dong Guan Zheng Sheng Electronics Technology Co., LTD
Bohui Industrial Park, Panlong Road, Liaobu Town, Dongguan City, Guangdong Province, China
Kontakt: Forest Pan
E-Mail: forest.pan@jtpmak.cn
Telefon (China): +86 18676993556
Verbinden Sie das DUT und den AP mit dem Host und legen Sie sie in eine HF-Abschirmbox. Das Prüfgerät und der AP sollten mindestens 10 cm voneinander entfernt sein. Abbildung 2 zeigt diese Konfiguration:

Abbildung 2: DUT und AP in der Abschirmbox.
Prüfen Sie mit SSH, ob der AP vom Host aus erreichbar ist.
Tests zur Genauigkeit der Entfernungsmessung einrichten
So richten Sie Tests zur Reichweiten-Genauigkeit ein:
Stellen Sie zwei passende Android-Testgeräte im Abstand von 1 Meter auf gleicher Höhe auf. Die Geräte müssen sich in Sichtlinie befinden und die Rückseite der Geräte muss zueinander zeigen. Abbildung 3 zeigt diese Ausrichtung:

Abbildung 3: Geräteausrichtung.
Verbinden Sie beide Geräte über USB-Kabel mit dem Computer.
Standardtests mit zwei Geräten einrichten
Für die Standardkonfiguration mit zwei Geräten:
Stellen Sie zwei passende Android-DUTs etwa 20 cm voneinander entfernt auf.
Sehr empfehlenswert: Legen Sie beide Geräte in eine Abschirmbox. Die Abschirmbox verbessert die Teststabilität und erleichtert die Fehlersuche bei Testfehlern.
Für Telekommunikationstests muss jedes zu prüfende Gerät eine SIM-Karte und ein Mobilfunksignal haben. Wenn sich die zu testenden Geräte in einem abgeschirmten Gehäuse befinden, muss das Mobilfunksignal in das Gehäuse eingekoppelt werden. Andernfalls müssen Sie die Geräte aus der Abschirmbox entfernen.
Optional: OTA-Sniffer für WLAN-Debugging einrichten
CDM-Tests einrichten
Der Testlauf test_permissions_sync verhält sich je nach Build-Typ der Geräte, auf denen der Test ausgeführt wird, unterschiedlich. Es ist wichtig, dass sowohl debugfähige (userdebug oder eng) als auch nicht debugfähige (user) Builds von OEMs getestet werden und die Tests für beide bestehen.
Befreiung
Die CDD-Klausel für die Implementierung der Berechtigungssynchronisierungs-API erfordert nur, dass Daten über einen sicheren Kanal zwischen Geräten übertragen werden können. Da die Implementierung des sicheren Kanals keine Anforderung für die CDD-Konformität ist, kann dieser Test bei nicht debugfähigen (Nutzer-)Builds übersprungen werden. Dies ist jedoch nur möglich, wenn Sie die Funktion zur Synchronisierung von CDM-Berechtigungen nicht unterstützen möchten.
Die Tests müssen bei debugfähigen Builds ausnahmslos bestanden werden.
Voraussetzungen für Tests mit nicht debugfähigen Builds
Wenn Sie nicht ausgenommen sind, prüfen Sie, ob Sie die folgenden Voraussetzungen erfüllen.
Der sichere Channel verwendet AVF (AttestationVerificationFramework), um die Vertrauenswürdigkeit der Hardware zu überprüfen. Die von beiden Parteien generierten Atteste enthalten mehrere Informationen über sie, um zu bestätigen, dass in ihrem System keine unbefugten Änderungen vorgenommen wurden. Im Rahmen der AVF-Überprüfung werden die folgenden Status geprüft:
Das Gerät hat Zugriff auf das Internet.
Das Gerät verwendet Verified Boot und der Build ist mit einem Release-Schlüssel (nicht mit einem Entwicklerschlüssel) signiert.
Der Bootloader des Geräts ist gesperrt. Weitere Informationen finden Sie unter Bootloader sperren.
Die Patch-Ebenen für Betriebssystem, Schlüssel-Boot und Schlüsselanbieter sind nicht älter als 12 Monate. Verwenden Sie keinen Build, der älter als ein Jahr ist.
Die Geräteattestierung wird durch eines der vom Anbieter genehmigten Stammzertifikate unterstützt. Geben Sie Ihre vertrauenswürdigen Root-Zertifikate im
vendor_required_attestation_certificates.xml-Ressourcen-Overlay an.
Hostseitige Tests ausführen
Für einige Tests auf mehreren Geräten, z. B. NFC-Tests, ist eine zusätzliche Einrichtung erforderlich. Bei Tests, für die eine zusätzliche Einrichtung erforderlich ist, wird jeder Test separat ausgeführt. Tests, für die keine zusätzliche Einrichtung erforderlich ist, können Sie in einer Gruppe ausführen.
Starten Sie auf Ihrer Test-Workstation die
cts-v-host-Konsole aus dem Verzeichnis, in dem das CTS-V-ZIP-Paket entpackt wurde:./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefedKlicken Sie in der CTS-V-App auf dem DUT auf Host-side Tests (Hostseitige Tests). Abbildung 4 zeigt die Host-seitigen Tests in der CTS-V-App:
Abbildung 4: Hostseitige Tests in der CTS-V-App.
Eine Liste der hostseitigen Multidevice-Testmodule wird angezeigt.
Verwenden Sie in der CTS-V-Hostkonsole den folgenden Befehl, um Tests für mehrere Geräte auszuführen, bei denen eine Standardkonfiguration mit zwei Geräten verwendet wird:
run cts-v-host-multidevice-defaultDie Ergebnisse werden unter jedem Testmodul in der CTS-V-App auf dem DUT angezeigt. Grün markierte Tests wurden bestanden, rot markierte Tests sind fehlgeschlagen.
Abbildung 5 zeigt Beispielergebnisse für die CtsCompanionDeviceManager-Tests:
Abbildung 5: Hostseitige Ergebnisse von Tests auf mehreren Geräten in der CTS-V-App.
Führen Sie in der CTS-V-Hostkonsole die interaktiven Tests mit dem folgenden Befehl aus:
run cts-v-host-interactiveDie Ergebnisse werden unter jedem Testmodul in der CTS-V-App auf dem DUT angezeigt. Grün markierte Tests wurden bestanden, rot markierte Tests sind fehlgeschlagen.
Führen Sie jeden Test, für den eine zusätzliche Einrichtung erforderlich war, separat mit dem folgenden Befehl aus:
run cts-v-host -m test_module_nameVerwenden Sie beispielsweise diesen Befehl, um die NFC-Tests auszuführen:
run cts-v-host -m CtsNfcHceMultiDeviceTestCasesDie Ergebnisse werden unter jedem Testmodul in der CTS-V-App auf dem DUT angezeigt. Grün markierte Tests wurden bestanden, rot markierte Tests sind fehlgeschlagen.
Tests für die WLAN-AP-Verbindung ausführen
Sie können die Tests für die WLAN-AP-Verbindung auf zwei Arten ausführen:
- Option 1: Verwenden Sie ein vorhandenes WLAN, das Sie für CTS-V eingerichtet haben.
- Option 2: Programmierbaren AP einrichten
Option 1: Vorhandenes WLAN verwenden, das Sie für CTS-V eingerichtet haben
So führen Sie die Tests für die WLAN-AP-Verbindung in einem vorhandenen WLAN aus:
Bearbeiten Sie die Testumgebungskonfigurationsdatei (
WifiConnectionTestbed.yaml). Diese Datei befindet sich in dem Verzeichnis, in dem CTS‑Verifier entpackt wurde. Beispiel:./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlÄndern Sie den Wert der Felder
wifi_ssidundwifi_passwordin die SSID und das Passwort des WLANs. Das folgende Beispiel zeigt, wo sich diese Einstellungen befinden:TestBeds: - Name: WifiConnectionTestbed Controllers: AndroidDevice: '*' TestParams: use_programmable_ap: False wifi_ssid: WIFI-SSID wifi_password: WIFI-PASSWORDFühren Sie in der CTS-V-Hostkonsole den folgenden Befehl aus:
run cts-v-host -m CtsWifiConnectionTests
Option 2: Mit einem programmierbaren AP ausführen
So führen Sie die Tests für die WLAN-AP-Verbindung auf einem programmierbaren AP aus:
Bearbeiten Sie die Testumgebungskonfigurationsdatei (
WifiConnectionTestbed.yaml). Diese Datei befindet sich in dem Verzeichnis, in dem CTS‑Verifier entpackt wurde. Beispiel:./android-cts-verifier/android-cts-v-host/testcases/CtsWifiConnectionTests/x86_64/connection/WifiConnectionTestbed.yamlÄndern Sie den Wert von
hostnamein die IP-Adresse des AP, basierend auf Ihren lokalen SSH-Einstellungen. Informationen zum Ermitteln der IP-Adresse finden Sie unter IP-Adresse des Access Points ermitteln. Das folgende Beispiel zeigt, wo sich die Einstellunghostnamebefindet:TestBeds: - Name: WifiConnectionTestbed Controllers: AndroidDevice: '*' # Specify settings for the AP. OpenWrtDevice: - hostname: AP-IP skip_init_reboot: True TestParams: use_programmable_ap: TrueFühren Sie in der CTS-V-Hostkonsole den folgenden Befehl aus:
run cts-v-host -m CtsWifiConnectionTests
USB-hostseitige Tests ausführen
Android 17 umfasst USB-CTS-V-Hostseitentests, für die adb über WLAN erforderlich ist.
Für einige USB-Tests ist der Zugriff auf SystemAPIs über den CTS-V-Host erforderlich, da die Berechtigungen der normalen CTS-V-App nicht ausreichen. Diese Tests sind nicht an ein Kabel gebunden und erfordern die Verwendung von adb über WLAN.
Die folgenden Typ‑C-Zubehörteile sind erforderlich, wenn das zu prüfende Gerät das Melden des BC 1.2-Typs des Portpartners oder von USB-Stromprofilen in UsbPort.java unterstützt:
- Ein USB Typ‑C-Ladegerät mit Power Delivery (PD)
- Ein Downstream-Port (SDP) gemäß dem Standard „USB Battery Charging 1.2“ (BC 1.2). Diese Ports sind auf 500 mA oder 900 mA für das Prüfling begrenzt und befinden sich in der Regel an den USB-Ports externer Hubs.
- Ein USB BC 1.2-Ladeanschluss (Charging Downstream Port, CDP). Über diese Ports können dem Prüfling 1,5 A Strom und Daten bereitgestellt werden. Ein Typ‑C-Anschluss an einem Laptop oder Computer ist wahrscheinlich ein CDP.
- Ein USB BC 1.2-Ladeanschluss (Dedicated Charging Port, DCP). Über diese Ports können 1,5 A Strom an das Prüfling geliefert werden, ohne dass Daten übertragen werden. Das USB‑Typ‑C-PD-Ladegerät in dieser Liste ist wahrscheinlich ein DCP.
Verbinden Sie das zu testende Gerät über WLAN mit
adb. Weitere Informationen zur Einrichtung finden Sie unter Über WLAN eine Verbindung zu einem Gerät herstellen.Trennen Sie das Gerät von allen USB-Verbindungen. Der Test schlägt fehl, wenn das Gerät an einen USB-Host oder ein Zubehör angeschlossen ist, wenn der Testbefehl ausgeführt wird.
Führen Sie den folgenden Testbefehl aus:
run cts-v-host -m CtsUsbTypecTestCases
Nach den Tests werden die Ergebnisse in der CTS-V-App unter Host-seitige Tests angezeigt, wie in den folgenden Abbildungen dargestellt:
Abbildung 6. Hostseitige USB-Tests in der CTS-V-App.
Abbildung 7. CtsUsbTypecTestCases-Suite in der hostseitigen USB CTS-V-App.
Fehlerbehebung bei Tests auf mehreren Geräten
In diesem Abschnitt finden Sie Informationen zur Fehlerbehebung bei häufigen Problemen.
Fehler beim Abrufen der Telefonnummer während des CtsTelecomTest
Wenn Sie die Fehlermeldung Failed to get phone number for <serial> erhalten, gehen Sie so vor:
Prüfe, ob in jedem DUT eine SIM-Karte eingelegt ist.
Wenn der Fehler weiterhin auftritt, unterstützen die SIM-Karten möglicherweise nicht das automatische Abrufen von Nummern. In diesem Fall müssen Sie die Telefonnummern explizit im Befehl angeben.
Für DUT 1 (Seriennummer
17011FDEE0002N, Telefonnummer555-0000) und DUT 2 (SeriennummerR3CN90YNAR, Telefonnummer555-1111) hängen Sie die folgenden Argumente an denrun cts-v-host-Befehl an:--module-arg CtsTelecomTest:dut_serial:17011FDEE0002N \ --module-arg CtsTelecomTest:dut_phone_number:555-0000 \ --module-arg CtsTelecomTest:ref_phone_number:555-1111
Keine Antwort vom Server während CtsMultiDeviceGenericRangingAccuracyTests
Wenn Sie die folgende Fehlermeldung erhalten, kann die Test-App auf bestimmten Geräten durch die OEM-spezifische Verwaltung von Hintergrundprozessen eingefroren oder beendet werden:
mobly.snippet.errors.ProtocolError: <AndroidDevice|Initiator> No response from server. Check the device logcat for crashes.
So beheben Sie das Problem: Deaktivieren Sie die Hintergrundbeschränkungen oder fügen Sie die folgenden Pakete auf die Zulassungsliste:
| Paket | Anzeigename |
|---|---|
com.google.snippet.uwb |
CtsUwbSnippetApp |
com.google.snippet.ranging |
CtsRangingSnippetApp |
com.google.snippet.bluetooth |
CtsBluetoothMultiDeviceSnippetApp |
com.google.android.mobly.snippet.bundled |
androidx.multidex.MultDexApplication |
Problem behoben: Keine Antwort für „GetFirmwareVersion“ bei NFC-Tests
Wenn Sie beim Ausführen der Tests für mehrere Geräte die Meldung verify_firmware_version RuntimeError: No response
for GetFirmwareVersion erhalten, können die Tests nicht auf das PN532-NFC-Board zugreifen.
Um dieses Problem zu beheben, müssen Sie den seriellen Pfad des PN532-NFC-Boards auf Ihrem Host ermitteln, z. B. dev/ttyUSB1, und ihn dann manuell mit dem Argument --module-arg in der Konsole angeben:
run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1
Fehlermeldung „Transaktion fehlgeschlagen“ bei NFC-Tests beheben
Wenn Sie für alle NFC-Testläufe die Meldung Transaction failed, check device logs for more
information. erhalten, liegt das wahrscheinlich daran, dass der NFC-Chip des zu testenden Geräts den PN532 nicht erkennen kann.
Wenn mehrere Geräte mit dem Host verbunden sind und einige davon keinen PN532 obenauf haben, wurde möglicherweise das falsche DUT ausgewählt. Weitere Informationen finden Sie unter NFC-Tests einrichten.
Führen Sie einen der folgenden Schritte aus, um das Problem zu beheben:
Legen Sie die Seriennummer des richtigen DUT im hostseitigen Testbefehl mit dem Flag
-sfest.Trennen Sie alle Geräte, die nicht zum Prüfling gehören, vom Host.
CDM-Testlauf test_permissions_sync wird ignoriert
Wenn der Test auf Geräten ausgeführt wird, die nicht debugfähig sind, prüfen Sie, ob Sie ausgenommen sind. Prüfen Sie andernfalls, ob beide Geräte die Voraussetzungen erfüllen.