Kamerasucher
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera-viewfinder aufgeführt.
| Artefakt | Stabile Release | Releasekandidat | Beta-Release | Alpha-Release |
|---|---|---|---|---|
| viewfinder-compose | 1.6.1 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.1 | - | - | 1.7.0-alpha01 |
| viewfinder-view | 1.6.1 | - | - | 1.7.0-alpha01 |
Abhängigkeiten deklarieren
Wenn Sie eine Abhängigkeit von camera-viewfinder hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.
Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:
Cool
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.7
Version 1.7.0-alpha01
11. März 2026
androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 und androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01 wurden veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.
Version 1.6
Version 1.6.1
06. Mai 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1 und androidx.camera.viewfinder:viewfinder-view:1.6.1 wurden veröffentlicht. Version 1.6.1 enthält diese Commits.
Version 1.6.0
25. März 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 und androidx.camera.viewfinder:viewfinder-view:1.6.0 wurden veröffentlicht. Version 1.6.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.5.0:
- Der Standard-Sucher
ImplementationModewurde über die neue öffentliche APIViewfinderDefaults.implementationModeverfügbar gemacht. Diese wird jetzt als Standardeinstellung fürViewfinderViewund die zusammensetzbare FunktionViewfinderverwendet. (Ic3f52)
Version 1.6.0-rc01
25. Februar 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01 wurden veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.
Version 1.6.0-beta02
11. Februar 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 und androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02 wurden veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.
Version 1.6.0-beta01
28. Januar 2026
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01 wurden veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.
Version 1.6.0-alpha02
17. Dezember 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 und androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 wurden veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.
Version 1.6.0-alpha01
22. Oktober 2025
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 wurden veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
API-Änderungen
- Der Standard-Sucher
ImplementationModewurde über die neue öffentliche APIViewfinderDefaults.implementationModeverfügbar gemacht. Diese wird jetzt als Standardeinstellung fürViewfinderViewund die zusammensetzbare FunktionViewfinderverwendet. (Ic3f52)
Version 1.5
Version 1.5.3
28. Januar 2026
androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 und androidx.camera.viewfinder:viewfinder-view:1.5.3 wurden veröffentlicht. Version 1.5.3 enthält diese Commits.
Version 1.5.2
4. Dezember 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 und androidx.camera.viewfinder:viewfinder-view:1.5.2 wurden veröffentlicht. Version 1.5.2 enthält diese Commits.
Version 1.5.1
8. Oktober 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 und androidx.camera.viewfinder:viewfinder-view:1.5.1 wurden veröffentlicht. Version 1.5.1 enthält diese Commits.
Version 1.5.0
10. September 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 und androidx.camera.viewfinder:viewfinder-view:1.5.0 wurden veröffentlicht. Version 1.5.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.4.0:
Dies ist die erste stabile Version der Camera Viewfinder-Bibliothek, die robuste, lebenszyklusbezogene und benutzerfreundliche ansichts- und zusammensetzungsbasierte APIs bietet. Diese Komponenten dienen als Kamerasucher und können direkt in Camera2 eingebunden werden.
Mit dieser Version wird auch die Grundlage für das neue Artefakt androidx.camera:camera-compose geschaffen, das CameraXViewfinder einführt. Dabei handelt es sich um einen zusammensetzungsidiomatischen Sucher, der nahtlos in SurfaceRequests von CameraX eingebunden wird, ähnlich wie PreviewView für ansichtsbasierte Layouts funktioniert. Einige der wichtigsten Änderungen:
- Artefaktverschiebung:Zur Verbesserung der Modularität wurden die Sucher-Artefakte in eine eigene Bibliothek verschoben. Entwickler, die zuvor
androidx.camera:camera-viewfinder*-Abhängigkeiten verwendet haben, sollten zuandroidx.camera.viewfinder:viewfinder-*migrieren. - API-Stabilisierung und -Optimierung:Die API-Oberfläche wurde für diese stabile Version optimiert. Dazu gehört das Umbenennen von
CameraViewfinderinViewfinderView, um die Vielseitigkeit besser widerzuspiegeln, das Neuorganisieren von Paketen für mehr Klarheit und das Festlegen vonViewfinderSurfaceRequestals unveränderlicher Datentyp für eine besser vorhersagbare Statusverwaltung. - Updates der Compose API:Die Compose API
Viewfinderunterstützt jetztContentScaleundAlignmentfür eine detaillierte Steuerung der Darstellung des Kamerastreams im Container. Das Verhalten entspricht dem der Standard-Composable-Funktionandroidx.compose.foundation.Image. - Lebenszyklusverwaltung der Oberfläche:
ViewfinderSurfaceSessionbleibt jetzt bei Konfigurationsänderungen und Lebenszyklusereignissen in API 29 und höher aktiv. Diese Änderung soll die Anzahl der verworfenen Frames reduzieren und die Nutzerfreundlichkeit verbessern. - Standardeinstellungen für den Implementierungsmodus:Für
Viewfinderist jetzt standardmäßig ein intelligenterImplementationModefestgelegt, der automatisch die beste zugrunde liegende Implementierung auswählt. Dabei wirdSurfaceView(EXTERNAL-Modus) mit hoher Leistung priorisiert und bei älteren API-Levels oder Geräten mit bekannten Kompatibilitätsproblemen aufTextureView(EMBEDDED-Modus) zurückgegriffen. Dieses Verhalten kann weiterhin überschrieben werden, um Entwicklern die volle Kontrolle zu geben.
Diverse Fehlerkorrekturen
- Die zusammensetzbare Funktion
Viewfinderfunktioniert jetzt korrekt inPagervon Compose und mitmovableContentOf(). So wird sichergestellt, dass die Oberfläche in komplexen UI-Szenarien richtig zurückgesetzt und verwaltet wird. (I0d9be, I79432) - Ein Problem auf Android 10 und 11 wurde behoben, bei dem der
SurfaceView-basierteViewfinderbei Anwendung von Transformationen verzerrt dargestellt werden konnte. (Icc77c)
Version 1.5.0-rc01
13. August 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 und androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 wurden veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Diverse Fehlerkorrekturen
- Die Standardeinstellung für
minSdkwurde von API 21 auf API 23 verschoben (Ibdfca, b/380448311, b/435705964, b/435705223).
Version 1.5.0-beta03
16. Juli 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 wurden veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.
Diverse Fehlerkorrekturen
- Der Standardwert für
ImplementationModefürViewfinder(sowohl zusammensetzungs- als auch ansichtsbasierte) wählt jetzt intelligent zwischenEXTERNAL(für Leistung) undEMBEDDED(für Kompatibilität auf älteren APIs/fehlerhaften Geräten) aus. Dieses Verhalten kann weiterhin durch explizite Einstellungen inViewfinderSurfaceRequestoder XML-Attributen (in der ansichtsbasierten API) überschrieben werden. (Iecd3a) - Die Verwaltung der Oberflächensitzung wurde verbessert, indem die
ViewfinderSurfaceSessionbei Verwendung von TextureView oder SurfaceView in API 29 und höher über den Lebenszyklus der Oberflächenerstellung und ‑zerstörung hinweg aktiv bleibt. (I112d9) - Der
Viewfindersorgt jetzt dafür, dass Oberflächen zum richtigen Zeitpunkt freigegeben werden, nur wenn sie nicht mehr von der Sitzung verwendet werden. Sie werden also nicht immer freigegeben, wenn die zusammensetzbare Funktion verworfen wird. FürEXTERNAL(SurfaceView) ist dieses Verhalten derzeit nur in API 29 und höher verfügbar. FürEMBEDDED(TextureView) ist es auf allen API-Levels vorhanden. (I9a03f) - Der
Viewfinderverarbeitet jetzt den Oberflächenaustausch in Szenarien wie z. B. wenn einEXTERNAL-Sucher auf API-Level 28 oder niedriger außerhalb des Bildschirms verschoben wird oder wenn einViewfinder(mit einem beliebigenImplementationMode) Teil vonmoveableContentOf()ist. (I79432) - Die zusammensetzbare Funktion
Viewfinderfunktioniert jetzt korrekt mitPagervon Compose. Diese Änderung sorgt dafür, dass die zusammensetzbare Funktion durch Implementieren desonReset-Callbacks vonAndroidViewzurückgesetzt werden kann. Dabei werden sowohlEMBEDDED- als auchEXTERNAL-Implementierungen unterstützt. (I0d9be) - Ein Problem auf Android 10/11 wurde behoben, bei dem der
EXTERNAL-Viewfinderaufgrund von Transformationsvorgängen (z. B. Skalieren oder Verschieben), die zu früh angewendet wurden, verzerrt oder falsch dargestellt werden konnte. Das System wartet jetzt, bis die Oberfläche erstellt wurde, bevor diese Transformationen in der Layoutphase angewendet werden. So wird eine korrekte Ausgabe gewährleistet. (Icc77c)
Version 1.5.0-beta02
4. Juni 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 wurden veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.
Version 1.5.0-beta01
7. Mai 2025
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 wurden veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
- Dies ist die erste offizielle Betaversion der ansichts- und zusammensetzungsbasierten Sucher, die flexibel genug sind, um mit Camera2 verwendet zu werden. Wenn Sie eine Ansicht oder eine zusammensetzbare Funktion für die Verwendung mit CameraX suchen, sehen Sie sich
PreviewViewundCameraXViewfinderan.
Neue Funktionen
ContentScaleundAlignmentkönnen jetzt im zusammensetzungsbasierten Sucher verwendet werden, um die angezeigte Oberfläche im Container zu skalieren und zu platzieren, ähnlich wie beiandroidx.compose.foundation.Image. (Ibcea3)
API-Änderungen
TransformationInfohat jetzt Standardwerte für alle Argumente. So können Sucher ohneTransformationInfoerstellt werden. In diesem Fall wird standardmäßig eine Quellrotation von 0, keine Quellspiegelung und kein Zuschneidebereich verwendet. (I2b1b2)- Der zusammensetzungsbasierte Sucher verwendet jetzt eine nachgestellte Lambda-Funktion, um eine Oberflächensitzung zu empfangen, ähnlich wie
AndroidExternalSurface. Die bereitgestellte Lambda-Funktion verwendetViewfinderInitScopeals Empfänger, wodurch ein Callback installiert werden kann, um neue Oberflächensitzungen zu empfangen. Diese Oberflächensitzungen geben automatisch Ressourcen frei, die vom Sucher gehalten werden, wenn sie außerhalb des Gültigkeitsbereichs liegen. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicswurde entfernt und durch eine entsprechende Reihe statischer APIs ersetzt, mit denenTransformationInfogeneriert werden kann. Diese erzeugt dieselbe Transformation wiepopulateFromCharacteristics. Diese statischen Methoden werden der KlasseCamera2TransformationInfohinzugefügt. (Idc6af)ViewfinderSurfaceRequestenthält keine asynchronen APIs mehr zum Abrufen der Oberfläche. Es ist jetzt ein unveränderlicher Datentyp. APIs zum Abrufen der Oberfläche wurden jetzt in den Sucher verschoben. (I30127)CameraViewfinderwurde inViewfinderViewumbenannt, damit der Name mit dem Namen der zusammensetzbaren Funktion „Viewfinder“ übereinstimmt und um anzugeben, dass sie mit mehr als nur Kamerabildquellen verwendet werden kann. (Id9e6b)- Klassen aus
viewfinder-viewwurden aus dem Paketandroidx.camera.viewfinderin das Unterpaketandroidx.camera.viewfinder.viewverschoben. (I6cb44) - Dem ansichtsbasierten Sucher wurden neue APIs hinzugefügt, mit denen die Quellrotation, die Spiegelung und das Zuschneiderechteck festgelegt werden können. Diese
TransformationInfo-Klasse ist dieselbe Klasse, die vom zusammensetzungsbasierten Sucher verwendet wird. (I907c3) - Der ansichtsbasierte Sucher verwendet jetzt neue
ViewfinderSurfaceRequest-APIs, die die Oberflächenantwort nicht mehr intern verarbeiten. Anstelle vonListenableFuture<Surface>geben dierequestSurfaceSession()APIs jetztListenableFuture<ViewfinderSurfaceSession>zurück, die eineAutoCloseableKlasse zurückgibt. Wenn diese geschlossen wird, verhält sie sich genauso wie der Aufruf der alten API vonViewfinderSurfaceRequest.markSurfaceSafeToRelease(). So werden die Verantwortlichkeiten zwischen der Oberflächenanfrage und der Oberflächenantwort klarer getrennt. (I19041)
Version 1.4
Version 1.4.0-alpha13
26. Februar 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 wurden veröffentlicht. Version 1.4.0-alpha13 enthält diese Commits.
Version 1.4.0-alpha12
15. Januar 2025
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 wurden veröffentlicht. Version 1.4.0-alpha12 enthält diese Commits.
Neue Funktionen
compileSdkwurde auf 35 aktualisiert, um die Android 15-bezogene API zu verwenden. Apps, die CameraX-Bibliotheken verwenden, müssen auch die KonfigurationseinstellungcompileSdkaktualisieren. (Ic80cd)- In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen:
-Xjspecify-annotations=strict(dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (I7bcd7, b/326456246)
Version 1.4.0-alpha11
11. Dezember 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 wurden veröffentlicht. Version 1.4.0-alpha11 enthält diese Commits.
API-Änderungen
- Die Klassen von
viewfinder-corewurden in Pakete verschoben, die mit der Bibliothek übereinstimmen, zu der sie gehören. (I431c6) CameraViewfinder.ScaleTypewurde inviewfinder-coreverschoben, damit es mit Compose wiederverwendet werden kann (I87ef1).- Die verworfenen
CameraViewfinder-Klassen wurden entfernt. Verwenden Sie die neuen APIs, die eine entsprechende Funktionalität bieten. (I6e59a)
Version 1.4.0-alpha10
30. Oktober 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 wurden veröffentlicht. Version 1.4.0-alpha10 enthält diese Commits.
Version 1.4.0-alpha09
2. Oktober 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 wurden veröffentlicht. Version 1.4.0-alpha09 enthält diese Commits.
Version 1.4.0-alpha08
4. September 2024
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 wurden veröffentlicht. Version 1.4.0-alpha08 enthält diese Commits.
Neue Funktionen
Mit dem Update auf 1.4.0-alpha08 wurde das CameraX Viewfinder-Artefakt in eine eigene Bibliothek verschoben. Diese Änderung ist erforderlich, um die Modularität und Wartbarkeit der CameraX-Bibliothek zu verbessern.
Wenn Sie zuvor von androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose oder androidx.camera:camera-viewfinder-core abhängig waren, müssen Sie Ihre Abhängigkeiten zu den folgenden migrieren:
androidx.camera:camera-viewfinder->androidx.camera.viewfinder:viewfinder-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
Für diese Migration sind keine Codeänderungen erforderlich. Die alten Maven-Koordinaten für den Sucher werden nicht mehr aktualisiert.
Wenn Sie Compose mit CameraX verwenden, ist außerdem eine neue Compose-First-Bibliothek in der Alphaversion verfügbar: androidx.camera:camera-compose. Sie bietet die zusammensetzbare Funktion CameraXViewfinder, einen zusammensetzungsidiomatischen Sucher, der SurfaceRequest von CameraX an Compose anpasst, ähnlich wie PreviewView für Ansichten funktioniert.