Tests für die Medienleistung ausführen

Die Android Compatibility Test Suite (CTS) umfasst Tests der Leistungsklasse für Medien für Geräte mit Android 11 oder höher. Da sich der Testprozess zwischen Geräten mit Android 13 und Geräten mit Android 11 oder Android 12 unterscheidet, müssen Sie die Anleitung für die Android-Version befolgen, die auf Ihren Geräten ausgeführt wird.

Tests herunterladen

Laden Sie die folgenden Tests herunter:

Geräte mit Android 14 oder höher testen

In diesem Abschnitt werden die Tests beschrieben, die für Geräte mit Android 14 oder höher erforderlich sind.

Tests zur Video-Codierungsqualität (VEQ) der Leistungsklasse 14 (PC14) ausführen

Mit Android 14 werden Anforderungen an die Video-Codierungsqualität (VEQ) für Geräte der Leistungsklasse 14 (PC14) eingeführt. Die PC14-VEQ-Anforderungen definieren im Wesentlichen eine grundlegende Qualitätsanforderung auf messbare Weise für die Hardware-Videocoder auf einem PC14-Gerät.

Ziel ist es, zu überprüfen, ob jedes Gerät mit Android, das in die Leistungsklasse 14 eingeteilt ist, Endnutzern ein erstklassiges Medienerlebnis bietet, indem es hochwertige Videoinhalte erstellt.

Die PC14-VEQ-Anforderungen werden mit einem neuen CTS-Test namens CtsVideoEncodingQualityHostTest überprüft.

Bei diesem CTS-Test wird eine Reihe von Codierungstests ausgeführt, die durch die Konfiguration JSON-Dateien definiert sind. Dabei wird die Jetpack Media3 Transformer API verwendet. Für jeden Testfall wird die Rate-Distortion-Kurve (RD) des zu testenden Encoders generiert, indem ein Bitstream mit den Encoder-Einstellungen aus der JSON-Datei codiert wird. Die Referenz-Rate-Distortion-Kurve ist in derselben JSON-Datei enthalten. Mit der Video Multimethod Assessment Fusion (VMAF) vmaf_v0.6.1.json wird die Verzerrung (d. h. der Qualitätsverlust) berechnet.

Ein Testfall kann nur bestanden werden, wenn das BDRATE-VMAF-Ergebnis kleiner oder gleich null ist.

Der PC14-VEQ-CTS-Test umfasst Codierungskonfigurationen, darunter:

  • AVC- und HEVC-Hardware-Encoder
  • VBR-Geschwindigkeitsmodus
  • P-Frame-/B-Frame-Codierung
  • 1920 × 1080p30fps (Querformat) oder 1080 × 1920p30fps (Hochformat)

Geräte mit Android 13 oder höher testen

Bereiten Sie die Geräte vor dem Start eines Tests vor:

  1. Richten Sie das Gerät so ein, dass es die Leistungsklasse 13 (PC13) für Medien angibt. Setzen Sie dazu den Wert der Systemeigenschaft _ro.odm.build.media_performance_class auf 33.

  2. Prüfen Sie, ob das Systemimage des Geräts Android 13 oder höher ist. Sie können zwar Media CTS-Tests auf einem Systemimage mit Android 11 oder höher ausführen, für Kamera-CTS-Tests sind jedoch Android 13-Funktionen für PC13 erforderlich.

ITS-Tests für die Kamera ausführen

Wenn Sie nur ITS-Tests für die Kamera ausführen möchten, legen Sie zuerst die Seriennummern des Geräts und des Tablets in config.yml fest. Führen Sie nach der Einrichtung Tests für die Front- und Rückkamera aus:

python tools/run_all_tests.py camera=[PRIMARY_REAR_CAMERA_ID] scenes=2_c
python tools/run_all_tests.py camera=[PRIMARY_FRONT_CAMERA_ID] scenes=2_c

Tests der Leistungsklasse für Medien ausführen

Mit dem cts-media-performance-class Testplan werden die CDD-Anforderungen für die Leistungsklasse für Medien (CDD Abschnitt 2.2.7.1) und die Kameraanforderungen (CDD Abschnitt 2.2.7.2) überprüft. Führen Sie den Test cts-media-performance-class aus:

cts-tradefed run cts-media-performance-class

So führen Sie nur die Kamera-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics

So führen Sie nur die Media-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

MediaDrm-CTS-Tests ausführen

Mit MediaDrm-CTS-Tests werden die MediaDrm-Anforderungen in CDD Abschnitt 2.2.7.1 überprüft. Führen Sie MediaDrm-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testSecureHwDecodeSupport
cts-tradefed run singleCommand cts --disable-reboot -c android.mediapc.cts.PerformanceClassTest -m testMediaDrmSecurityLevelHwSecureAll

Dateisystem-CTS-Tests ausführen

Mit Dateisystem-CTS-Tests werden die Leistungsanforderungen in CDD Abschnitt 2.2.7.4 überprüft.

  • So testen Sie die Anforderungen an das sequenzielle Lesen und Schreiben:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest
  • So testen Sie die Anforderungen an das zufällige Lesen und Schreiben:

    cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest

Geräte mit Android 11 oder 12 testen

Wenn Sie Geräte mit Android 11 oder 12 testen möchten, richten Sie zuerst die Testgeräte ein. Die Einrichtung unterscheidet sich je nach Android-Version und zwischen Userdebug- und Nutzergeräten. Führen Sie dann CTS- und CTS-Verifier-Tests aus.

Leistungsklasse für Medien angeben

Führen Sie die folgenden Schritte aus, um Testgeräte so einzurichten, dass sie die richtige Leistungsklasse mit der Systemeigenschaft ro.odm.build.media_performance_class angeben:

  • Setzen Sie für die Leistungsklasse 12 (PC12) den Wert der Eigenschaft auf 31.

  • Setzen Sie für die Leistungsklasse 11 (PC11) den Wert der Eigenschaft auf 30.

Userdebug-Geräte

So richten Sie Android-Userdebug-Geräte ein:

  • Android 12-Userdebug-Geräte:

    adb root
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell stop && sleep 1 && adb shell start
    adb shell pkill -f camera
  • Android 11-Userdebug-Geräte:

    adb root
    adb shell setenforce 0
    adb shell setprop ro.odm.build.media_performance_class 31   // use 30 for PC11
    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

Sie können die Systemeigenschaft ro.odm.build.media_performance_class nur einmal pro Neustart festlegen. Sie müssen das Gerät jedoch nicht neu starten, bevor Sie sie zum ersten Mal festlegen.

Nutzergeräte

Wenn Sie Android-Nutzergeräte einrichten möchten, fügen Sie der Datei product.prop die Eigenschaft ro.odm.build.media_performance_class mit dem Wert der ausgewählten Leistungsklasse hinzu:

ro.odm.build.media_performance_class=31   // use 30 for PC11

Führen Sie für Nutzergeräte mit Android 11 die folgenden zusätzlichen Schritte aus:

  1. Cherrypicken Sie den Patch [1627181] Add media performance class property to sepolicy.

  2. Legen Sie MANAGE_EXTERNAL_STORAGE für com.android.cts.verifier fest:

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0

CTS- und ITS-Tests ausführen

Erstellen Sie CTS und CTS Verifier mit den heruntergeladenen Patches und führen Sie dann die entsprechende Android-Version für Ihre Testgeräte aus (Android 11 CTS für Android 11-Geräte, Android 12 CTS für Android 12-Geräte).

Medien

So führen Sie Media-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -m CtsMediaPerformanceClassTestCases

Kamera

So führen Sie Kamera-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraTestCases -t android.hardware.camera2.cts.ExtendedCameraCharacteristicsTest#testCameraPerfClassCharacteristics
python tools/run_all_tests.py device=DEVICE camera=PRIMARY_CAMERA_ID chart=CHART_ID scenes=2_c

Für Geräte mit Android 12:

cts-tradefed run singleCommand cts --disable-reboot -m CtsCameraApi31TestCases

Hardware

So führen Sie Hardware-CTS-Tests aus:

cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.RandomRWTest
cts-tradefed run singleCommand cts --disable-reboot -m CtsFileSystemTestCases -t android.filesystem.cts.SequentialRWTest