Exifinterface
| Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
|---|---|---|---|---|
| 3 de diciembre de 2025 | 1.4.2 | - | - | - |
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.4.2" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.4.2") }
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.2
3 de diciembre de 2025
Lanzamiento de androidx.exifinterface:exifinterface:1.4.2. La versión 1.4.2 contiene estas confirmaciones.
Correcciones de errores
- Se agregó compatibilidad para analizar archivos JPEG con bytes 0xFF adicionales (permitidos) antes de cualquier marcador.
Versión 1.4.1
23 de abril de 2025
Lanzamiento de androidx.exifinterface:exifinterface:1.4.1. La versión 1.4.1 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un error por el que se arrojaba una excepción cuando se pasaba un valor nulo a
setAttributeparaTAG_XMP.
Versión 1.4.0
26 de febrero de 2025
Lanzamiento de androidx.exifinterface:exifinterface:1.4.0. La versión 1.4.0 contiene estas confirmaciones.
Versión 1.4.0-rc01
29 de enero de 2025
Se lanzó androidx.exifinterface:exifinterface:1.4.0-rc01 sin modificaciones desde la versión beta01. La versión 1.4.0-rc01 contiene estas confirmaciones.
Versión 1.4.0-beta01
15 de enero de 2025
Lanzamiento de androidx.exifinterface:exifinterface:1.4.0-beta01. La versión 1.4.0-beta01 contiene estas confirmaciones.
Cambios en la API
- Se actualizó el control de XMP de HEIC para preferir los datos de XMP de un segmento separado en el archivo, en lugar de la etiqueta 700 en los datos de Exif.
Correcciones de errores
- Se corrigió el método
ExifInterface.getThumbnail*()para que funcione correctamente después de una llamada asaveAttributes()(anteriormente, las llamadas se realizaban correctamente, pero el resultado era incorrecto o indefinido). - Se corrigió el control de XMP de PNG para leer y escribir el fragmento iTXt XMP separado en lugar de la etiqueta 700 dentro del fragmento eXIf.
- Se corrigió la corrupción de imágenes
WebPcuando se controlan archivos de imagen con datos finales que no son de WebP. (b/385766064).
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 de imágenes HEIF.
- Se agregó compatibilidad para leer datos Exif y XMP de imágenes AVIF.
Cambios en la API
- Se indica que el parámetro
locationparasetGpsInfoes@Nullabley que pasarnullgenerará una operación sin efecto. (If924c, b/236484611)
Correcciones de errores
- Se continúa con el análisis después de encontrar un desplazamiento de IFD no válido (b/264729367).
- Se controlan las imágenes WebP que contienen de forma incorrecta un marcador APP1 de JPEG antes de sus datos Exif (b/281638358).
- Asegúrate de que
saveAttributes()almacene los cambios de XMP en archivos JPEG con un segmento XMP separado en el mismo segmento XMP separado, en lugar de escribirlos en la etiqueta TIFF/Exif 700, que no es compatible con la especificación de XMP y donde muchas herramientas no los encontrarán. - Se evita duplicar los datos XMP de un segmento independiente en el directorio de vista previa de TIFF cuando se guarda (b/309843390).
- Mejora la precisión de las conversiones de doble a racional. (b/312680558).
- Se acepta el formato racional (x/y) para
setAttributeen el caso de las etiquetas racionales "heredadas", que se convierten automáticamente a decimal cuando se devuelven desdegetAttribute(b/312680558). - Asegúrate de que los datos XMP agregados a una imagen JPEG que aún no contiene XMP se escriban en un segmento separado, como se especifica en la especificación de XMP. Se documenta que
ExifInterfaceprefiere el XMP en la etiqueta Exif 700 en 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ó la salida dañada cuando se escribían imágenes WebP con una altura o un ancho superior a 8191 px (b/342697059).
- Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deberían usar el siguiente argumento del compilador para aplicar el uso correcto:
-Xjspecify-annotations=strict(este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (I5cd0f, b/326456246) - Se quitó el esquema manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs 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 usan AGP actualizar a la versión 8.1 o posterior de D8. 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
- Se arroja una excepción desde
ExifInterface.saveAttributes()cuando se intenta escribir un segmento APP1 de JPEG que es demasiado grande (anteriormente, escribíamos un segmento APP1 no válido con una longitud incorrecta y truncada:(b/263747161)). Se continúa con el análisis después de encontrar un desplazamiento de IFD no válido (anteriormente, el análisis se detenía de inmediato, lo que podía generar que se devolvieran 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
SRATIONALparaGPS_LATITUDEyGPS_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, usaNULLpara mostrar valores de datetime no válidos. getGpsDateTimeahora muestraLong.MIN_VALUEen lugar de-1para 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, usaNULLpara mostrar un valor de fecha y hora no válido.
Correcciones de errores
- Se hizo que
getGpsDateTimemostraraLong.MIN_VALUEen lugar de-1porque-1es 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_DIGITIZEDyTAG_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
ExifInterfacea partir deFileoFileDescriptor. - Se agregaron más métodos para obtener los atributos:
hasAttribute,getAttributeBytesygetAttributesRange.
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
ArrayIndexOutOfBoundsExceptionenloadAttributes. - 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
NullPointerExceptioncuando se establecenullpara argumentos@NonNull. - Es compatible con etiquetas XMP.
Cambios en la API
- Se agregaron más métodos para obtener información de atributos.
hasAttribute,getAttributeBytesygetAttributesRange
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).