Exifinterface
| Ultimo aggiornamento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| 3 dicembre 2025 | 1.4.2 | - | - | - |
Dichiara le dipendenze
Per aggiungere una dipendenza da Exifinterface, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.exifinterface:exifinterface:1.4.1" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.4.1") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.4
Versione 1.4.2
3 dicembre 2025
androidx.exifinterface:exifinterface:1.4.2 è stato rilasciato. La versione 1.4.2 contiene questi commit.
Correzioni di bug
- Supporta l'analisi di JPEG con byte 0xFF aggiuntivi (consentiti) prima di qualsiasi marcatore.
Versione 1.4.1
23 aprile 2025
androidx.exifinterface:exifinterface:1.4.1 è stato rilasciato. La versione 1.4.1 contiene questi commit.
Correzioni di bug
- È stato corretto il bug per cui il passaggio di un valore nullo a
setAttributeperTAG_XMPgenerava un'eccezione.
Versione 1.4.0
26 febbraio 2025
androidx.exifinterface:exifinterface:1.4.0 è stato rilasciato. La versione 1.4.0 contiene questi commit.
Versione 1.4.0-rc01
29 gennaio 2025
androidx.exifinterface:exifinterface:1.4.0-rc01 viene rilasciato senza modifiche rispetto alla versione beta01. La versione 1.4.0-rc01 contiene questi commit.
Versione 1.4.0-beta01
15 gennaio 2025
androidx.exifinterface:exifinterface:1.4.0-beta01 è stato rilasciato. La versione 1.4.0-beta01 contiene questi commit.
Modifiche alle API
- Aggiorna la gestione XMP HEIC in modo da preferire i dati XMP di un segmento separato nel file anziché il tag 700 nei dati Exif.
Correzioni di bug
- Correzione del metodo
ExifInterface.getThumbnail*()per funzionare correttamente dopo una chiamata asaveAttributes()(in precedenza le chiamate riuscivano, ma il risultato era errato/indefinito) - Correzione della gestione XMP PNG per leggere e scrivere il blocco XMP iTXt separato anziché il tag 700 all'interno del blocco eXIf.
- È stato corretto il problema di danneggiamento delle immagini
WebPdurante la gestione di file immagine con dati non WebP finali. (b/385766064).
Versione 1.4.0-alpha01
13 novembre 2024
androidx.exifinterface:exifinterface:1.4.0-alpha01 è stato rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- Aggiungi il supporto per la lettura dei dati XMP dalle immagini HEIF.
- Aggiungi il supporto per la lettura di Exif e XMP dalle immagini AVIF.
Modifiche alle API
- Indica che il parametro
locationpersetGpsInfoè@Nullablee che il passaggio dinullcomporterà un'operazione nulla. (If924c, b/236484611)
Correzioni di bug
- Continua l'analisi dopo aver riscontrato un offset IFD non valido (b/264729367).
- Gestisci le immagini WebP che contengono erroneamente un marcatore JPEG APP1 prima dei dati Exif (b/281638358).
- Assicurati che le modifiche XMP nei JPEG con un segmento XMP separato vengano archiviate nello stesso segmento XMP separato da
saveAttributes(), anziché essere scritte nel tag TIFF/Exif 700, che non è supportato dalla specifica XMP e in cui molti strumenti non le troveranno. - Evita di duplicare i dati XMP da un segmento separato nella directory di anteprima TIFF durante il salvataggio (b/309843390).
- Migliora la precisione delle conversioni da double a rational. (b/312680558).
- Accetta il formato razionale (x/y) per
setAttributeper i tag razionali "legacy" che vengono convertiti automaticamente in decimali quando vengono restituiti dagetAttribute(b/312680558). - Assicurati che i dati XMP aggiunti a un'immagine JPEG che non contiene già XMP vengano scritti in un segmento separato, come specificato dalla specifica XMP. È documentato che
ExifInterfacepreferisce l'XMP nel tag Exif 700 nelle immagini JPEG (violando la specifica), quindi questo comportamento viene mantenuto durante la lettura/scrittura di immagini con dati XMP esistenti. - È stato corretto l'output danneggiato durante la scrittura di immagini WebP con un'altezza o una larghezza superiore a 8191 px (b/342697059).
- Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto:
-Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (I5cd0f, b/326456246) - È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché questa operazione viene eseguita automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (If6b4c, b/345472586)
Versione 1.3.7
Versione 1.3.7
13 dicembre 2023
androidx.exifinterface:exifinterface:1.3.7 è stato rilasciato. La versione 1.3.7 contiene questi commit.
Correzioni di bug
- Genera un'eccezione da
ExifInterface.saveAttributes()quando si tenta di scrivere un segmento JPEG APP1 troppo grande (in precedenza veniva scritto un segmento APP1 non valido con una lunghezza errata e troncata:(b/263747161)). Continua l'analisi dopo aver riscontrato un offset IFD non valido (in precedenza l'analisi si interrompeva immediatamente, il che poteva comportare la restituzione di valori errati: (b/264729367)).
Versione 1.3.6
Versione 1.3.6
8 febbraio 2023
androidx.exifinterface:exifinterface:1.3.6 è stato rilasciato. La versione 1.3.6 contiene questi commit.
Correzioni di bug
- È stata corretta la lettura del bit alfa dai blocchi WebP VP8L (b/255405635).
Versione 1.3.5
Versione 1.3.5
24 ottobre 2022
androidx.exifinterface:exifinterface:1.3.5 è stato rilasciato. La versione 1.3.5 contiene questi commit.
Correzioni di bug
- Correzione di due casi di
saveAttributes()che producono file WebP non validi.
Versione 1.3.4
Versione 1.3.4
5 ottobre 2022
androidx.exifinterface:exifinterface:1.3.4 è stato rilasciato. La versione 1.3.4 contiene questi commit.
Correzioni di bug
- Rimozione del supporto per il salvataggio degli attributi nei file DNG. Il supporto aggiunto nella versione 1.3.3 era incompleto e produceva file danneggiati.
Versione 1.3.3
Versione 1.3.3
4 agosto 2021
androidx.exifinterface:exifinterface:1.3.3 è stato rilasciato. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- Correggi l'analisi dei tag correlati alle sezioni secondarie. (aosp/1508143)
- Evita RuntimeException quando chiami setDataSource. (c8e66e9)
- Impedisce a skipBytes di entrare in un loop infinito. (fdbe88b)
- Rileva RuntimeException da MediaMetadataRetriever. (389b21a)
- Aggiungi il supporto per il salvataggio degli attributi per i file DNG (3017dbc)
- Sostituisci i tag non in miniatura con i tag in miniatura. (e1b916d)
Versione 1.3.2
Versione 1.3.2
2 dicembre 2020
androidx.exifinterface:exifinterface:1.3.2 è stato rilasciato. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- Consente
SRATIONALperGPS_LATITUDEeGPS_LONGITUDE. - È stato aggiunto il supporto per la lettura/scrittura di un formato secondario (2020-01-01 00:00:00) del tag DateTime.
- È stata impedita la rimozione temporanea del file di origine durante la chiamata a saveAttribute().
Versione 1.3.1
Versione 1.3.1
14 ottobre 2020
androidx.exifinterface:exifinterface:1.3.1 è stato rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Correggi l'implementazione di saveAttributes per conservare i dati delle immagini in MediaProvider
Versione 1.3.0
Versione 1.3.0
16 settembre 2020
androidx.exifinterface:exifinterface:1.3.0 è stato rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche principali dalla versione 1.2.0
- Supporto esteso della scrittura EXIF WebP per includere i file che contengono solo blocchi VP8 o VP8L.
- È stato rimosso il buffering non necessario, che causava eccezioni OutOfMemory per i file immagine di grandi dimensioni.
INVALID_DATE_TIMErimosso. Utilizza inveceNULLper restituire valori datetime non validi.- È stato modificato il valore restituito da
getGpsDateTime, che ora restituisceLong.MIN_VALUEanziché-1per un valore non valido.
Versione 1.3.0-rc01
2 settembre 2020
androidx.exifinterface:exifinterface:1.3.0-rc01 viene rilasciato senza modifiche dal giorno 1.3.0-beta01. La versione 1.3.0-rc01 contiene questi commit.
Versione 1.3.0-beta01
19 agosto 2020
androidx.exifinterface:exifinterface:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Supporto esteso della scrittura EXIF WebP per includere i file che contengono solo blocchi VP8 o VP8L.
Modifiche alle API
INVALID_DATE_TIMErimosso. Utilizza inveceNULLper restituire un valore datetime non valido.
Correzioni di bug
getGpsDateTimeha restituitoLong.MIN_VALUEanziché-1perché-1è un valore valido- Sono stati modificati i getter correlati a DateTime per considerare il valore di offset (+/-) della stringa di data.
- È stato rimosso il buffering non necessario, che causava eccezioni OutOfMemory per i file immagine di grandi dimensioni.
- Imposta le impostazioni internazionali predefinite su Stati Uniti
- È stata sostituita l'aggiunta di ".tmp" per la creazione di file temporanei con l'aggiunta di un prefisso.
Versione 1.3.0-alpha01
19 febbraio 2020
androidx.exifinterface:exifinterface:1.3.0-alpha01 è stato rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche alle API
- È stato aggiunto un nuovo metodo:
ExifInterface.getGpsDateTime()
Versione 1.2.0
Versione 1.2.0
1° aprile 2020
androidx.exifinterface:exifinterface:1.2.0 è stato rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
- È stato aggiunto il supporto per l'aggiunta di EXIF ai file PNG
- Aggiunto il supporto per i file WebP e lo stream solo dati EXIF
- È stata aggiunta un'API per verificare se il tipo MIME specificato è supportato
- Sono stati aggiunti altri tag per l'ora di compensazione:
TAG_OFFSET_TIME,TAF_OFFSET_TIME_DIGITIZEDeTAG_OFFSET_TIME_ORIGINAL
Versione 1.2.0-rc01
19 febbraio 2020
androidx.exifinterface:exifinterface:1.2.0-rc01 è stato rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Risolto un problema per cui i file JPEG venivano salvati in modo errato se contenevano dati XMP
Versione 1.2.0-beta01
18 dicembre 2019
androidx.exifinterface:exifinterface:1.2.0-beta01 è stato rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per l'aggiunta di EXIF ai file PNG
- È stato aggiunto il supporto per la lettura e la scrittura di EXIF dai file WebP
- Aggiunto il supporto per uno stream solo di dati EXIF
Modifiche API
- È stata aggiunta un'API per verificare se il tipo MIME specificato è supportato
- Sono stati esposti i tag OffsetTime* di lettura e scrittura
Correzioni di bug
- Risolto un problema per cui venivano restituiti offset errati per
getAttributeRange()
Versione 1.1.0
Versione 1.1.0
20 novembre 2019
androidx.exifinterface:exifinterface:1.1.0 è stato rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto del formato HEIF e di altri tag XMP
- Aggiunto il supporto per la creazione di un oggetto
ExifInterfaceda un oggettoFileoFileDescriptor - Aggiunti altri metodi per ottenere l'attributo:
hasAttribute,getAttributeBytesegetAttributesRange
Versione 1.1.0-rc01
9 ottobre 2019
androidx.exifinterface:exifinterface:1.1.0-rc01 è stato rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato aggiunto un nome di formato mancante (IFD) per evitare un
ArrayIndexOutOfBoundsExceptionsuloadAttributes - Impedisce l'eliminazione del file di origine quando si verifica un'eccezione durante la chiamata di
saveAttributes - È stato risolto un problema di eccezione quando viene chiamata la funzione
saveAttributes()dopo la sovrascrittura di un file.
Versione 1.1.0-beta01
2 luglio 2019
androidx.exifinterface:exifinterface:1.1.0-beta01 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- Genera
NullPointerExceptionquandonullè impostato per gli argomenti@NonNull - Supporto per i tag XMP
Modifiche API
- Aggiunti altri metodi per ottenere informazioni sugli attributi
hasAttribute,getAttributeBytesegetAttributesRange
Correzioni di bug
- Evitare la perdita di memoria del descrittore di file
Versione 1.1.0-alpha01
13 marzo 2019
androidx.exifinterface:exifinterface:1.1.0-alpha01 è stato rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
- Supporto del formato HEIF
Modifiche API
- Sono stati aggiunti altri costruttori di ExifInterface
- Correzione errore di battitura:
TAG_CAMARA_OWNER_NAME->TAG_CAMERA_OWNER_NAME
Correzioni di bug
- È stato corretto il controllo del possibile overflow per l'immagine in miniatura (aosp/748608).