Exifinterface
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
13 de novembro de 2024 | 1.3.7 | - | - | 1.4.0-alpha01 |
Declarar dependências
Para adicionar uma dependência à Exifinterface, é preciso adicionar o repositório Maven do Google ao seu projeto. Acesse Repositório Maven do Google para saber mais.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.exifinterface:exifinterface:1.3.7" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.3.7") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.4
Versão 1.4.0-alpha01
13 de novembro de 2024
Lançamento de androidx.exifinterface:exifinterface:1.4.0-alpha01
. A versão 1.4.0-alpha01 contém estas confirmações.
Novos recursos
- Adição de suporte para leitura de dados XMP de imagens HEIF.
- Adição de suporte à leitura de Exif e XMP em imagens AVIF.
Mudanças na API
- Indica que o parâmetro
location
parasetGpsInfo
é@Nullable
e que a transmissão denull
resultará em uma operação nula. (If924c, b/236484611).
Correções de bugs
- A análise foi continuada após encontrar um deslocamento IFD inválido (b/264729367).
- Processar imagens WebP que contêm incorretamente um marcador APP1 JPEG antes dos dados EXIF (b/281638358).
saveAttributes()
garante que as mudanças de XMP em JPEGs com um segmento XMP separado sejam armazenadas no mesmo segmento XMP separado, em vez de serem gravadas na tag TIFF/Exif 700, que não tem suporte da especificação XMP e que muitas ferramentas não encontram.- Evitar a duplicação de dados XMP de um segmento separado no diretório de visualização de TIFF ao salvar (b/309843390).
- Melhoria na precisão das conversões de dupla para racional. (b/312680558).
- Aceite o formato racional (x/y) para
setAttribute
em tags racionais "legado" que são convertidas automaticamente em decimal quando retornadas degetAttribute
(b/312680558). - Os dados XMP adicionados a uma imagem JPEG que ainda não contém XMP são gravados em um segmento separado, conforme especificado pela especificação XMP.
ExifInterface
é documentado para preferir o XMP na tag Exif 700 em imagens JPEG (violando a especificação). Portanto, esse comportamento é preservado ao ler/gravar imagens com dados XMP existentes. - Correção da saída corrompida ao gravar imagens WebP com altura ou largura maior que 8.191 pixels (b/342697059).
- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar os seguintes argumentos do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I5cd0f, b/326456246). - O contorno manual de acesso a novas APIs da plataforma foi removido, já que isso acontece automaticamente pelo modelagem de API ao usar o R8 com o AGP 7.3 ou mais recente (por exemplo, o R8 versão 3.3) e para todos os builds ao usar o AGP 8.1 ou mais recente (por exemplo, o D8 versão 8.1). Os clientes que não estão usando o AGP precisam fazer upgrade para a versão 8.1 ou mais recente do D8. Veja mais detalhes neste artigo. (If6b4c, b/345472586).
Versão 1.3.7
Versão 1.3.7
13 de dezembro de 2023
Lançamento de androidx.exifinterface:exifinterface:1.3.7
. A versão 1.3.7 contém estas confirmações.
Correções de bugs
- Gerar uma exceção de
ExifInterface.saveAttributes()
ao tentar gravar um segmento APP1 JPEG muito grande. Antes, gravávamos um segmento APP1 inválido com um comprimento truncado incorreto:(b/263747161). Continuar a análise após encontrar um deslocamento de IFD inválido. Antes, a análise era interrompida imediatamente, o que poderia resultar em valores incorretos sendo retornados: (b/264729367).
Versão 1.3.6
Versão 1.3.6
8 de fevereiro de 2023
Lançamento de androidx.exifinterface:exifinterface:1.3.6
. A versão 1.3.6 contém estas confirmações.
Correções de bugs
- Correção da leitura de bits Alfa de blocos WebP VP8L (b/255405635).
Versão 1.3.5
Versão 1.3.5
24 de outubro de 2022
Lançamento de androidx.exifinterface:exifinterface:1.3.5
. A versão 1.3.5 contém estas confirmações.
Correções de bugs
- Correção de dois casos de
saveAttributes()
que produziam arquivos WebP inválidos.
Versão 1.3.4
Versão 1.3.4
5 de outubro de 2022
Lançamento de androidx.exifinterface:exifinterface:1.3.4
. A versão 1.3.4 contém estas confirmações.
Correções de bugs
- Foi removido o suporte ao salvamento de atributos em arquivos DNG. O suporte adicionado na versão 1.3.3 estava incompleto e produzia arquivos corrompidos.
Versão 1.3.3
Versão 1.3.3
4 de agosto de 2021
Lançamento de androidx.exifinterface:exifinterface:1.3.3
. A versão 1.3.3 contém estas confirmações.
Correções de bugs
- Correção da análise de tags relacionadas a subseções (aosp/1508143).
- A RuntimeException é evitada ao chamar setDataSource (c8e66e9).
- O aumento dos loops infinitos de skipBytes é impedido (fdbe88b).
- Captura da RuntimeException pelo MediaMetadataRetriever (389b21a).
- Foi adicionada compatibilidade para salvar atributos em arquivos DNG (3017dbc).
- Substituição de tags sem miniaturas por outras com miniaturas (e1b916d).
Versão 1.3.2
Versão 1.3.2
2 de dezembro de 2020
Lançamento de androidx.exifinterface:exifinterface:1.3.2
. A versão 1.3.2 contém estas confirmações.
Correções de bugs
- Permite
SRATIONAL
paraGPS_LATITUDE
eGPS_LONGITUDE
. - Foi adicionado suporte à leitura/gravação de um formato secundário (2020-01-01 00:00:00) da tag DateTime.
- Impedimento da remoção temporária do arquivo de origem ao chamar saveAttribute().
Versão 1.3.1
Versão 1.3.1
14 de outubro de 2020
androidx.exifinterface:exifinterface:1.3.1
é lançado. A versão 1.3.1 contém estas confirmações.
Correções de bugs
- Correção da implementação saveAttributes para manter os dados da imagem no MediaProvider.
Versão 1.3.0
Versão 1.3.0
16 de setembro de 2020
androidx.exifinterface:exifinterface:1.3.0
é lançado. A versão 1.3.0 contém estas confirmações.
Principais mudanças desde a versão 1.2.0
- O suporte à gravação do EXIF do WebP foi estendido para incluir arquivos que contenham apenas blocos VP8 ou VP8L.
- Foi removido o armazenamento em buffer desnecessário, que causava exceções OutOfMemory em arquivos de imagem grandes.
- Remoção de
INVALID_DATE_TIME
. Em vez disso, useNULL
para retornar valores de data e hora inválidos. - Agora,
getGpsDateTime
retornaLong.MIN_VALUE
em vez de-1
para um valor inválido.
Versão 1.3.0-rc01
2 de setembro de 2020
androidx.exifinterface:exifinterface:1.3.0-rc01
é lançado sem mudanças desde 1.3.0-beta01
. A versão 1.3.0-rc01 contém estas confirmações.
Versão 1.3.0-beta01
19 de agosto de 2020
androidx.exifinterface:exifinterface:1.3.0-beta01
é lançado. A versão 1.3.0-beta01 contém estas confirmações.
Novos recursos
- O suporte à gravação do EXIF do WebP foi estendido para incluir arquivos que contenham apenas blocos VP8 ou VP8L.
Mudanças na API
- Remoção de
INVALID_DATE_TIME
. Em vez disso, useNULL
para retornar um valor de datetime inválido.
Correções de bugs
- Agora,
getGpsDateTime
retornaLong.MIN_VALUE
em vez de-1
porque-1
é um valor válido. - Getters relacionados a DateTime consideram o valor de ajuste (+/-) da string de data.
- Foi removido o armazenamento em buffer desnecessário, que causava exceções OutOfMemory em arquivos de imagem grandes.
- Definição da localidade padrão como "EUA".
- Substituição de ".tmp" na criação de arquivos temporários para a adição de um prefixo.
Versão 1.3.0-alpha01
19 de fevereiro de 2020
androidx.exifinterface:exifinterface:1.3.0-alpha01
é lançado. A versão 1.3.0-alpha01 contém estas confirmações.
Mudanças na API
- Foi adicionado um novo método:
ExifInterface.getGpsDateTime()
Versão 1.2.0
Versão 1.2.0
1º de abril de 2020
androidx.exifinterface:exifinterface:1.2.0
é lançado. A versão 1.2.0 contém estas confirmações.
Principais mudanças desde a versão 1.1.0
- Adição de compatibilidade com acréscimo de EXIF a arquivos PNG
- Adição de compatibilidade com arquivos WebP e fluxo exclusivo de dados EXIF
- Adição de uma API para verificar se o tipo MIME especificado é compatível
- Adição de mais tags para ajuste de horário:
TAG_OFFSET_TIME
,TAF_OFFSET_TIME_DIGITIZED
eTAG_OFFSET_TIME_ORIGINAL
Versão 1.2.0-rc01
19 de fevereiro de 2020
androidx.exifinterface:exifinterface:1.2.0-rc01
é lançado. A versão 1.2.0-rc01 contém estas confirmações.
Correções de bugs
- Correção de um problema em que arquivos JPEG eram salvos incorretamente caso o arquivo JPEG tivesse dados XMP
Versão 1.2.0-beta01
18 de dezembro de 2019
androidx.exifinterface:exifinterface:1.2.0-beta01
é lançado. A versão 1.2.0-beta01 contém estas confirmações.
Novos recursos
- Adição de compatibilidade com acréscimo de EXIF a arquivos PNG
- Adição de compatibilidade com leitura e gravação de EXIF de arquivos WebP
- Adição de compatibilidade com um fluxo exclusivo de dados EXIF
Mudanças na API
- Adição de uma API para verificar se o tipo MIME especificado é compatível
- Exposição de tags OffsetTime* de leitura e gravação
Correções de bugs
- Correção de um problema em que intervalos incorretos estavam sendo retornados para
getAttributeRange()
Versão 1.1.0
Versão 1.1.0
20 de novembro de 2019
androidx.exifinterface:exifinterface:1.1.0
é lançado. A versão 1.1.0 contém estas confirmações.
Mudanças importantes desde a versão 1.0.0
- Suporte ao formato HEIF e mais tags XMP.
- Foi adicionado suporte para a construção de um objeto
ExifInterface
usandoFile
ouFileDescriptor
como base. - Adição de mais métodos para receber o atributo:
hasAttribute
,getAttributeBytes
egetAttributesRange
Versão 1.1.0-rc01
9 de outubro de 2019
androidx.exifinterface:exifinterface:1.1.0-rc01
é lançado. A versão 1.0.0-rc01 contém essas confirmações (link em inglês).
Correções de bugs
- Foi adicionado um nome de formato ausente (IFD) para evitar
ArrayIndexOutOfBoundsException
emloadAttributes
. - Impedimento da exclusão do arquivo de origem quando ocorreu uma exceção durante a chamada de
saveAttributes
- Foi corrigido um problema de exceção quando há uma chamada para
saveAttributes()
após a modificação de um arquivo.
Versão 1.1.0-beta01
2 de julho de 2019
Lançamento de androidx.exifinterface:exifinterface:1.1.0-beta01
. As confirmações incluídas nessa versão podem ser encontradas neste link.
Novos recursos
- Lança
NullPointerException
quandonull
está definido para argumentos@NonNull
- Suporte a tags XMP
Mudanças na API
- Adição de mais métodos para receber informações de atributos.
hasAttribute
,getAttributeBytes
egetAttributesRange
Correções de bugs
- Prevenção de vazamento de memória do descritor de arquivos.
Versão 1.1.0-alpha01
13 de março de 2019
Lançamento de androidx.exifinterface:exifinterface:1.1.0-alpha01
. A lista completa de confirmações incluídas nessa versão pode ser encontrada neste link.
Novos recursos
- Compatibilidade com o formato HEIF.
Mudanças na API
- Adição de mais construtores de ExifInterface.
- Correção de erro de digitação:
TAG_CAMARA_OWNER_NAME
->TAG_CAMERA_OWNER_NAME
.
Correções de bugs
- Foi corrigida a verificação do possível estouro da imagem em miniatura (aosp/748608).