Automatisierte CTS-Tests einrichten

Bevor Sie automatisierte CTS-Tests ausführen können, müssen Sie Ihre physische Umgebung vorbereiten, Ihre Workstation einrichten und das zu testende Gerät konfigurieren.

Physische Umgebung einrichten

Für bestimmte CTS-Tests müssen externe Geräte in der Nähe des zu testenden Geräts eingerichtet werden. So richten Sie Ihre physische Umgebung ein:

  1. Optional: Wenn Ihr Prüfling Bluetooth LE unterstützt, platzieren Sie mindestens drei Bluetooth LE-Beacons in einem Umkreis von 5 Metern um den Prüfling, um Bluetooth LE-Scans zu testen. Zusätzlich:

    • Die Beacons müssen nicht konfiguriert werden und nichts Bestimmtes ausstrahlen.
    • Die Beacons können beliebiger Art sein, z. B. iBeacon, Eddystone oder sogar Geräte, die BLE-Beacons simulieren.
  2. Platzieren Sie das Smartphone vor einer Szene, z. B. einer Wand oder der Decke, in einem Abstand, der dem Mindestfokussierungsabstand des zu testenden Geräts entspricht. Zusätzlich:

    • Die Szene muss ausreichend beleuchtet sein, damit die getesteten Sensoren die maximal konfigurierten Ziel-FPS (Frames pro Sekunde) erreichen und beibehalten können, wie in CONTROL_AE_TARGET_FPS_RANGE angegeben.
    • Diese Einrichtung gilt für alle von getCameraIdList gemeldeten Kamerasensoren, da der Test die aufgeführten Geräte durchläuft und die Leistung einzeln misst.
    • Wenn das zu testende Gerät externe Kameras wie USB-Webcams unterstützt, schließen Sie beim Ausführen von CTS eine externe Kamera an. Andernfalls schlagen die CTS-Tests fehl.
  3. Optional: Wenn Ihr Prüfling ein GPS (Global Positioning System) oder ein anderes GNSS (Global Navigation Satellite System) unterstützt, stellen Sie dem Prüfling ein GNSS-Signal mit einem geeigneten Signalpegel für den Empfang und die Standortberechnung zur Verfügung. Zusätzlich:

    • Das GPS muss ICD-GPS-200C entsprechen.
    • Das GNSS-Signal kann von beliebiger Art sein, z. B. von einem Satellitensimulator oder einem Repeater für Außensignale.
    • Sie können das Prüfgerät in der Nähe eines Fensters platzieren, damit es direkt genügend GNSS-Signale von einem Satelliten empfangen kann.
  4. Achte darauf, dass dein WLAN IPv4 und IPv6 unterstützt, eine Internetverbindung mit DNS für IPv4 und IPv6 hat, IP-Multicast unterstützt und das zu testende Gerät als isolierten Client behandeln kann.

    Wenn Sie keinen Zugriff auf ein natives IPv6-Netzwerk, ein IPv6-Mobilfunknetz oder ein VPN haben, um IPv6-Tests zu bestehen, verwenden Sie einen WLAN-AP und einen IPv6-Tunnel.

  5. Achten Sie darauf, dass auf dem zu testenden Gerät die Flags UP, BROADCAST und MULTICAST für die WLAN-Schnittstelle festgelegt sind.

  6. Prüfen Sie, ob der WLAN-Schnittstelle IPv4- und IPv6-Adressen zugewiesen sind. Führen Sie adb shell ifconfig aus, um die Eigenschaften der WLAN-Schnittstelle zu prüfen.

  7. Optional: Wenn Ihr DUT Wi‑Fi STA oder STA-Concurrency unterstützt, richten Sie mindestens zwei WLANs ein. Diese WLANs müssen auf unterschiedlichen Bändern mit unterschiedlichen SSIDs oder auf derselben SSID mit unterschiedlichen BSSIDs ausgeführt werden.

  8. Optional: Wenn Ihr Testgerät WLAN-Umlaufzeit (RTT) unterstützt, richten Sie ein Gerät ein, das WLAN-RTT unterstützt:

    1. Platziere das Wi‑Fi RTT-Gerät maximal 12 Meter vom Prüfling entfernt.
    2. Schalte das RTT-Gerät ein.

    Hier sind zwei empfohlene Geräte, die Wi‑Fi RTT unterstützen: - Google Wifi - Compulab fitlet2-Zugangspunkt (auf 40 MHz Bandbreite bei 5 GHz eingestellt).

Desktopcomputer einrichten

Bevor Sie die automatisierten CTS-Tests ausführen, müssen Sie dafür sorgen, dass Ihr Desktopcomputer die Hardware- und Betriebssystemanforderungen erfüllt und die richtige Software installiert ist, wie in den folgenden Abschnitten beschrieben.

Hardwareanforderungen für Meet

Ihr CTS-Desktopcomputer sollte die folgenden Hardwareanforderungen erfüllen oder übertreffen:

  • Ein 64-Bit-x86-System

  • Mindestens 256 GB freier Speicherplatz für die erhöhte Anzahl von CTS-Testläufen und die erhöhte Reservierung von Java-Heapspeicher in Tradefed

  • Mindestens 32 GB RAM

Anforderungen an das Betriebssystem erfüllen

  • Auf Ihrem Entwicklungscomputer muss eine 64‑Bit-Linux-Distribution mit GNU C Library (glibc) 2.17 oder höher ausgeführt werden.

  • Die Sprache des Betriebssystems sollte auf „Englisch“ eingestellt sein, damit CTS den Pfad richtig auflösen kann.

Desktopsoftware installieren

So installieren Sie die richtige Desktopsoftware für CTS:

  1. Installieren Sie das FFmpeg-Paket in Version 5.1.3 oder höher.

  2. Installieren Sie die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT2) und fügen Sie den Speicherort dieser Tools dem Systempfad Ihres Computers hinzu:

    1. Folgen Sie der Anleitung am Anfang der SDK Manager-Dokumentation, um das sdkmanager-Befehlszeilentool zu installieren. Der Link zum Herunterladen der Befehlszeilentools befindet sich unten auf der Downloadseite für Android Studio im Bereich Nur Befehlszeilentools.
    2. Aktualisieren Sie den Systempfad, um den Speicherort der neu installierten sdkmanager einzuschließen.
    3. Installieren Sie mit sdkmanager die neuesten platform-tools- und build-tools-Pakete. Diese Pakete enthalten adb und AAPT2. Informationen zum Installieren von Paketen finden Sie unter Pakete installieren.
    4. Aktualisieren Sie den Pfad, damit er den Speicherort der neu installierten adb- und AAPT2-Tools enthält.
    5. Prüfen Sie, ob sich „adb“ und AAPT2 in Ihrem Pfad befinden.
  3. Installieren Sie die richtige Version des Java Development Kit (JDK):

  4. (Optional) Installieren Sie für Android 13 und 14 virtualenv. Das Tool „virtualenv“ ist für Tests auf mehreren Geräten erforderlich.

  5. Geben Sie python3 ein, um zu prüfen, ob Python installiert ist. Die Python-Version und das Datum sollten angezeigt werden. Das bedeutet, dass Python ordnungsgemäß installiert ist.

  6. Laden Sie die CTS-Pakete von Compatibility Test Suite-Downloads herunter und öffnen Sie sie. Die Pakete müssen der Android-Version Ihrer Geräte und allen von Ihren Geräten unterstützten ABIs (Application Binary Interfaces) entsprechen.

  7. Laden Sie die neueste Version der CTS-Mediendateien herunter und öffnen Sie sie. Die Media-Dateien enthalten Videoclips aus Big Buck Bunny, die von der Blender Foundation unter der Creative-Commons-Lizenz „Namensnennung 3.0“ urheberrechtlich geschützt sind.

  8. (Optional) Wenn Sie CTS zum ersten Mal ausführen, werden einige Mainline-bezogene CTS-Dateien dynamisch heruntergeladen. Je nach Netzwerkgeschwindigkeit kann sich die CTS-Laufzeit durch diesen Download um 10 Minuten oder mehr verlängern.

    Um diese zusätzliche CTS-Laufzeit zu vermeiden, können Sie die Mainline-bezogenen CTS-Dateien vor dem Ausführen von CTS herunterladen. Informationen zum Herunterladen der Mainline-bezogenen CTS-Dateien finden Sie unter Mainline-bezogene CTS-Dateien herunterladen.

DUT vorbereiten

Nachdem Sie Ihren Desktopcomputer eingerichtet haben, müssen Sie das zu testende Gerät einrichten und konfigurieren.

DUT einrichten

So richten Sie das zu testende Gerät ein:

  1. Das zu testende Gerät muss ein System-Image ausführen, das auf dem bekannten kompatiblen Nutzer-Build (Android 4.0 oder höher) aus Codenames, Tags, and Build Numbers basiert und die Build-Variante user verwendet. Weitere Informationen zu Build-Varianten finden Sie unter Ziel auswählen.

  2. Wenn auf dem DUT Android 13 oder höher ausgeführt wird, muss für den Build ro.product.first_api_level auf das API‑Level festgelegt sein, mit dem das Gerät kommerziell eingeführt wurde. Nehmen Sie dazu die folgende Änderung an der Datei device.mk vor:

    PRODUCT_SHIPPING_API_LEVEL := 21
    

    Bestimmte CTS-Anforderungen hängen vom Build ab, mit dem ein Gerät ursprünglich ausgeliefert wurde. Beispielsweise können Geräte, die ursprünglich mit früheren Builds ausgeliefert wurden, von Systemanforderungen ausgeschlossen sein, die für Geräte gelten, die mit späteren Builds ausgeliefert werden. Gültige API-Level-Werte finden Sie unter Codenamen, Tags und Build-Nummern. Weitere Informationen zu ro.product.first_api_level finden Sie unter Anbieter‑API‑Level.

    Informationen für Android 10 oder niedriger finden Sie unter CTS einrichten (AOSP 10 oder niedriger).

  3. Wenn Ihr Gerät die APEX-Paketverwaltung unterstützt:

    1. Laden Sie das APEX-Shim-Paket für Ihre Android-Version und Hardwarearchitektur herunter. Die beiden linken Spalten in der Tabelle Shim-Pakete enthalten Links zum Herunterladen des Pakets.
    2. Kopieren Sie das heruntergeladene Paket nach /system/apex.
    3. Benennen Sie die Datei in com.android.apex.cts.shim.apex um.
  4. Wenn Ihr Gerät die APEX-Paketverwaltung nicht unterstützt:

    1. Laden Sie die APEX-Shim-Pakete für Ihre Android-Version und Hardwarearchitektur herunter. In den beiden rechten Spalten der Tabelle Shim-Pakete finden Sie Links zum Herunterladen der Pakete.
    2. Kopieren Sie CtsShim.apk nach /system/app/.
    3. Benennen Sie CtsShim.apk in CtsShimPrebuilt.apk um.
    4. Kopieren Sie CtsShimPriv.apk nach /system/priv-app/.
    5. Benennen Sie CtsShimPriv.apk in CtsShimPrivPrebuilt.apk um.
  5. Wenn Ihr Gerät mehr als ein sicheres Element meldet:

    1. Laden Sie google-cardlet.cap herunter.
    2. Kopieren Sie die heruntergeladene Datei in /data/uicc/cardlets/.
  6. Wenn Ihr Gerät mehr als ein Secure Element meldet, installieren Sie das Beispiel-Applet im eingebetteten Secure Element (eSE) des DUT oder auf der vom DUT verwendeten SIM-Karte. Weitere Informationen finden Sie unter CTS-Test für Secure Element.

  7. Wenn Ihr Gerät keinen integrierten Bildschirm hat, schließen Sie einen Bildschirm an das Gerät an.

  8. Wenn das Gerät einen Speicherkartensteckplatz hat, stecken Sie eine leere SD-Karte ein. Verwenden Sie eine SD-Karte, die einen UHS-Bus (Ultra High Speed) mit SDHC- oder SDXC-Kapazität unterstützt, oder eine Karte mit der Geschwindigkeitsklasse 10 oder höher, damit sie den CTS besteht.

  9. Wenn das Gerät SIM-Kartensteckplätze hat, stecken Sie in jeden Steckplatz eine aktivierte SIM-Karte ein. Wenn das Gerät SMS unterstützt, muss für jede SIM-Karte ein eigenes Nummernfeld ausgefüllt sein. Auf Geräten mit Android 12 oder höher müssen alle SIM-Karten die Speicherung von Kurzwahlnummern (Abbreviated Dialing Numbers, ADN) unterstützen. GSM- und USIM-Karten mit der Telekommunikationsdatei (DFTelecom) erfüllen diese Anforderung.

  10. Achten Sie darauf, dass auf Ihrem Gerät eine SIM-Karte mit CTS-Carrier-Berechtigungen eingelegt ist, die den Anforderungen unter UICC vorbereiten entsprechen.

DUT konfigurieren

Führen Sie die folgenden Schritte aus, um Ihr DUT für die Verwendung mit CTS zu konfigurieren.

Auf dem zu testenden Gerät:

  1. Setzen Sie das Gerät auf die Werkseinstellungen zurück.

  2. Stellen Sie die Sprache des Geräts auf Englisch (USA) ein.

  3. Wenn das Gerät das Anpassen von Standardschriftarten unterstützt, muss die Standardschriftfamilie Sans-Serif auf Roboto festgelegt sein.

  4. Wenn das Gerät eine GPS‑, WLAN‑ oder Mobilfunknetzfunktion hat, aktivieren Sie die Standorteinstellung.

  5. Verbinden Sie das DUT mit einem WLAN, das IPv6 unterstützt, das DUT als isolierten Client behandeln kann und eine Internetverbindung hat. Eine Erklärung zu isolierten Clients finden Sie unter Physische Umgebung einrichten.

  6. Achten Sie darauf, dass kein Sperrmuster oder Passwort festgelegt ist.

  7. USB-Debugging aktivieren:

    1. Gehe zu Einstellungen > Über das Telefon und tippe siebenmal auf die Build-Nummer. Die Entwickleroptionen werden in der Einstellungskategorie System angezeigt.

    2. Tippen Sie auf USB-Debugging.

    Informationen zum Aktivieren des USB-Debuggings unter Android 10 oder niedriger finden Sie unter CTS einrichten (AOSP 10 oder niedriger).

  8. Stellen Sie die Uhrzeit auf das 12-Stunden-Format ein.

  9. Aktivieren Sie Entwickleroptionen > Wach bleiben.

  10. So deaktivieren Sie die USB-App-Überprüfung:

    1. Rufen Sie die Entwickleroptionen auf.

    2. Tippen Sie auf Über USB installierte Apps prüfen.

  11. Aktivieren Sie in Android 13 oder höher das Mock-Modem:

    1. Rufen Sie die Entwickleroptionen auf.

    2. Tippen Sie auf Mock Modem zulassen.

    Diese Einstellung ist für bestimmte Telefonietests erforderlich.

Auf dem Computer:

  1. Starten Sie den Browser und schließen Sie alle Start- oder Einrichtungsbildschirme.

  2. Verbinden Sie das zu testende Gerät über ein USB-Kabel mit dem Desktopcomputer.

  3. Wenn Sie vom System aufgefordert werden, einen RSA-Schlüssel zu akzeptieren, der das Debugging über diesen Computer ermöglicht, klicken Sie auf USB-Debugging zulassen.

  4. Legen Sie Roboto2 als serifenlose Schriftart fest. Verwenden Sie dazu eine für Nutzer zugängliche (nicht verborgene) Einstellung.

  5. Kopieren Sie die CTS-Mediendateien auf das DUT:

    1. Navigieren Sie (cd) zum Pfad, in dem die Media-Dateien heruntergeladen und entzippt werden.
    2. So ändern Sie die Dateiberechtigungen:

      chmod u+x copy_media.sh
      
    3. Kopieren Sie die Dateien:

      • So kopieren Sie Clips mit einer Auflösung von bis zu 720 × 480:

        ./copy_media.sh 720x480
      • Wenn Sie sich nicht sicher sind, welche Auflösung die maximale ist, kopieren Sie alle Dateien:

        ./copy_media.sh all
      • Wenn es mehrere Testgeräte gibt, fügen Sie die Seriennummeroption (-s) eines bestimmten Geräts am Ende hinzu. Wenn Sie beispielsweise bis zu 720 × 480 auf das Gerät mit der Seriennummer 1234567 kopieren möchten, führen Sie folgenden Befehl aus:

        ./copy_media.sh 720x480 -s 1234567

Mainline-bezogene CTS-Dateien herunterladen

So laden Sie die Mainline-bezogenen CTS-Dateien herunter:

  1. So rufen Sie das Android-API-Level auf dem Gerät ab:

    adb shell getprop ro.build.version.sdk
    
  2. Folgen Sie der Anleitung im download_mcts.sh-Script, um die Mainline CTS-Dateien herunterzuladen.

    Der Download dauert je nach Netzwerkgeschwindigkeit mindestens 10 Minuten.

Shim-Pakete

In der folgenden Tabelle sind die für die einzelnen Geräteversionen und Architekturen verfügbaren Pakete aufgeführt:

Geräteversion Pakete (falls APEX unterstützt wird) Pakete (wenn APEX nicht unterstützt wird)
SCHARF SCHALTEN x86 SCHARF SCHALTEN x86
Android 16 16-arm-release android16-x86-release android16-arm-CtsShim.apk

android16-arm-CtsShimPriv.apk

android16-x86-CtsShim.apk

android16-x86-CtsShimPriv.apk

Android 15 15-arm-release android15-x86-release android15-arm-CtsShim.apk

android15-arm-CtsShimPriv.apk

android15-x86-CtsShim.apk

android15-x86-CtsShimPriv.apk

Android 14 android14-arm-release android14-x86-release android14-arm-CtsShim.apk

android14-arm-CtsShimPriv.apk

android14-x86-CtsShim.apk

android14-x86-CtsShimPriv.apk

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

android13-arm-CtsShimPriv.apk

android13-x86-CtsShim.apk

android13-x86-CtsShimPriv.apk

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

android12-arm-CtsShimPriv.apk

android12-x86-CtsShim.apk

android12-x86-CtsShimPriv.apk

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

android11-arm-CtsShimPriv.apk

android11-x86-CtsShim.apk

android11-x86-CtsShimPriv.apk

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

android10-arm-CtsShimPriv.apk

android10-x86-CtsShim.apk

android10-x86-CtsShimPriv.apk

Android 9, O und O-MR1 arm-CtsShim.apk

arm-CtsShimPriv.apk

x86-CtsShim.apk

x86-CtsShimPriv.apk

Und jetzt?

Nachdem Sie dieses Dokument gelesen haben, fahren Sie mit Automatisierte CTS-Tests ausführen fort.