Exifinterface

이미지 파일 EXIF(데이터) 태그를 읽고 씁니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 11월 13일 1.3.7 - - 1.4.0-alpha01

종속 항목 선언

Exifinterface의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

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

Kotlin

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.3.7")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.4

버전 1.4.0-alpha01

2024년 11월 13일

androidx.exifinterface:exifinterface:1.4.0-alpha01이 출시되었습니다. 버전 1.4.0-alpha01에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • HEIF 이미지에서 XMP 데이터를 읽을 수 있는 지원을 추가합니다.
  • AVIF 이미지에서 Exif 및 XMP를 읽을 수 있는 지원을 추가했습니다.

API 변경사항

  • setGpsInfolocation 매개변수가 @Nullable이고 null를 전달하면 무작위 작업이 실행된다고 표시합니다. (If924c, b/236484611)

버그 수정

  • 잘못된 IFD 오프셋이 발생한 후에도 파싱을 계속합니다. (b/264729367)
  • Exif 데이터 앞에 JPEG APP1 마커가 잘못 포함된 WebP 이미지를 처리합니다 (b/281638358).
  • 별도의 XMP 세그먼트가 있는 JPEG의 XMP 변경사항이 XMP 사양에서 지원되지 않고 많은 도구에서 찾을 수 없는 TIFF/Exif 태그 700에 쓰여지는 대신 saveAttributes()를 사용하여 동일한 별도의 XMP 세그먼트에 저장되도록 합니다.
  • 저장할 때 별도의 세그먼트의 XMP 데이터가 TIFF 미리보기 디렉터리에 중복되지 않도록 합니다. (b/309843390)
  • double에서 유리수로의 변환의 정밀도를 개선합니다. (b/312680558).
  • getAttribute에서 반환될 때 십진수로 자동 변환되는 '기존' 유리수 태그에 대해 유리수 형식 (x/y)을 setAttribute에 허용합니다 (b/312680558).
  • 아직 XMP가 포함되지 않은 JPEG 이미지에 추가된 XMP 데이터가 XMP 사양에 지정된 대로 별도의 세그먼트에 쓰여지도록 합니다. ExifInterface는 JPEG 이미지의 Exif 700 태그에 있는 XMP를 선호한다고 문서화되어 있으므로 (사양 위반) 기존 XMP 데이터가 있는 이미지를 읽거나 쓸 때 이 동작이 보존됩니다.
  • 높이 또는 너비가 8191픽셀을 초과하는 WebP 이미지를 쓸 때 손상된 출력을 수정했습니다. (b/342697059)
  • 이제 이 라이브러리는 유형 사용인 JSpecify nullness 주석을 사용합니다. Kotlin 개발자는 올바른 사용을 적용하기 위해 다음 컴파일러 인수 -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode를 사용해야 합니다. (I5cd0f, b/326456246)
  • 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 AGP 8.1 이상 (예: D8 버전 8.1)을 사용할 때 모든 빌드에서 API 모델링을 통해 자동으로 이루어지기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (If6b4c, b/345472586)

버전 1.3.7

버전 1.3.7

2023년 12월 13일

androidx.exifinterface:exifinterface:1.3.7이 출시되었습니다. 버전 1.3.7에 포함된 커밋을 확인하세요.

버그 수정

  • 너무 큰 JPEG APP1 세그먼트를 쓰려고 할 때 ExifInterface.saveAttributes()에서 예외를 발생시킵니다. 이전에는 잘못된 잘린 길이(b/263747161)로 잘못된 APP1 세그먼트를 작성했습니다. 잘못된 IFD 오프셋이 발생한 후에도 파싱을 계속합니다. 이전에는 파싱이 즉시 중지되어 잘못된 값이 반환될 수 있었습니다. (b/264729367)

버전 1.3.6

버전 1.3.6

2023년 2월 8일

androidx.exifinterface:exifinterface:1.3.6이 출시되었습니다. 버전 1.3.6에 포함된 커밋을 확인하세요.

버그 수정

  • WebP VP8L 청크에서 알파 비트 읽기 문제를 수정했습니다. (b/255405635)

버전 1.3.5

버전 1.3.5

2022년 10월 24일

androidx.exifinterface:exifinterface:1.3.5가 출시되었습니다. 버전 1.3.5에 포함된 커밋을 확인하세요.

버그 수정

  • saveAttributes()에서 잘못된 WebP 파일이 생성되는 두 가지 경우를 수정했습니다.

버전 1.3.4

버전 1.3.4

2022년 10월 5일

androidx.exifinterface:exifinterface:1.3.4가 출시되었습니다. 버전 1.3.4에 포함된 커밋을 확인하세요.

버그 수정

  • DNG 파일에 속성을 저장하는 기능을 삭제했습니다. 1.3.3에 추가된 지원이 불완전하여 손상된 파일이 생성되기 때문입니다.

버전 1.3.3

버전 1.3.3

2021년 8월 4일

androidx.exifinterface:exifinterface:1.3.3이 출시되었습니다. 버전 1.3.3에 포함된 커밋을 확인하세요.

버그 수정

  • subsec 관련 태그 파싱을 수정합니다. (aosp/1508143)
  • setDataSource를 호출할 때 RuntimeException을 방지합니다. (c8e66e9)
  • skipBytes가 무한 반복되는 것을 방지합니다. (fdbe88b)
  • MediaMetadataRetriever에서 RuntimeException을 포착합니다. (389b21a)
  • DNG 파일의 속성 저장 지원을 추가합니다. (3017dbc)
  • 썸네일이 아닌 태그를 썸네일 태그로 바꿉니다. (e1b916d)

버전 1.3.2

버전 1.3.2

2020년 12월 2일

androidx.exifinterface:exifinterface:1.3.2가 출시되었습니다. 버전 1.3.2에 포함된 커밋을 확인하세요.

버그 수정

  • GPS_LATITUDEGPS_LONGITUDESRATIONAL이 허용됩니다.
  • DateTime 태그의 보조 형식(2020-01-01 00:00:00) 읽기/쓰기 지원을 추가했습니다.
  • saveAttribute()를 호출하는 동안 원본 파일 일시 삭제를 방지했습니다.

버전 1.3.1

버전 1.3.1

2020년 10월 14일

androidx.exifinterface:exifinterface:1.3.1이 출시되었습니다. 버전 1.3.1에 포함된 커밋을 확인하세요.

버그 수정

  • MediaProvider에 이미지 데이터를 유지하도록 saveAttributes 구현을 수정합니다.

버전 1.3.0

버전 1.3.0

2020년 9월 16일

androidx.exifinterface:exifinterface:1.3.0이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.

1.2.0 이후 주요 변경사항

  • VP8 또는 VP8L 청크만 있는 파일을 포함하도록 WebP EXIF 쓰기 지원을 확장했습니다.
  • 대용량 이미지 파일에 대해 OutOfMemory 예외를 발생시키는 불필요한 버퍼링을 삭제했습니다.
  • INVALID_DATE_TIME을 삭제했습니다. 대신 NULL을 사용하여 잘못된 datetime 값을 반환합니다.
  • getGpsDateTime이 잘못된 값에 대해 -1 대신 Long.MIN_VALUE를 반환하도록 했습니다.

버전 1.3.0-rc01

2020년 9월 2일

androidx.exifinterface:exifinterface:1.3.0-rc011.3.0-beta01 이후 변경사항 없이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.

버전 1.3.0-beta01

2020년 8월 19일

androidx.exifinterface:exifinterface:1.3.0-beta01이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • VP8 또는 VP8L 청크만 있는 파일을 포함하도록 WebP EXIF 쓰기 지원을 확장했습니다.

API 변경사항

  • INVALID_DATE_TIME을 삭제했습니다. 대신 NULL을 사용하여 잘못된 datetime 값을 반환합니다.

버그 수정

  • -1이 유효한 값이므로 getGpsDateTime-1 대신 Long.MIN_VALUE를 반환하도록 했습니다.
  • DateTime 관련 getter가 날짜 문자열의 오프셋 값(+/-)을 고려하도록 했습니다.
  • 대용량 이미지 파일에 대해 OutOfMemory 예외를 발생시키는 불필요한 버퍼링을 삭제했습니다.
  • 기본 언어를 미국 영어로 설정했습니다.
  • 임시 파일을 생성하기 위한 '.tmp' 추가를 접두어 추가로 대체했습니다.

버전 1.3.0-alpha01

2020년 2월 19일

androidx.exifinterface:exifinterface:1.3.0-alpha01이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.

API 변경사항

  • 새 메서드(ExifInterface.getGpsDateTime())를 추가했습니다.

버전 1.2.0

버전 1.2.0

2020년 4월 1일

androidx.exifinterface:exifinterface:1.2.0이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.

1.1.0 이후 주요 변경사항

  • PNG 파일에 EXIF를 추가할 수 있는 지원이 추가되었습니다.
  • WebP 파일 및 EXIF 데이터 전용 스트림을 위한 지원이 추가되었습니다.
  • 지정된 MIME 유형이 지원되는지 확인하기 위한 API가 추가되었습니다.
  • 오프셋 시간의 태그(TAG_OFFSET_TIME, TAF_OFFSET_TIME_DIGITIZED, TAG_OFFSET_TIME_ORIGINAL)가 추가되었습니다.

버전 1.2.0-rc01

2020년 2월 19일

androidx.exifinterface:exifinterface:1.2.0-rc01이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • JPEG에 XMP 데이터가 있는 경우 JPEG 파일이 잘못 저장되는 문제를 수정했습니다.

버전 1.2.0-beta01

2019년 12월 18일

androidx.exifinterface:exifinterface:1.2.0-beta01이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • PNG 파일에 EXIF를 추가할 수 있는 지원이 추가되었습니다.
  • WebP 파일에서 EXIF를 읽고 쓸 수 있는 지원이 추가되었습니다.
  • EXIF 데이터 전용 스트림에 관한 지원이 추가되었습니다.

API 변경사항

  • 지정된 MIME 유형이 지원되는지 확인하기 위한 API가 추가되었습니다.
  • 읽기 및 쓰기 OffsetTime* 태그가 노출되었습니다.

버그 수정

  • getAttributeRange()와 관련해 잘못된 오프셋이 반환되는 문제가 해결되었습니다.

버전 1.1.0

버전 1.1.0

2019년 11월 20일

androidx.exifinterface:exifinterface:1.1.0이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.

1.0.0 이후 중요 변경사항

  • HEIF 형식 및 추가 XMP 태그를 지원합니다.
  • File 또는 FileDescriptor에서 ExifInterface 객체를 구성하도록 지원을 추가했습니다.
  • 속성을 가져오는 메서드를 추가했습니다(hasAttribute, getAttributeBytes, getAttributesRange).

버전 1.1.0-rc01

2019년 10월 9일

androidx.exifinterface:exifinterface:1.1.0-rc01이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • loadAttributesArrayIndexOutOfBoundsException을 방지하기 위해 누락된 형식 이름(IFD)을 추가했습니다.
  • saveAttributes를 호출하는 동안 예외 발생 시 원본 파일 삭제를 방지했습니다.
  • 파일을 덮어쓴 후 saveAttributes() 호출이 발생하는 예외 문제를 해결했습니다.

버전 1.1.0-beta01

2019년 7월 2일

androidx.exifinterface:exifinterface:1.1.0-beta01이 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

새로운 기능

  • @NonNull 인수에 null이 설정되면 NullPointerException이 발생합니다.
  • XMP 태그를 지원합니다.

API 변경사항

  • 속성 정보를 얻는 더 많은 메서드를 추가했습니다.
  • hasAttribute, getAttributeBytes, getAttributesRange

버그 수정

  • 파일 설명자 메모리 누수를 방지합니다.

버전 1.1.0-alpha01

2019년 3월 13일

androidx.exifinterface:exifinterface:1.1.0-alpha01이 출시되었습니다. 이 버전에 포함된 커밋의 전체 목록은 여기에서 확인할 수 있습니다.

새로운 기능

  • HEIF 형식 지원

API 변경사항

  • ExifInterface 생성자를 더 많이 추가했습니다.
  • TAG_CAMARA_OWNER_NAME에서 TAG_CAMERA_OWNER_NAME으로 오타를 수정했습니다.

버그 수정

  • 썸네일 이미지에 가능한 오버플로 확인을 수정했습니다. (aosp/748608)