Exifinterface
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
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 변경사항
setGpsInfo
의location
매개변수가@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_LATITUDE
및GPS_LONGITUDE
에SRATIONAL
이 허용됩니다.- 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-rc01
이 1.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에 포함된 커밋을 확인하세요.
버그 수정
loadAttributes
의ArrayIndexOutOfBoundsException
을 방지하기 위해 누락된 형식 이름(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)