Validierungstool für Kameraerweiterungen

Mit dem Validierungstool für Kameraerweiterungen können Gerätehersteller überprüfen, ob die OEM-Anbieterbibliothek für Kameraerweiterungen korrekt implementiert ist. Das Tool umfasst automatisierte und manuelle Validierungstests.

  • Automatisierte Validierungstests: Überprüfen Sie, ob die Schnittstelle der Anbieterbibliothek korrekt implementiert ist. Wenn beispielsweise CaptureProcessor für die Bilderfassung erforderlich ist, validieren die Tests, dass ImageCaptureExtenderImpl#getCaptureStages() die erforderlichen CaptureStage Instanzen für die Bilderfassung zurückgibt.

  • Manuelle Validierungstests: Validieren Sie die Bildeffekte und die Qualität der Vorschau und der aufgenommenen Bilder. Mithilfe der Tests können Gerätehersteller beispielsweise manuell überprüfen, ob der Gesichtsretuscheeffekt korrekt angewendet wird oder ob die Bokeh-Stärke ausreichend ist.

Der Quellcode des Validierungstools ist Teil der Erweiterungstest-App im Android Jetpack-Repository .

Erstellen Sie das Validierungstool für Kameraerweiterungen

Führen Sie die folgenden Schritte aus, um das Erweiterungsvalidierungstool zu erstellen:

  1. Laden Sie den Quellcode der Android Jetpack-Bibliothek herunter. Weitere Informationen finden Sie im Abschnitt „Auschecken des Codes“ der Android Jetpack-README-Datei .

  2. Erstellen Sie die APK extensionstestapp . Dies ermöglicht die Durchführung manueller Validierungstests.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
    

    Die APK wird an folgenden Pfad ausgegeben:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  3. Erstellen Sie das androidTest APK. Dieses APK ermöglicht die Durchführung automatisierter Validierungstests.

      cd path/to/checkout/frameworks/support/
      ./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
    

    Die APK wird an folgenden Pfad ausgegeben:

      path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Führen Sie automatisierte Validierungstests durch

Um die automatisierten Validierungstests auszuführen, installieren Sie die APKs extensionstestapp und androidTest .

  • extensionstestapp APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
    
  • androidTest APK

      adb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/androidTest/debug/camera-testapp-extensions-debug-androidTest.apk
    

Führen Sie alle automatisierten Tests durch

Führen Sie nach der Installation der APKs den folgenden Befehl aus, um alle automatisierten Tests zur Validierung der Implementierung der Anbieterbibliothek auszuführen:

adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Wenn alle Tests erfolgreich sind, wird ein OK- Ergebnis zurückgegeben. Andernfalls zeigt der abschließende Testbericht Fehler im Terminal an, nachdem alle Tests abgeschlossen sind.

automatisierter_validation_result-pass

Abbildung 1. Automatisierte Tests OK-Ergebnis

automatisierte_Validierung_Ergebnisfehler

Abbildung 2. Automatisierte Testergebnisse mit Fehlern

Führen Sie automatisierte Tests einer bestimmten Klasse aus

Um automatisierte Tests einer bestimmten Klasse auszuführen, geben Sie den Namen und den Pfad der Zielklasse an. Das folgende Beispiel zeigt den Befehl zum Ausführen von Tests für die ImageCaptureTest Klasse:

adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner

Führen Sie manuelle Validierungstests durch

Die manuellen Validierungstests finden Sie in der Erweiterungstest-App . Wechseln Sie nach der Installation und dem Start der Erweiterungstest-App in den Validierungstool-Modus, indem Sie oben rechts auf den Menüpunkt tippen.

Nach dem Wechsel in den Validierungstool-Modus werden auf der ersten Seite alle Kameras aufgelistet, die über die Funktion REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE verfügen. Wenn eine Kamera keinen Erweiterungsmodus unterstützt, ist das entsprechende Listenelement grau.

camera_validation_result-initial

Abbildung 3. Validierungstoolmodus

Tippen Sie auf eine der Kameras, um die Erweiterungsmodi zum Testen anzuzeigen. Erweiterungsmodi, die von der ausgewählten Kamera nicht unterstützt werden, werden grau angezeigt.

extension_mode_validation_result-initial

Abbildung 4. Für eine Kamera verfügbare Erweiterungsmodi

Überprüfen Sie die Vorschauergebnisse

Um die Vorschauergebnisse zu überprüfen, starten Sie einen manuellen Test, indem Sie auf einen Erweiterungsmodus für die ausgewählte Kamera tippen. Anschließend wird eine Bildaufnahmeaktivität mit der Vorschau angezeigt.

Vorschau-bokeh_enabled

Abbildung 5. Vorschaubild mit aktiviertem Bokeh

Die Bilderfassungsaktivität unterstützt die folgenden Funktionen:

  • Rein / rauszoomen
  • Zum Fokussieren tippen
  • Taste zum Wechseln des Blitzmodus
  • EV +/-
  • Umschalttaste „Erweiterung aktiviert/deaktiviert“.

Stellen Sie sicher, dass die Funktionen „Vergrößern/Verkleinern“, „Tippen zum Fokussieren“, „Blitzmodi“ und „EV +/-“ in der Vorschau wie erwartet funktionieren.

Überprüfen Sie die Ergebnisse der erfassten Bilder

Um das Bild aufzunehmen, tippen Sie in der Bildaufnahmeaktivität auf die Schaltfläche AUFNEHMEN (die runde Schaltfläche). Dadurch wird eine Bildvalidierungsaktivität gestartet, die das aufgenommene Bild anzeigt.

photo_viewer-bokeh_enabled

Abbildung 6. Aufgenommenes Bild mit aktiviertem Bokeh

Die Bildvalidierungsaktivität umfasst die folgenden Funktionen:

  • Ziehen Sie die Finger zusammen, um das Bild zu skalieren
  • Schieben Sie nach links/rechts, um die aufgenommenen Bilder zu wechseln
  • Zurückerobern
  • Menüpunkt „Bild speichern“.

Überprüfen Sie, ob das aufgenommene Bild korrekt ist und den Einstellungen zum Vergrößern/Verkleinern, zum Fokussieren durch Tippen, den Blitzmodi und den EV +/--Einstellungen entspricht, die bei der Aufnahme des Bildes festgelegt wurden.

Wenn die erfassten Ergebnisse korrekt sind, tippen Sie unten rechts auf die Schaltfläche PASS (Häkchen). Andernfalls tippen Sie auf die Schaltfläche „FEHLER“ (Ausrufezeichen) in der unteren linken Ecke.

Testergebnisse ansehen

Nachdem ein Erweiterungsmodus als bestanden oder nicht bestanden bestätigt wurde, zeigt das Listenelement für den Erweiterungsmodus eine andere Hintergrundfarbe und einen anderen Indikator an. In der Listenansicht aller Kameras werden die Elemente in folgenden Farben angezeigt:

  • Weißer Hintergrund: Die Kamera unterstützt mindestens einen Erweiterungsmodus und die unterstützten Erweiterungsmodi sind nicht vollständig validiert.
  • Grüner Hintergrund: Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert, wobei alle Ergebnisse erfolgreich sind.
  • Roter Hintergrund: Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert, wobei mindestens ein Ergebnis des Erweiterungsmodus fehlschlägt.
  • Grauer Hintergrund: Diese Funktion ist nicht verfügbar.

camera_validation_resultextension_mode_validation_result

Abbildung 7. Farben, die Testergebnisse für Kameras und Erweiterungsmodi anzeigen

Weitere Funktionen des Validierungstools

Nachdem alle Tests abgeschlossen sind, bietet die Kameralistenaktivität die folgenden Funktionen:

  • Testergebnisse exportieren: Exportiert die Testergebnisse als CSV-Datei in den Ordner Documents/ExtensionsValidation .
  • Zurücksetzen: Löscht alle zwischengespeicherten Testergebnisse.
  • Beispiel-App für Erweiterungen: Wechselt in den Beispiel-App-Modus für Erweiterungen.

Nach Abschluss des Tests können Sie die Testergebnisse exportieren. Wenn Sie ein Problem feststellen und eine neue Version der Implementierung der Anbieterbibliothek mit den Lösungen erneut überprüft werden muss, setzen Sie die vorherigen Testergebnisse zurück und führen Sie alle unterstützten Erweiterungsmodi auf allen Kameras erneut aus, um zu überprüfen, ob die Probleme behoben sind.