Exifinterface

Read and write image file EXIF tags.
Latest Update Current Stable Release Next Release Candidate Beta Release Alpha Release
September 16, 2020 1.3.0 - - -

Declaring dependencies

To add a dependency on Exifinterface, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.

Add the dependencies for the artifacts you need in the build.gradle file for your app or module:

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.3.0"
}

For more information about dependencies, see Add build dependencies.

Feedback

Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.

Create a new issue

See the Issue Tracker documentation for more information.

Version 1.3.0

Version 1.3.0

September 16, 2020

androidx.exifinterface:exifinterface:1.3.0 is released. Version 1.3.0 contains these commits.

Major changes since 1.2.0

  • Added support for writing EXIF to WebP files
  • Removed unnecessary buffering, which was causing OutOfMemory exceptions for large image files.
  • Removed INVALID_DATE_TIME. Instead use NULL to return invalid datetime values.
  • Made getGpsDateTime return Long.MIN_VALUE instead of -1 for an invalid value.

Version 1.3.0-rc01

September 2, 2020

androidx.exifinterface:exifinterface:1.3.0-rc01 is released with no changes since 1.3.0-beta01. Version 1.3.0-rc01 contains these commits.

Version 1.3.0-beta01

August 19, 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 is released. Version 1.3.0-beta01 contains these commits.

New Features

  • Added support for writing EXIF to WebP files

API Changes

  • Removed INVALID_DATE_TIME. Instead use NULL to return invalid datetime value.

Bug Fixes

  • Made getGpsDateTime return Long.MIN_VALUE instead of -1 becuase -1 is a valid value
  • Made DateTime-related getters consider offset value (+/-) of date string.
  • Removed unnecessary buffering, which was causing OutOfMemory exceptions for large image files.
  • Set default locale to US
  • Replaced adding “.tmp” for creating temp files to adding a prefix.

Version 1.3.0-alpha01

February 19, 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 is released. Version 1.3.0-alpha01 contains these commits.

API Changes

  • Added a new method: ExifInterface.getGpsDateTime()

Version 1.2.0

Version 1.2.0

April 1, 2020

androidx.exifinterface:exifinterface:1.2.0 is released. Version 1.2.0 contains these commits.

Major changes since 1.1.0

  • Added support for adding EXIF to PNG files
  • Added support for WebP files and EXIF data only stream
  • Added an API to check if the specified mime type is supported
  • Added more tags for offset time: TAG_OFFSET_TIME, TAF_OFFSET_TIME_DIGITIZED, and TAG_OFFSET_TIME_ORIGINAL

Version 1.2.0-rc01

February 19, 2020

androidx.exifinterface:exifinterface:1.2.0-rc01 is released. Version 1.2.0-rc01 contains these commits.

Bug Fixes

  • Fixed an issue where JPEG files were incorrected saved if the JPEG had XMP data

Version 1.2.0-beta01

December 18, 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 is released. Version 1.2.0-beta01 contains these commits.

New features

  • Added support for adding EXIF to PNG files
  • Added support support for reading and writing EXIF from WebP files
  • Added support for an EXIF data only stream

API changes

  • Added an API to check if the specified mime type is supported
  • Exposed the read and write OffsetTime* tags

Bug fixes

  • Fixed an issue where the incorrect offsets were being returned for getAttributeRange()

Version 1.1.0

Version 1.1.0

November 20, 2019

androidx.exifinterface:exifinterface:1.1.0 is released. Version 1.1.0 contains these commits.

Important changes since 1.0.0

  • Support for HEIF format and more XMP tags
  • Added support for constructing an ExifInterface object from a File or FileDescriptor
  • Added more methods for getting attribute: hasAttribute, getAttributeBytes, and getAttributesRange

Version 1.1.0-rc01

October 9, 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 is released. Version 1.1.0-rc01 contains these commits.

Bug fixes

  • Added a missing format name (IFD) to prevent an ArrayIndexOutOfBoundsException on loadAttributes
  • Prevented the deletion of the origin file when an exception happens while calling saveAttributes
  • Fixed an exception issue when there is a call to saveAttributes() after overwriting a file.

Version 1.1.0-beta01

July 2, 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 is released. The commits included in this version can be found here.

New features

  • Throws NullPointerException when null is set for @NonNull arguments
  • Support for XMP tags

API changes

  • Added more methods for getting attribute info
  • hasAttribute, getAttributeBytes, and getAttributesRange

Bug fixes

  • Prevent file descriptor memory leak

Version 1.1.0-alpha01

March 13, 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 is released. The full list of commits included in this version can be found here.

New features

  • Support HEIF format

API changes

  • Added more constructors of ExifInterface
  • Fixed Typo: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

Bug fixes

  • Fixed the check of possible overflow for thumbnail image (aosp/748608)