Mit dem Tool zur Validierung von Kameraerweiterungen können Gerätehersteller prüfen, ob die OEM-Anbieterbibliothek für Kameraerweiterungen richtig implementiert ist. Das Tool umfasst automatisierte und manuelle Validierungstests.
Automatisierte Validierungstests: Prüfen, ob die Schnittstelle der Anbieterbibliothek korrekt implementiert ist. Wenn beispielsweise
CaptureProcessor
für die Bildaufnahme erforderlich ist, wird in den Tests geprüft, obImageCaptureExtenderImpl#getCaptureStages()
die erforderlichenCaptureStage
-Instanzen für die Aufnahme der Bilder zurückgibt.Manuelle Validierungstests:Hier können Sie die Bildeffekte und die Qualität der Vorschau- und aufgenommenen Bilder prüfen. So können Gerätehersteller beispielsweise manuell prüfen, ob der Effekt für die Gesichtsretusche richtig angewendet wird oder ob die Bokeh-Stärke ausreicht.
Der Quellcode des Validierungstools ist Teil der Testanwendung für Erweiterungen im Android Jetpack-Repository.
Validierungstool für Kameraerweiterungen erstellen
So erstellen Sie das Tool zur Validierung von Erweiterungen:
Laden Sie den Quellcode der Android Jetpack-Bibliothek herunter. Weitere Informationen finden Sie im Abschnitt Code auschecken der Android Jetpack-README.
Erstellen Sie das
extensionstestapp
-APK. So können manuelle Validierungstests ausgeführt werden.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleDebug
Das APK wird an den 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. Mit diesem APK können automatisierte Validierungstests ausgeführt werden.cd path/to/checkout/frameworks/support/
./gradlew camera:integration-tests:camera-testapp-extensions:assembleAndroidTest
Das APK wird an den 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
Automatisierte Validierungstests ausführen
Installieren Sie die APKs extensionstestapp
und androidTest
, um die automatisierten Validierungstests auszuführen.
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
Alle automatisierten Tests ausführen
Führen Sie nach der Installation der APKs den folgenden Befehl aus, um alle automatisierten Tests zur Validierung der Anbieterbibliothek auszuführen:
adb shell am instrument -w -r androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Wenn alle Tests bestanden werden, wird das Ergebnis OK zurückgegeben. Andernfalls werden im Terminal nach Abschluss aller Tests Fehler im abschließenden Testbericht angezeigt.
Abbildung 1. Automatisierte Tests – Ergebnis „OK“
Abbildung 2. Automatisierte Tests schlagen fehl
Automatisierte Tests für eine bestimmte Klasse ausführen
Wenn Sie automatisierte Tests für eine bestimmte Klasse ausführen möchten, geben Sie den Namen und den Pfad der Zielklasse an. Das folgende Beispiel zeigt den Befehl zum Ausführen von Tests für die Klasse ImageCaptureTest
:
adb shell am instrument -w -r -e class **androidx.camera.integration.extensions.ImageCaptureTest** androidx.camera.integration.extensions.test/androidx.test.runner.AndroidJUnitRunner
Manuelle Validierungstests ausführen
Die manuellen Validierungstests finden Sie in der Test-App für Erweiterungen. Nachdem Sie die Test-App für Erweiterungen installiert und gestartet haben, wechseln Sie zum Modus „Validierungstool“, indem Sie oben rechts auf den Menüpunkt tippen.
Nachdem Sie zum Modus des Validierungstools gewechselt haben, werden auf der ersten Seite alle Kameras aufgeführt, die die Funktion REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
unterstützen. Wenn eine Kamera keinen Erweiterungsmodus unterstützt, ist das entsprechende Listenelement ausgegraut.
Abbildung 3 Modus des Validierungstools
Tippen Sie auf eine der Kameras, um die Erweiterungsmodi für den Test zu sehen. Erweiterungsmodi, die von der ausgewählten Kamera nicht unterstützt werden, sind ausgegraut.
Abbildung 4 Für eine Kamera verfügbare Erweiterungsmodi
Vorschauergebnisse prüfen
Wenn Sie die Vorschauergebnisse überprüfen möchten, starten Sie einen manuellen Test, indem Sie auf einen Erweiterungsmodus für die ausgewählte Kamera tippen. Daraufhin wird eine Aktivität zur Bildaufnahme mit der Vorschau angezeigt.
Abbildung 5. Vorschaubild mit aktiviertem Bokeh
Die Aktivität „Bilder aufnehmen“ unterstützt die folgenden Funktionen:
- Heran-/Herauszoomen
- Zum Fokussieren tippen
- Schaltfläche zum Wechseln der Blitzmodi
- EV +/-
- Ein-/Aus-Schalter für die Erweiterung
Prüfen Sie, ob das Heranzoomen und Herauszoomen, das Fokussieren durch Tippen, die Blitzmodi und die Funktionen für die Belichtungskorrektur +/- in der Vorschau wie erwartet funktionieren.
Erfasste Bildergebnisse überprüfen
Wenn Sie das Bild aufnehmen möchten, tippen Sie in der Aktivität „Bilder aufnehmen“ auf die Schaltfläche AUFNEHMEN (die runde Schaltfläche). Dadurch wird eine Bildvalidierungsaktivität gestartet, in der das aufgenommene Bild angezeigt wird.
Abbildung 6 Aufgenommenes Bild mit aktiviertem Bokeh
Die Aktivität zur Bildvalidierung umfasst die folgenden Funktionen:
- Bild zusammen-/auseinanderziehen, um es zu skalieren
- Wischen Sie nach links oder rechts, um zwischen den aufgenommenen Bildern zu wechseln.
- Recapture
- Menüpunkt „Bild speichern“
Prüfen Sie, ob das aufgenommene Bild korrekt ist und mit den Einstellungen für Zoomen, „Zum Fokussieren tippen“, Blitzmodi und EV +/- übereinstimmt, die beim Aufnehmen des Bilds festgelegt wurden.
Wenn die erfassten Ergebnisse korrekt sind, tippen Sie rechts unten auf die Schaltfläche PASS (Häkchen). Andernfalls tippen Sie links unten auf die Schaltfläche FEHLER (Ausrufezeichen).
Testergebnisse abrufen
Nachdem ein Erweiterungsmodus als bestanden oder nicht bestanden bestätigt wurde, werden für das Listenelement des Erweiterungsmodus eine andere Hintergrundfarbe und ein anderer Indikator angezeigt. In der Listenansicht aller Kameras werden die Elemente in den folgenden Farben angezeigt:
- Weißer Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus und die unterstützten Erweiterungsmodi wurden nicht vollständig validiert.
- Grüner Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert und alle Ergebnisse sind erfolgreich.
- Roter Hintergrund:Die Kamera unterstützt mindestens einen Erweiterungsmodus. Alle unterstützten Erweiterungsmodi werden validiert, wobei mindestens ein Erweiterungsmodus fehlschlägt.
- Grauer Hintergrund:Diese Funktion ist nicht verfügbar.
Abbildung 7. Farben für Testergebnisse für Kameras und Erweiterungsmodi
Weitere Funktionen des Validierungstools
Nachdem alle Tests abgeschlossen sind, bietet die Kameralistenaktivität die folgenden Funktionen:
- Testergebnisse exportieren:Die Testergebnisse werden als CSV-Datei in den Ordner
Documents/ExtensionsValidation
exportiert. - Zurücksetzen:Alle im Cache gespeicherten Testergebnisse werden gelöscht.
- Beispielanwendung für Erweiterungen:Hiermit wird der Modus der Beispielanwendung für Erweiterungen aktiviert.
Nach Abschluss der Tests können Sie die Testergebnisse exportieren. Wenn Sie ein Problem finden und eine neue Version der Anbieterbibliothek mit den Lösungen noch einmal überprüft werden muss, setzen Sie die vorherigen Testergebnisse zurück und führen Sie alle unterstützten Erweiterungsmodi auf allen Kameras noch einmal aus, um zu prüfen, ob die Probleme behoben wurden.