Exifinterface
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
13 de noviembre de 2024 | 1.3.7 | - | - | 1.4.0-alpha01 |
Cómo declarar dependencias
Si deseas agregar una dependencia en Exifinterface, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
dependencies { implementation "androidx.exifinterface:exifinterface:1.3.7" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.3.7") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.4
Versión 1.4.0-alpha01
13 de noviembre de 2024
Lanzamiento de androidx.exifinterface:exifinterface:1.4.0-alpha01
. La versión 1.4.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad para leer datos XMP desde imágenes HEIF.
- Se agregó compatibilidad para leer Exif y XMP desde imágenes AVIF.
Cambios en la API
- Se indica que el parámetro
location
parasetGpsInfo
es@Nullable
y que pasarnull
dará como resultado una operación no realizada. (If924c, b/236484611)
Correcciones de errores
- Se continúa el análisis después de encontrar un desplazamiento de IFD no válido (b/264729367).
- Controla las imágenes WebP que contienen incorrectamente un marcador JPEG APP1 antes de sus datos EXIF (b/281638358).
- Asegúrate de que los cambios de XMP en los archivos JPEG con un segmento XMP independiente se almacenen en el mismo segmento XMP independiente por
saveAttributes()
, en lugar de escribirse en la etiqueta 700 de TIFF/Exif, que no es compatible con la especificación XMP y donde muchas herramientas no los encontrarán. - Evita duplicar los datos XMP de un segmento independiente en el directorio de vista previa de TIFF cuando guardes el archivo (b/309843390).
- Mejora la precisión de las conversiones de doble a racional. (b/312680558).
- Se acepta el formato racional (x/y) en
setAttribute
para las etiquetas racionales "heredadas" que se convierten automáticamente a decimal cuando se muestran desdegetAttribute
(b/312680558). - Asegúrate de que los datos XMP agregados a una imagen JPEG que aún no los contiene se escriban en un segmento separado, como se especifica en la especificación XMP. Se documentó que
ExifInterface
prefiere el XMP en la etiqueta Exif 700 en las imágenes JPEG (lo que incumple la especificación), por lo que este comportamiento se conserva cuando se leen o escriben imágenes con datos XMP existentes. - Se corrigió el resultado dañado cuando se escribían imágenes WebP con una altura o un ancho superiores a 8191 px (b/342697059).
- Esta biblioteca ahora usa anotaciones de nulidad de JSpecify, que son de tipo de uso. Los desarrolladores de Kotlin deben usar los siguientes argumentos del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I5cd0f, b/326456246). - Se quitó el esquema manual de acceso a las nuevas APIs de la plataforma, ya que esto se realiza automáticamente a través del modelado de API cuando se usa R8 con AGP 7.3 o versiones posteriores (p.ej., R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p.ej., D8 versión 8.1). Se recomienda a los clientes que no usen AGP que actualicen a la versión 8.1 de D8 o una posterior. Consulta este artículo para obtener más detalles. (If6b4c, b/345472586).
Versión 1.3.7
Versión 1.3.7
13 de diciembre de 2023
Lanzamiento de androidx.exifinterface:exifinterface:1.3.7
. La versión 1.3.7 contiene estas confirmaciones.
Correcciones de errores
- Genera una excepción de
ExifInterface.saveAttributes()
cuando se intenta escribir un segmento JPEG APP1 demasiado grande (anteriormente, escribíamos un segmento APP1 no válido con una longitud incorrecta y truncada:(b/263747161)). Se continúa el análisis después de encontrar un desplazamiento de IFD no válido (antes, el análisis se detenía de inmediato, lo que podría generar valores incorrectos: (b/264729367)).
Versión 1.3.6
Versión 1.3.6
8 de febrero de 2023
Lanzamiento de androidx.exifinterface:exifinterface:1.3.6
. La versión 1.3.6 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la lectura de bits alfa de fragmentos de VP8L de WebP (b/255405635).
Versión 1.3.5
Versión 1.3.5
24 de octubre de 2022
Lanzamiento de androidx.exifinterface:exifinterface:1.3.5
. La versión 1.3.5 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron dos casos en los que
saveAttributes()
producía archivos WebP no válidos.
Versión 1.3.4
Versión 1.3.4
5 de octubre de 2022
Lanzamiento de androidx.exifinterface:exifinterface:1.3.4
. La versión 1.3.4 contiene estas confirmaciones.
Correcciones de errores
- Se quitó la compatibilidad para guardar atributos en archivos DNG. La compatibilidad que se agregó en la versión 1.3.3 estaba incompleta y se produjeron archivos dañados.
Versión 1.3.3
Versión 1.3.3
4 de agosto de 2021
Lanzamiento de androidx.exifinterface:exifinterface:1.3.3
. La versión 1.3.3 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió el análisis de las etiquetas relacionadas con subsec. (aosp/1508143)
- Evita RuntimeException cuando se llama a setDataSource. (c8e66e9)
- Se evitó que la omisión de bytes se repitiera en bucle. (fdbe88b)
- Captura RuntimeException desde MediaMetadataRetriever. (389b21a)
- Agrega compatibilidad para guardar atributos de archivos DNG. (3017dbc)
- Reemplaza las etiquetas que no son de miniatura por otras que sí lo son. (e1b916d)
Versión 1.3.2
Versión 1.3.2
2 de diciembre de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.2
. La versión 1.3.2 contiene estas confirmaciones.
Correcciones de errores
- Permite
SRATIONAL
paraGPS_LATITUDE
yGPS_LONGITUDE
. - Se agregó compatibilidad para leer o escribir un formato secundario (2020-01-01 00:00:00) de la etiqueta DateTime.
- Se evitó la eliminación temporal del archivo de origen mientras se llamaba a saveAttribute().
Versión 1.3.1
Versión 1.3.1
14 de octubre de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.1
. La versión 1.3.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió la implementación de saveAttributes para mantener los datos de la imagen en MediaProvider.
Versión 1.3.0
Versión 1.3.0
16 de septiembre de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.0
. La versión 1.3.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.2.0
- Se amplió la compatibilidad de escritura con EXIF de WebP para incluir archivos que solo contengan fragmentos de VP8 o VP8L.
- Se quitó el almacenamiento en búfer innecesario, que causaba excepciones de OutOfMemory con archivos de imagen grandes.
- Se quitó
INVALID_DATE_TIME
. En su lugar, usaNULL
para mostrar valores de datetime no válidos. getGpsDateTime
ahora muestraLong.MIN_VALUE
en lugar de-1
para valores no válidos.
Versión 1.3.0-rc01
2 de septiembre de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.0-rc01
sin cambios desde 1.3.0-beta01
. La versión 1.3.0-rc01 contiene estas confirmaciones.
Versión 1.3.0-beta01
19 de agosto de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.0-beta01
. La versión 1.3.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se amplió la compatibilidad de escritura con EXIF de WebP para incluir archivos que solo contengan fragmentos de VP8 o VP8L.
Cambios en la API
- Se quitó
INVALID_DATE_TIME
. En su lugar, usaNULL
para mostrar un valor de fecha y hora no válido.
Correcciones de errores
- Se hizo que
getGpsDateTime
mostraraLong.MIN_VALUE
en lugar de-1
porque-1
es un valor válido. - Se ajustaron los métodos get relacionados con DateTime para que tomen el valor de compensación (+/-) de la string de fecha.
- Se quitó el almacenamiento en búfer innecesario, que causaba excepciones de OutOfMemory con archivos de imagen grandes.
- Se estableció la configuración regional predeterminada en EE.UU.
- Se reemplazó la adición de ".tmp" por la de un prefijo al momento de crear archivos temporales.
Versión 1.3.0-alpha01
19 de febrero de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.3.0-alpha01
. La versión 1.3.0-alpha01 contiene estas confirmaciones.
Cambios en la API
- Se agregó un método nuevo:
ExifInterface.getGpsDateTime()
Versión 1.2.0
Versión 1.2.0
1 de abril de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.2.0
. La versión 1.2.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.1.0
- Se agregó compatibilidad para agregar datos EXIF a archivos PNG.
- Se agregó compatibilidad con archivos WebP y para transmitir solo datos EXIF.
- Se agregó una API para comprobar si se admite el tipo de MIME especificado.
- Se agregaron más etiquetas para compensación horaria:
TAG_OFFSET_TIME
,TAF_OFFSET_TIME_DIGITIZED
yTAG_OFFSET_TIME_ORIGINAL
.
Versión 1.2.0-rc01
19 de febrero de 2020
Lanzamiento de androidx.exifinterface:exifinterface:1.2.0-rc01
. La versión 1.2.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se solucionó un problema por el que se guardaban incorrectamente los archivos JPEG si tenían datos XMP.
Versión 1.2.0-beta01
18 de diciembre de 2019
Lanzamiento de androidx.exifinterface:exifinterface:1.2.0-beta01
. La versión 1.2.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad para agregar datos EXIF a archivos PNG.
- Se agregó compatibilidad para leer y escribir datos EXIF desde archivos WebP.
- Se agregó compatibilidad para transmitir solo datos EXIF.
Cambios en la API
- Se agregó una API para comprobar si se admite el tipo de MIME especificado.
- Se expusieron las etiquetas OffsetTime* de lectura y escritura.
Correcciones de errores
- Se solucionó un problema por el que se mostraban compensaciones incorrectas para
getAttributeRange()
.
Versión 1.1.0
Versión 1.1.0
20 de noviembre de 2019
Lanzamiento de androidx.exifinterface:exifinterface:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- Es compatible con el formato HEIF y más etiquetas XMP.
- Se agregó compatibilidad para construir un objeto
ExifInterface
a partir deFile
oFileDescriptor
. - Se agregaron más métodos para obtener los atributos:
hasAttribute
,getAttributeBytes
ygetAttributesRange
.
Versión 1.1.0-rc01
9 de octubre de 2019
Lanzamiento de androidx.exifinterface:exifinterface:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se agregó un nombre de formato que faltaba (IFD) a fin de evitar un
ArrayIndexOutOfBoundsException
enloadAttributes
. - Se evitó que el archivo de origen se borre cuando ocurre una excepción durante la llamada a
saveAttributes
. - Se corrigió un error de excepción que ocurre cuando hay una llamada a
saveAttributes()
después de reemplazar un archivo.
Versión 1.1.0-beta01
2 julio de 2019
Lanzamiento de androidx.exifinterface:exifinterface:1.1.0-beta01
. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Nuevas funciones
- Muestra
NullPointerException
cuando se establecenull
para argumentos@NonNull
. - Es compatible con etiquetas XMP.
Cambios en la API
- Se agregaron más métodos para obtener información de atributos.
hasAttribute
,getAttributeBytes
ygetAttributesRange
Correcciones de errores
- Se evita la pérdida de memoria del descriptor de archivos.
Versión 1.1.0-alpha01
13 de marzo de 2019
Lanzamiento de androidx.exifinterface:exifinterface:1.1.0-alpha01
. Para obtener una lista completa de las confirmaciones incluidas en esta versión, consulta este artículo.
Nuevas funciones
- Compatibilidad con el formato HEIF
Cambios en la API
- Se agregaron más constructores de ExifInterface.
- Se corrigió un error de tipeo:
TAG_CAMARA_OWNER_NAME
->TAG_CAMERA_OWNER_NAME
.
Correcciones de errores
- Se corrigió la verificación del posible desbordamiento de la imagen en miniatura (aosp/748608).