Exifinterface
Ultimo aggiornamento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
---|---|---|---|---|
13 novembre 2024 | 1.3.7 | - | - | 1.4.0-alpha01 |
Dichiarazione delle dipendenze
Per aggiungere una dipendenza da Exifinterface, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli elementi necessari nel file build.gradle
per la tua app o il tuo modulo:
Groovy
dependencies { implementation "androidx.exifinterface:exifinterface:1.3.7" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.3.7") }
Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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 del Monitoraggio problemi.
Versione 1.4
Versione 1.4.0-alpha01
13 novembre 2024
androidx.exifinterface:exifinterface:1.4.0-alpha01
viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per la lettura dei dati XMP dalle immagini HEIF.
- È stato aggiunto il supporto per la lettura di Exif e XMP dalle immagini AVIF.
Modifiche all'API
- Indica che il parametro
location
persetGpsInfo
è@Nullable
e che il passaggio dinull
comporterà un'operazione senza effetti. (If924c, b/236484611)
Correzioni di bug
- Continua l'analisi dopo aver rilevato un offset IFD non valido (b/264729367).
- Gestire le immagini WebP che contengono erroneamente un indicatore JPEG APP1 prima dei dati Exif (b/281638358).
- Assicurati che le modifiche XMP nei file JPEG con un segmento XMP separato vengano memorizzate nello stesso segmento XMP separato da
saveAttributes()
, anziché essere scritte nel tag TIFF/Exif 700, che non è supportato dalla specifica XMP e dove molti strumenti non le troveranno. - Evita di duplicare i dati XMP di un segmento separato nella directory di anteprima TIFF durante il salvataggio (b/309843390).
- Migliora la precisione delle conversioni da doppie a razionali. (b/312680558).
- Accetta il formato razionale (x/y) per
setAttribute
per 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 li contiene già vengano scritti in un segmento separato, come specificato dalla specifica XMP. È documentato che
ExifInterface
preferisce l'XMP nel tag Exif 700 nelle immagini JPEG (violando la specifica), quindi questo comportamento viene mantenuto durante la lettura/scrittura delle immagini con dati XMP esistenti. - Correggere l'output danneggiato durante la scrittura di immagini WebP con altezza o larghezza superiore a 8191 pixel (b/342697059).
- Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I5cd0f, b/326456246) - È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello 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 clienti 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
viene rilasciato. La versione 1.3.7 contiene questi commit.
Correzioni di bug
- Viene lanciata 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 troncata errata:(b/263747161)). Continuare l'analisi dopo aver rilevato un offset IFD non valido (in precedenza l'analisi si interrompeva immediatamente, il che poteva comportare il ritorno di valori errati: (b/264729367)).
Versione 1.3.6
Versione 1.3.6
8 febbraio 2023
androidx.exifinterface:exifinterface:1.3.6
viene rilasciato. La versione 1.3.6 contiene questi commit.
Correzioni di bug
- Correzione della lettura del bit alpha dai chunk WebP VP8L (b/255405635).
Versione 1.3.5
Versione 1.3.5
24 ottobre 2022
androidx.exifinterface:exifinterface:1.3.5
viene rilasciato. La versione 1.3.5 contiene questi commit.
Correzioni di bug
- Sono stati corretti due casi in cui
saveAttributes()
produceva file WebP non validi.
Versione 1.3.4
Versione 1.3.4
5 ottobre 2022
androidx.exifinterface:exifinterface:1.3.4
viene rilasciato. La versione 1.3.4 contiene questi commit.
Correzioni di bug
- È stato rimosso il 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
viene rilasciato. La versione 1.3.3 contiene questi commit.
Correzioni di bug
- Correggere l'analisi dei tag relativi alle sezioni secondarie. (aosp/1508143)
- Impedisci RuntimeException quando chiami setDataSource. (c8e66e9)
- Impedisci a skipBytes di eseguire un ciclo infinito. (fdbe88b)
- Cattura RuntimeException da MediaMetadataRetriever. (389b21a)
- Aggiunta del 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
viene rilasciato. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- Consente
SRATIONAL
perGPS_LATITUDE
eGPS_LONGITUDE
. - È stato aggiunto il supporto per la lettura/scrittura di un formato secondario (01-01-2020 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
viene rilasciato. La versione 1.3.1 contiene questi commit.
Correzioni di bug
- Correggere l'implementazione di saveAttributes per mantenere i dati delle immagini in MediaProvider
Versione 1.3.0
Versione 1.3.0
16 settembre 2020
androidx.exifinterface:exifinterface:1.3.0
viene rilasciato. La versione 1.3.0 contiene questi commit.
Modifiche principali dalla versione 1.2.0
- È stato esteso il supporto della scrittura EXIF WebP per includere i file che contengono solo chunk VP8 o VP8L.
- È stato rimosso il buffering non necessario, che causava eccezioni OutOfMemory per file di immagini di grandi dimensioni.
INVALID_DATE_TIME
rimosso. Utilizza inveceNULL
per restituire valori data/ora non validi.- È stato modificato
getGpsDateTime
in modo che restituiscaLong.MIN_VALUE
anziché-1
per 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
viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- È stato esteso il supporto della scrittura EXIF WebP per includere i file che contengono solo chunk VP8 o VP8L.
Modifiche all'API
INVALID_DATE_TIME
rimosso. Utilizza inveceNULL
per restituire un valore data/ora non valido.
Correzioni di bug
- Ho modificato
getGpsDateTime
in modo che restituiscaLong.MIN_VALUE
anziché-1
perché-1
è un valore valido - I getter relativi a DateTime ora prendono in considerazione il valore dell'offset (+/-) della stringa della data.
- È stato rimosso il buffering non necessario, che causava eccezioni OutOfMemory per file di immagini di grandi dimensioni.
- Impostare 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
viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche all'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
viene 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
- È stato aggiunto il supporto per i file WebP e per lo stream di soli dati EXIF
- È stata aggiunta un'API per verificare se il tipo MIME specificato è supportato
- Sono stati aggiunti altri tag per l'ora di offset:
TAG_OFFSET_TIME
,TAF_OFFSET_TIME_DIGITIZED
eTAG_OFFSET_TIME_ORIGINAL
Versione 1.2.0-rc01
19 febbraio 2020
androidx.exifinterface:exifinterface:1.2.0-rc01
viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- È stato 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
viene 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
- È stato aggiunto il supporto per uno stream di soli dati EXIF
Modifiche all'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
viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
- Supporto per il formato HEIF e altri tag XMP
- È stato aggiunto il supporto per la creazione di un oggetto
ExifInterface
da unFile
o unFileDescriptor
- Sono stati aggiunti altri metodi per ottenere l'attributo:
hasAttribute
,getAttributeBytes
egetAttributesRange
Versione 1.1.0-rc01
9 ottobre 2019
androidx.exifinterface:exifinterface:1.1.0-rc01
viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato aggiunto un nome di formato mancante (IFD) per evitare un
ArrayIndexOutOfBoundsException
inloadAttributes
- È stata impedita l'eliminazione del file di origine quando si verifica un'eccezione durante la chiamata a
saveAttributes
- È stato risolto un problema di eccezione quando viene eseguita una chiamata a
saveAttributes()
dopo la sovrascrittura di un file.
Versione 1.1.0-beta01
2 luglio 2019
androidx.exifinterface:exifinterface:1.1.0-beta01
viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- Genera un errore
NullPointerException
quandonull
è impostato per gli argomenti@NonNull
- Supporto per i tag XMP
Modifiche all'API
- Sono stati aggiunti altri metodi per ottenere informazioni sugli attributi
hasAttribute
,getAttributeBytes
egetAttributesRange
Correzioni di bug
- Evitare la perdita di memoria del descrittore file
Versione 1.1.0-alpha01
13 marzo 2019
androidx.exifinterface:exifinterface:1.1.0-alpha01
viene rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
- Supporto del formato HEIF
Modifiche all'API
- Sono stati aggiunti altri costruttori di ExifInterface
- Errore ortografico corretto:
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)