Exifinterface
| Последнее обновление | Стабильный релиз | Кандидат на релиз | Бета-версия | Альфа-релиз |
|---|---|---|---|---|
| 3 декабря 2025 г. | 1.4.2 | - | - | - |
Объявление зависимостей
Чтобы добавить зависимость от Exifinterface, необходимо добавить репозиторий Google Maven в свой проект. Подробнее см. в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.exifinterface:exifinterface:1.4.2" }
Котлин
dependencies { implementation("androidx.exifinterface:exifinterface:1.4.2") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с уже существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав на кнопку со звёздочкой.
Более подробную информацию см. в документации по системе отслеживания проблем .
Версия 1.4
Версия 1.4.2
3 декабря 2025 г.
Выпущен androidx.exifinterface:exifinterface:1.4.2 . Версия 1.4.2 содержит следующие коммиты .
Исправления ошибок
- Поддержка анализа JPEG-файлов с дополнительными (разрешенными) байтами 0xFF перед любым маркером.
Версия 1.4.1
23 апреля 2025 г.
Выпущен androidx.exifinterface:exifinterface:1.4.1 . Версия 1.4.1 содержит следующие коммиты .
Исправления ошибок
- Исправлена ошибка, из-за которой передача null в
setAttributeдляTAG_XMPприводила к возникновению исключения.
Версия 1.4.0
26 февраля 2025 г.
Выпущен androidx.exifinterface:exifinterface:1.4.0 . Версия 1.4.0 содержит следующие коммиты .
Версия 1.4.0-rc01
29 января 2025 г.
androidx.exifinterface:exifinterface:1.4.0-rc01 выпущен без изменений с версии beta01. Версия 1.4.0-rc01 содержит следующие коммиты .
Версия 1.4.0-beta01
15 января 2025 г.
Выпущен androidx.exifinterface:exifinterface:1.4.0-beta01 . Версия 1.4.0-beta01 содержит следующие коммиты .
Изменения API
- Обновите обработку HEIC XMP, чтобы отдавать предпочтение данным XMP из отдельного сегмента в файле, а не тегу 700 в данных Exif.
Исправления ошибок
- Исправлен метод
ExifInterface.getThumbnail*()для корректной работы после вызоваsaveAttributes()(ранее вызовы выполнялись успешно, но результат был неверным/неопределенным). - Исправлена обработка PNG XMP для чтения и записи отдельного блока iTXt XMP вместо тега 700 внутри блока eXIf.
- Исправление повреждения изображений
WebPпри обработке файлов изображений с конечными данными, отличными от WebP. ( b/385766064 ).
Версия 1.4.0-альфа01
13 ноября 2024 г.
Выпущен androidx.exifinterface:exifinterface:1.4.0-alpha01 . Версия 1.4.0-alpha01 содержит следующие коммиты .
Новые функции
- Добавить поддержку чтения данных XMP из изображений HEIF.
- Добавить поддержку чтения Exif и XMP из изображений AVIF.
Изменения API
- Укажите, что параметр
locationдляsetGpsInfo—@Nullableи что передача значенияnullприведет к ошибке No-Op. ( If924c , b/236484611 )
Исправления ошибок
- Продолжить анализ после обнаружения недопустимого смещения IFD ( b/264729367 ).
- Обрабатывать изображения WebP, которые ошибочно содержат маркер JPEG APP1 перед данными Exif ( b/281638358 ).
- Убедитесь, что изменения XMP в JPEG-файлах с отдельным сегментом XMP сохраняются в том же отдельном сегменте XMP с помощью
saveAttributes(), а не записываются в тег TIFF/Exif 700, который не поддерживается спецификацией XMP и в котором многие инструменты их не найдут. - Избегайте дублирования данных XMP из отдельного сегмента в каталоге предварительного просмотра TIFF при сохранении ( b/309843390 ).
- Повысить точность преобразований чисел двойной точности в рациональные числа. ( b/312680558 ).
- Принимает рациональный формат (x/y) для
setAttributeдля «старых» рациональных тегов, которые автоматически преобразуются в десятичные при возврате изgetAttribute( b/312680558 ). - Убедитесь, что данные XMP, добавляемые к изображению JPEG, которое ещё не содержит XMP, записаны в отдельный сегмент, как указано в спецификации XMP.
ExifInterfaceдокументирован как предпочитающий XMP в теге Exif 700 в изображениях JPEG (нарушая спецификацию), поэтому это поведение сохраняется при чтении/записи изображений с существующими данными XMP. - Исправление поврежденного вывода при записи изображений WebP с высотой или шириной более 8191 пикселей ( b/342697059 ).
- Эта библиотека теперь использует аннотации JSpecify, определяющие значение null , которые являются типовыми. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I5cd0f , b/326456246 ) - Удалено ручное описание доступа к новым API платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или более поздней версии (например, R8 версии 3.3) и для всех сборок с использованием AGP 8.1 или более поздней версии (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется обновиться до D8 версии 8.1 или более поздней. Подробнее см. в этой статье . ( If6b4c , b/345472586 )
Версия 1.3.7
Версия 1.3.7
13 декабря 2023 г.
Выпущен androidx.exifinterface:exifinterface:1.3.7 . Версия 1.3.7 содержит следующие коммиты.
Исправления ошибок
- Выдать исключение из
ExifInterface.saveAttributes()при попытке записать слишком большой сегмент JPEG APP1 (ранее мы записывали недопустимый сегмент APP1 с неверной, усеченной длиной: ( b/263747161 )). Продолжить анализ после обнаружения недопустимого смещения IFD (ранее анализ немедленно останавливался, что могло приводить к возврату неверных значений: ( b/264729367 )).
Версия 1.3.6
Версия 1.3.6
8 февраля 2023 г.
Выпущен androidx.exifinterface:exifinterface:1.3.6 . Версия 1.3.6 содержит следующие коммиты.
Исправления ошибок
- Исправлено чтение альфа-бита из фрагментов WebP VP8L ( b/255405635 ).
Версия 1.3.5
Версия 1.3.5
24 октября 2022 г.
Выпущен androidx.exifinterface:exifinterface:1.3.5 . Версия 1.3.5 содержит следующие коммиты.
Исправления ошибок
- Исправлены два случая, когда
saveAttributes()приводил к созданию недействительных файлов WebP.
Версия 1.3.4
Версия 1.3.4
5 октября 2022 г.
Выпущен androidx.exifinterface:exifinterface:1.3.4 . Версия 1.3.4 содержит следующие коммиты.
Исправления ошибок
- Удалена поддержка сохранения атрибутов в файлах DNG. Поддержка, добавленная в версии 1.3.3, была неполной и приводила к повреждению файлов.
Версия 1.3.3
Версия 1.3.3
4 августа 2021 г.
Выпущен androidx.exifinterface:exifinterface:1.3.3 . Версия 1.3.3 содержит следующие коммиты.
Исправления ошибок
- Исправлен парсинг тегов, связанных с подзащитными. ( aosp/1508143 )
- Предотвратить RuntimeException при вызове setDataSource. ( c8e66e9 )
- Предотвратить бесконечное зацикливание skipBytes. ( fdbe88b )
- Перехват исключения RuntimeException из MediaMetadataRetriever. ( 389b21a )
- Добавить поддержку сохранения атрибутов для файлов DNG ( 3017dbc )
- Заменить теги, не являющиеся миниатюрами, тегами миниатюр. ( e1b916d )
Версия 1.3.2
Версия 1.3.2
2 декабря 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.3.2 . Версия 1.3.2 содержит следующие коммиты.
Исправления ошибок
- Позволяет использовать
SRATIONALдляGPS_LATITUDEиGPS_LONGITUDE. - Добавлена поддержка чтения/записи вторичного формата (2020-01-01 00:00:00) тега DateTime.
- Предотвращено временное удаление исходного файла при вызове saveAttribute().
Версия 1.3.1
Версия 1.3.1
14 октября 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.3.1 . Версия 1.3.1 содержит следующие коммиты.
Исправления ошибок
- Исправлена реализация saveAttributes для сохранения данных изображения в MediaProvider.
Версия 1.3.0
Версия 1.3.0
16 сентября 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.3.0 . Версия 1.3.0 содержит следующие коммиты.
Основные изменения по сравнению с версией 1.2.0
- Расширенная поддержка записи WebP EXIF для включения файлов, содержащих только фрагменты VP8 или VP8L.
- Удалена ненужная буферизация, которая вызывала исключения OutOfMemory для больших файлов изображений.
- Удалено
INVALID_DATE_TIME. Вместо него используйтеNULLдля возврата недопустимых значений datetime. - Функция
getGpsDateTimeтеперь возвращаетLong.MIN_VALUEвместо-1для недопустимого значения.
Версия 1.3.0-rc01
2 сентября 2020 г.
androidx.exifinterface:exifinterface:1.3.0-rc01 выпущен без изменений с версии 1.3.0-beta01 . Версия 1.3.0-rc01 содержит следующие изменения.
Версия 1.3.0-beta01
19 августа 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.3.0-beta01 . Версия 1.3.0-beta01 содержит следующие изменения.
Новые функции
- Расширенная поддержка записи WebP EXIF для включения файлов, содержащих только фрагменты VP8 или VP8L.
Изменения API
- Удалено
INVALID_DATE_TIME. Вместо него используйтеNULLдля возврата недопустимого значения datetime.
Исправления ошибок
- Функция
getGpsDateTimeтеперь возвращаетLong.MIN_VALUEвместо-1, поскольку-1является допустимым значением. - Теперь геттеры, связанные с DateTime, учитывают значение смещения (+/-) строки даты.
- Удалена ненужная буферизация, которая вызывала исключения OutOfMemory для больших файлов изображений.
- Установить региональные параметры по умолчанию на США
- Добавление «.tmp» для создания временных файлов заменено на добавление префикса.
Версия 1.3.0-альфа01
19 февраля 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты.
Изменения API
- Добавлен новый метод:
ExifInterface.getGpsDateTime()
Версия 1.2.0
Версия 1.2.0
1 апреля 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.2.0 . Версия 1.2.0 содержит следующие коммиты.
Основные изменения с версии 1.1.0
- Добавлена поддержка добавления EXIF в файлы PNG.
- Добавлена поддержка только потоков файлов WebP и EXIF-данных.
- Добавлен API для проверки поддержки указанного типа MIME.
- Добавлены дополнительные теги для времени смещения:
TAG_OFFSET_TIME,TAF_OFFSET_TIME_DIGITIZEDиTAG_OFFSET_TIME_ORIGINAL
Версия 1.2.0-rc01
19 февраля 2020 г.
Выпущен androidx.exifinterface:exifinterface:1.2.0-rc01 . Версия 1.2.0-rc01 содержит следующие коммиты.
Исправления ошибок
- Исправлена ошибка, из-за которой файлы JPEG сохранялись некорректно, если в JPEG были данные XMP.
Версия 1.2.0-beta01
18 декабря 2019 г.
Выпущен androidx.exifinterface:exifinterface:1.2.0-beta01 . Версия 1.2.0-beta01 содержит следующие коммиты .
Новые функции
- Добавлена поддержка добавления EXIF в файлы PNG.
- Добавлена поддержка чтения и записи EXIF из файлов WebP.
- Добавлена поддержка потока только данных EXIF.
Изменения API
- Добавлен API для проверки поддержки указанного типа MIME.
- Открыты теги OffsetTime* для чтения и записи
Исправления ошибок
- Исправлена ошибка, из-за которой возвращались неверные смещения для
getAttributeRange()
Версия 1.1.0
Версия 1.1.0
20 ноября 2019 г.
Выпущен androidx.exifinterface:exifinterface:1.1.0 . Версия 1.1.0 содержит следующие коммиты .
Важные изменения с версии 1.0.0
- Поддержка формата HEIF и дополнительных тегов XMP
- Добавлена поддержка создания объекта
ExifInterfaceизFileилиFileDescriptor - Добавлены дополнительные методы для получения атрибутов:
hasAttribute,getAttributeBytesиgetAttributesRange
Версия 1.1.0-rc01
9 октября 2019 г.
Выпущен androidx.exifinterface:exifinterface:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты .
Исправления ошибок
- Добавлено отсутствующее имя формата (IFD) для предотвращения исключения
ArrayIndexOutOfBoundsExceptionприloadAttributes - Предотвращено удаление исходного файла при возникновении исключения во время вызова
saveAttributes - Исправлена проблема исключения при вызове
saveAttributes()после перезаписи файла.
Версия 1.1.0-beta01
2 июля 2019 г.
Выпущена версия androidx.exifinterface:exifinterface:1.1.0-beta01 . Изменения, включённые в эту версию, можно найти здесь .
Новые функции
- Выдает
NullPointerExceptionкогда для аргументов@NonNullустановленоnull - Поддержка XMP-тегов
Изменения API
- Добавлены дополнительные методы для получения информации об атрибутах.
-
hasAttribute,getAttributeBytesиgetAttributesRange
Исправления ошибок
- Предотвращение утечки памяти файлового дескриптора
Версия 1.1.0-альфа01
13 марта 2019 г.
Выпущена версия androidx.exifinterface:exifinterface:1.1.0-alpha01 . Полный список изменений, включённых в эту версию, можно найти здесь .
Новые функции
- Поддержка формата HEIF
Изменения API
- Добавлены дополнительные конструкторы ExifInterface.
- Исправлена опечатка:
TAG_CAMARA_OWNER_NAME->TAG_CAMERA_OWNER_NAME
Исправления ошибок
- Исправлена проверка возможного переполнения для миниатюрного изображения ( aosp/748608 )