CTS einrichten

Um CTS auszuführen, bereiten Sie zunächst Ihre physische Umgebung, Ihren Desktopcomputer und das Android-Gerät vor, das Sie zum Testen verwenden.

Physische Umgebung

Bluetooth LE-Beacons

Wenn das zu testende Gerät (DUT) Bluetooth LE unterstützt, platzieren Sie mindestens drei Bluetooth LE-Beacons innerhalb von 5 Metern vom DUT für den Bluetooth LE-Scantest. Diese Beacons müssen nicht konfiguriert werden oder etwas Spezifisches aussenden und können jede Art sein, einschließlich iBeacon, Eddystone oder sogar Geräte, die BLE-Beacons simulieren.

Kameras

Verwenden Sie beim Ausführen von Kamera-CTS normale Lichtverhältnisse mit einem Testmusterdiagramm (z. B. einem Schachbrettmuster). Platzieren Sie das Testmusterdiagramm entsprechend dem minimalen Fokusabstand des Prüflings, um sicherzustellen, dass es nicht zu nahe am Objektiv ist.

Die Kamera - Sensoren zu einer Szene mit einer ausreichenden Beleuchtung der Sensoren unter Test zu ermöglichen , an den maximalen konfigurierten Zieleinzelbilder pro Sekunde (FPS) , wie angegeben in zu erreichen , und bleiben CONTROL_AE_TARGET_FPS_RANGE . Dies gilt für alle Kamerasensoren von gemeldet getCameraIdList als Test iteriert über die aufgeführten Geräte und misst die Performance individuell.

Wenn das DUT 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.

GPS/GNSS

Wenn das DUT das Global Positioning System/Global Navigation Satellite System (GPS/GNSS) unterstützt, stellen Sie dem DUT ein GPS/GNSS-Signal mit einem geeigneten Signalpegel für den Empfang und die GPS-Standortberechnung bereit. Der GPS-Teil muss mit ICD-GPS-200C kompatibel sein. Andernfalls kann das GPS/GNSS-Signal von beliebiger Art sein, einschließlich eines Satellitensimulators oder eines GPS/GNSS-Repeaters von Außensignalen, oder Sie können das DUT nahe genug an einem Fenster platzieren, damit es direkt genug GPS/GNSS-Signal empfangen kann.

WLAN und IPv6

CTS-Tests erfordern ein Wi-Fi-Netzwerk, das IPv6 unterstützt, über eine Internetverbindung verfügt und das DUT als isolierten Client behandeln kann. Ein isolierter Client bezieht sich auf eine Konfiguration, bei der das DUT keine Sichtbarkeit für die Broadcast-/Multinetzwerknachrichten in diesem Subnetzwerk hat. Dies geschieht mit einer Wi-Fi-AP-Konfiguration oder indem das DUT in einem isolierten Subnetzwerk ausgeführt wird, ohne dass andere Geräte angeschlossen sind.

Wenn Sie keinen Zugriff auf ein natives IPv6-Netzwerk, ein IPv6-Anbieternetzwerk oder ein VPN haben, um einige Tests abhängig von IPv6 zu bestehen, können Sie einen Wi-Fi-Zugangspunkt und einen IPv6-Tunnel verwenden. Siehe Wikipedias Liste von IPv6 Tunnel Broker .

WLAN-RTT

Android enthält den Wi-Fi - RTT - API für eine Wi-Fi - Umlaufzeit (RTT) Fähigkeit. Auf diese Weise können Geräte ihre Entfernung zu Access Points mit einer Genauigkeit von 1 bis 2 Metern messen, was die Genauigkeit der Indoor-Ortung erheblich erhöht. Zwei empfohlene Geräte unterstützt Wi-Fi RTT sind Google Wifi und Compulab des fitlet2 Zugangspunkt (auf 40 MHz Bandbreite bei 5 GHz).

Die Access Points sollten eingeschaltet sein, benötigen aber keine Netzwerkverbindung. Zugangspunkte müssen sich nicht neben dem Testgerät befinden, es wird jedoch empfohlen, dass sie sich innerhalb von 12 m vom DUT befinden. Ein Zugangspunkt ist normalerweise ausreichend.

Einrichtung des Desktop-Computers

ADB und AAPT

Bevor die CTS läuft, stellen Sie sicher , dass Sie die aktuellen Versionen beide installiert haben Android Debug Bridge (adb) und Android Asset - Packaging Tool (AAPT) und hinzugefügt , um die Lage dieser Werkzeuge zum Systempfad Ihrer Maschine.

Um ADB zu installieren, laden Sie die Werkzeuge Android SDK - Paket für Ihr Betriebssystem, öffnen Sie es, und folgen Sie den Anweisungen in der mitgelieferten Readme - Datei. Informationen zur Fehlerbehebung finden Sie die Stand-alone - SDK - Tools installieren .

Stellen Sie sicher , dass adb und aapt sind in Ihrem Systempfad. Der folgende Befehl geht davon aus, dass Sie das Paketarchiv in Ihrem Home-Verzeichnis geöffnet haben:

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

Java Entwickler-Kit

Installieren Sie die richtige Version des Java Development Kit (JDK). Für Android 7.0 oder höher:

Weitere Einzelheiten finden Sie in den JDK Anforderungen .

CTS-Dateien

Download und öffnen Sie die CTS - Pakete von Compatibility Test Suite Downloads Ihrer Geräte Android - Version passender und alle der Binärschnittstelle (Abi) , dass Ihre Geräte unterstützen.

Herunterladen und öffnen Sie die neueste Version der CTS - Mediendateien .

Geräteerkennung

Folgen Sie den Schritt auf Ihrem System einrichten, um Ihr Gerät zu erkennen .

Einrichtung des Android-Geräts

Benutzer-Builds

Ein kompatibles Gerät ist definiert als ein Gerät mit einem vom Benutzer/Freigabeschlüssel signierten Build. Ihr Gerät soll ein Systemabbild auf dem bekannte Basis läuft kompatibel Benutzer Build (Android 4.0 oder höher) zu sein , von Kodenamen, Tags und Build - Nummern .

Build-Property der ersten API-Ebene

Bestimmte CTS-Anforderungen hängen vom Build ab, mit dem ein Gerät ursprünglich geliefert wurde. Beispielsweise können Geräte, die ursprünglich mit früheren Builds geliefert wurden, von den Systemanforderungen ausgeschlossen werden, die für Geräte gelten, die mit späteren Builds geliefert werden.

Um diese Informationen zur Verfügung stellen zu CTS, Gerätehersteller konnte den Build - Zeiteigenschaft definiert ro.product.first_api_level . Der Wert dieser Eigenschaft ist die erste API-Ebene, mit der das Gerät kommerziell eingeführt wurde.

Die Gerätehersteller können die gemeinsame zugrunde liegende Implementierung wiederverwenden, um ein neues Produkt als Upgrade eines bestehenden Produkts in derselben Gerätegruppe auf den Markt zu bringen. Die Gerätehersteller können optional die API - Ebene des bestehenden Produkts einzustellen ro.product.first_api_level , so dass Upgrade - Anforderungen für CTS und Höhen / VTS angewandt werden.

Die Gerätehersteller können hinzufügen PRODUCT_PROPERTY_OVERRIDES in ihre device.mk Datei diese Eigenschaft einzustellen, wie im folgenden Beispiel gezeigt:

#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

Erste API-Ebene für Android 9 oder höher

Für Geräte mit Android gestartet 9 oder höher, stellen Sie die ro.product.first_api_level Eigenschaft auf einen gültigen Wert von Kodenamen, Tags und Build - Nummern .

Erste API-Ebene für Android 8.x oder niedriger

Für auf Android 8.x gestartet Geräte oder niedriger ist , nicht gesetzt (Entfernen) die ro.product.first_api_level Eigenschaft für das erste Build des Produkts. Für alle nachfolgenden Satz baut ro.product.first_api_level auf den richtigen API - Level - Wert. Auf diese Weise kann die Eigenschaft ein neues Produkt korrekt identifizieren und Informationen über die erste API-Ebene des Produkts beibehalten. Wenn das Flag nicht gesetzt ist, ordnet Android Build.VERSION.SDK_INT zu ro.product.first_api_level .

CTS-Shim-Pakete

Android 10 oder höher enthält ein Paket - Format namens APEX . So führt CTS - Tests für APEX - Management - APIs (wie die Aktualisierung auf eine neue Version oder die Berichterstattung aktiv Scheitel) Sie vorinstallieren müssen CtsShimApex Paket auf dem Zielgerät.

CtsShimApex ist erforderlich , auf einer vorinstalliert sein /system

Wenn die ro.apex.updatable Eigenschaft gesetzt ist true , CtsShimApex ist für alle Geräte erforderlich , die APEX - Paketverwaltung unterstützen.

Wenn die ro.apex.updatable Eigenschaft fehlt oder nicht gesetzt ist, CtsShimApex nicht auf einer Paketverwaltung wurden vorinstalliert erforderlich. Wenn die ro.apex.updatable Eigenschaft fehlt oder nicht gesetzt ist, CtsShimApex nicht auf einem Gerät werden vorinstalliert erforderlich. Die APEX Shim Validierungstest überprüft die Umsetzung der CtsShimApex .

Beginnend mit Android 11, CtsShimApex enthält zwei vordefinierte Anwendungen (von gebaut dieser Quelle ), die einen Code enthält keine Ausnahme des manifest. CTS verwendet diese Apps, um Berechtigungen und Berechtigungen zu testen.

Wenn das Gerät nicht APEX - Paketverwaltung unterstützt (das heißt, die ro.apex.updatable Eigenschaft fehlt oder ist nicht gesetzt), oder wenn das Gerät läuft Version 10 oder niedriger, die beide vorgefertigten Anwendungen müssen in dem vorinstalliert System separat:

Um die Tests zu bestehen, laden Sie die Apps vorab in die entsprechenden Verzeichnisse des Systemabbilds, ohne die Apps erneut zu signieren.

Beispiel-Applet

Android 9 führte Open Mobile APIs ein. Für Geräte, die mehr als ein sicheres Element melden, fügt CTS Testfälle hinzu, um das Verhalten der Open Mobile APIs zu validieren. Diese Testfälle erfordern die einmalige Installation eines Beispiel-Applets in das eingebettete Secure Element (eSE) des DUT oder in die vom DUT verwendete SIM-Karte. Die ese Probe - Applet und die SIM - Probe - Applet kann in AOSP finden.

Siehe CTS - Test für Secure Element für detailiertere Informationen zu Open Mobile API Testfällen und Access Control Testfällen.

Lagerungssansprüche

Die CTS Medien Stresstests Videoclips erfordern auf externen Speicher (sein /sdcard ). Die meisten Clips sind von Big Buck Bunny , die von der Blender Foundation unter dem Urheberrecht Creative Commons Attribution 3.0 Lizenz .

Der erforderliche Speicherplatz hängt von der maximalen Auflösung der Videowiedergabe ab, die vom Gerät unterstützt wird. Abschnitt 5 in dem Siehe Android Compatibility Definition Dokument für die Plattform - Version der erforderlichen Beschlüsse).

Hier sind die Speicheranforderungen nach maximaler Videowiedergabeauflösung:

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

Bildschirm und Speicher

  • Jedes Gerät, das keinen eingebetteten Bildschirm hat, muss mit einem Bildschirm verbunden werden.
  • Wenn das Gerät über einen Speicherkartensteckplatz verfügt, stecken Sie eine leere SD-Karte ein. Verwenden Sie eine SD-Karte, die Ultra High Speed ​​(UHS)-Bus mit SDHC- oder SDXC-Kapazität unterstützt, oder eine mit mindestens Geschwindigkeitsklasse 10 oder höher, um sicherzustellen, dass sie das CTS besteht.

  • Wenn das Gerät über SIM-Kartensteckplätze verfügt, stecken Sie eine aktivierte SIM-Karte in jeden Steckplatz. Wenn das Gerät SMS unterstützt, muss jede SIM-Karte ein eigenes Nummernfeld haben. Bei Geräten mit Android 12 oder höher müssen alle SIM-Karten das Speichern von Kurzwahlnummern (ADN) unterstützen. GSM und USIM - Karten mit der Telekom - Spezialdatei (DF Telecom) erfüllen diese Anforderung.

Entwickler-UICC

CTS Träger API - Tests ausführen zu können, muss das Gerät eine SIM mit CTS Träger Privilegien die Anforderungen spezifiziert Sitzung verwenden , in der UICC vorbereiten .

Android-Gerätekonfiguration

  1. Auf Werkszustand zurückgesetzt das Gerät: Einstellungen> Backup & Reset> Auf Werkszustand zurück.

  2. Stellen Sie das Gerät die Sprache in Englisch (USA): Einstellungen> Sprache & Eingabe> Sprache.

  3. Schalten Sie die Standorteinstellung , wenn es ein GPS oder WLAN / Mobilfunknetz - Funktion auf dem Gerät: Einstellungen> Standort> Ein.

  4. Eine Verbindung mit einem Wi-Fi - Netzwerk , dass IPv6 unterstützt, kann das DUT als isoliertes Client behandeln (siehe Physikalische Umwelt oben) und verfügt über einen Internetanschluss: Einstellungen> Wi-Fi.

  5. Achten Sie darauf , dass keine Sperrmuster oder das Kennwort auf dem Gerät festgelegt ist: Einstellungen> Sicherheit> Bildschirmsperre> Keine.

  6. Aktivieren USB - Debugging auf Ihrem Gerät: Einstellungen> Entwickleroptionen> USB - Debugging.

  7. Stellen Sie die Zeit auf 12-Stunden - Format: Einstellungen> Datum & Uhrzeit> Verwendung von 24-Stunden - Format> Aus.

  8. Stellen Sie das Gerät , wach zu bleiben: Einstellungen> Entwickleroptionen> Stay Awake> Ein.

  9. In Android 5.x und 4.4.x nur, stellen Sie das Gerät simulierte Standort- ermöglichen: Einstellungen> Entwickleroptionen> Falsche Standorte> Am .10. In Android 4.2 oder höher, deaktivieren Sie USB - App - Überprüfung: Einstellungen> Entwickleroptionen> Apps bestätigen über USB> Off .11. Starten Sie den Browser und schließen Sie alle Start-/Setup-Bildschirme.

  10. Verbinden Sie den Desktop-Computer, der zum Testen des Geräts verwendet wird, mit einem USB-Kabel.

Dateiinstallation

Installieren und konfigurieren Sie Hilfs-Apps auf dem Gerät.

  1. Richten Sie Ihr Gerät entsprechend Ihrer CTS-Version ein:

    • CTS Versionen 2.1 R2 bis 4.2 R4: Richten Sie das Gerät (oder Emulator) , um die Zugänglichkeit Tests mit auszuführen: abd install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk

      Auf dem Gerät ermöglicht Delegation: Einstellungen> Bedienungshilfen> Bedienungshilfen> Delegieren Zugänglichkeit - Service.

    • CTS Versionen 6.x oder senken: Bei Geräten , dass declare android.software.device_admin , richten Sie Ihr Gerät die Geräteverwaltung Test auszuführen: adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk`

      In Einstellungen> Sicherheit> Geräte - Administratoren ermöglichen , die beiden android.deviceadmin.cts.CtsDeviceAdminReceiver* Geräteadministratoren. Sicherstellen , dass android.deviceadmin.cts.CtsDeviceAdminDeactivatedReceiver und alle anderen vorgespannte Geräteverwalter bleiben deaktiviert.

  2. Kopieren Sie die CTS-Mediendateien wie folgt auf das Gerät:

    1. Navigieren ( cd ) zu dem Pfad , in dem die Mediendateien heruntergeladen und entpackt.
    2. Ändern Sie die Dateiberechtigungen: chmod u+x copy_media.sh

    3. Kopieren Sie die erforderlichen Dateien:

      • Um Clips bis zu einer Auflösung von 720 x 480 zu kopieren, führen Sie Folgendes aus:

        ./copy_media.sh 720x480
        
      • Wenn Sie sich bei der maximalen Auflösung nicht sicher sind, kopieren Sie alle Dateien:

        ./copy_media.sh all
        
      • Wenn mehrere Geräte unter adb sind, fügen Sie die serielle Option ( -s ) ein bestimmtes Geräts bis zum Ende. Um beispielsweise bis zu 720 x 480 auf das Gerät mit der Seriennummer 1234567 zu kopieren, führen Sie Folgendes aus:

        ./copy_media.sh 720x480 -s 1234567