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, dassImageCaptureExtenderImpl#getCaptureStages()
die erforderlichenCaptureStage
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:
Laden Sie den Quellcode der Android Jetpack-Bibliothek herunter. Weitere Informationen finden Sie im Abschnitt „Auschecken des Codes“ der Android Jetpack-README-Datei .
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
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
APKadb install -r path/to/checkout/out/androidx/camera/integration-tests/camera-testapp-extensions/build/outputs/apk/debug/camera-testapp-extensions-debug.apk
androidTest
APKadb 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.
Abbildung 1. Automatisierte Tests OK-Ergebnis
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.
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.
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.
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.
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.
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.