Exifinterface
| อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| 3 ธันวาคม 2025 | 1.4.2 | - | - | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน Exifinterface คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ
แอปหรือโมดูล
ดึงดูด
dependencies { implementation "androidx.exifinterface:exifinterface:1.4.2" }
Kotlin
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 เปิดตัวโดยไม่มีการเปลี่ยนแปลงใดๆ ตั้งแต่เวอร์ชันเบต้า 01 เวอร์ชัน 1.4.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
เวอร์ชัน 1.4.0-beta01
15 มกราคม 2025
ระบบจะถอนการอ้างสิทธิ์androidx.exifinterface:exifinterface:1.4.0-beta01 เวอร์ชัน 1.4.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- อัปเดตการจัดการ XMP ของ HEIC เพื่อให้ใช้ข้อมูล XMP จากส่วนที่แยกต่างหากในไฟล์แทนแท็ก 700 ในข้อมูล Exif
การแก้ไขข้อบกพร่อง
- แก้ไขเมธอด
ExifInterface.getThumbnail*()ให้ทำงานได้อย่างถูกต้องหลังจากเรียกใช้saveAttributes()(ก่อนหน้านี้การเรียกใช้จะสำเร็จ แต่ผลลัพธ์จะไม่ถูกต้อง/ไม่ได้กำหนดไว้) - แก้ไขการจัดการ XMP ของ PNG เพื่ออ่านและเขียนก้อน XMP ของ iTXt แยกต่างหากแทนแท็ก 700 ภายในก้อน eXIf
- แก้ไข
WebPความเสียหายของรูปภาพเมื่อจัดการไฟล์รูปภาพที่มีข้อมูลที่ไม่ใช่ WebP ต่อท้าย (b/385766064)
เวอร์ชัน 1.4.0-alpha01
13 พฤศจิกายน 2024
ระบบจะถอนการอ้างสิทธิ์androidx.exifinterface:exifinterface:1.4.0-alpha01 เวอร์ชัน 1.4.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับการอ่านข้อมูล XMP จากรูปภาพ HEIF
- เพิ่มการรองรับการอ่าน Exif และ XMP จากรูปภาพ AVIF
การเปลี่ยนแปลง API
- ระบุว่าพารามิเตอร์
locationสำหรับsetGpsInfoคือ@Nullableและการส่งnullจะส่งผลให้ไม่มีการดำเนินการ (If924c, b/236484611)
การแก้ไขข้อบกพร่อง
- แยกวิเคราะห์ต่อหลังจากพบออฟเซ็ต IFD ที่ไม่ถูกต้อง (b/264729367)
- จัดการรูปภาพ WebP ที่มีเครื่องหมาย APP1 ของ JPEG อยู่ก่อนข้อมูล Exif อย่างไม่ถูกต้อง (b/281638358)
- ตรวจสอบว่าการเปลี่ยนแปลง XMP ใน JPEG ที่มีกลุ่ม XMP แยกต่างหากจะจัดเก็บไว้ในกลุ่ม XMP แยกต่างหากเดียวกันโดย
saveAttributes()แทนที่จะเขียนลงในแท็ก TIFF/Exif 700 ซึ่งข้อกำหนด XMP ไม่รองรับและเครื่องมือหลายอย่างจะไม่พบ - หลีกเลี่ยงการทำซ้ำข้อมูล XMP จากกลุ่มที่แยกต่างหากไปยังไดเรกทอรีตัวอย่าง TIFF เมื่อบันทึก (b/309843390)
- ปรับปรุงความแม่นยำของการแปลงจาก Double เป็น Rational (b/312680558)
- ยอมรับรูปแบบเศษส่วน (x/y) สำหรับแท็กเศษส่วน "เดิม" ซึ่งจะแปลงเป็นทศนิยมโดยอัตโนมัติเมื่อส่งคืนจาก
getAttribute(b/312680558)setAttribute - ตรวจสอบว่าข้อมูล XMP ที่เพิ่มลงในรูปภาพ JPEG ซึ่งยังไม่มี XMP จะเขียนลงในส่วนแยกต่างหากตามที่ระบุไว้ในข้อกำหนด XMP
ExifInterfaceมีเอกสารระบุว่าต้องการ XMP ในแท็ก Exif 700 ในรูปภาพ JPEG (ละเมิดข้อกำหนด) ดังนั้นลักษณะการทำงานนี้จะยังคงอยู่เมื่ออ่าน/เขียนรูปภาพที่มีข้อมูล XMP อยู่แล้ว - แก้ไขเอาต์พุตที่เสียหายเมื่อเขียนรูปภาพ WebP ที่มีความสูงหรือความกว้างมากกว่า 8191 พิกเซล (b/342697059)
- ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict(นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (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 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขการอ่านบิตอัลฟ่าจากก้อนข้อมูล VP8L ของ WebP (b/255405635)
เวอร์ชัน 1.3.5
เวอร์ชัน 1.3.5
24 ตุลาคม 2022
ระบบจะถอนการอ้างสิทธิ์androidx.exifinterface:exifinterface:1.3.5 เวอร์ชัน 1.3.5 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไข 2 กรณีที่
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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขแท็กที่เกี่ยวข้องกับ subsec (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
- ขยายการรองรับการเขียน EXIF ของ WebP ให้รวมถึงไฟล์ที่มีเฉพาะก้อนข้อมูล 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 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ขยายการรองรับการเขียน EXIF ของ WebP ให้รวมถึงไฟล์ที่มีเฉพาะก้อนข้อมูล VP8 หรือ VP8L
การเปลี่ยนแปลง API
- นำ
INVALID_DATE_TIMEออกแล้ว ให้ใช้NULLเพื่อแสดงค่า DateTime ที่ไม่ถูกต้องแทน
การแก้ไขข้อบกพร่อง
- แก้ไขให้
getGpsDateTimeแสดงผลเป็นLong.MIN_VALUEแทน-1เนื่องจาก-1เป็นค่าที่ถูกต้อง - ฟังก์ชัน Getter ที่เกี่ยวข้องกับ DateTime จะพิจารณาค่าออฟเซ็ต (+/-) ของสตริงวันที่
- นำการบัฟเฟอร์ที่ไม่จำเป็นออก ซึ่งทำให้เกิดข้อยกเว้น OutOfMemory สำหรับไฟล์รูปภาพขนาดใหญ่
- ตั้งค่าภาษาเริ่มต้นเป็นสหรัฐอเมริกา
- เปลี่ยนจากการเพิ่ม ".tmp" เพื่อสร้างไฟล์ชั่วคราวเป็นการเพิ่มคำนำหน้า
เวอร์ชัน 1.3.0-alpha01
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เมื่อตั้งค่าnullสำหรับอาร์กิวเมนต์@NonNull - การรองรับแท็ก XMP
การเปลี่ยนแปลง API
- เพิ่มวิธีการรับข้อมูลแอตทริบิวต์
hasAttribute,getAttributeBytesและgetAttributesRange
แก้ไขข้อบกพร่อง
- ป้องกันหน่วยความจำของตัวอธิบายไฟล์รั่วไหล
เวอร์ชัน 1.1.0-alpha01
13 มีนาคม 2019
ระบบจะถอนการอ้างสิทธิ์androidx.exifinterface:exifinterface:1.1.0-alpha01 ดูรายการคอมมิตทั้งหมดที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- รองรับรูปแบบ HEIF
การเปลี่ยนแปลง API
- เพิ่มตัวสร้างของ ExifInterface
- แก้ไขการสะกดคำผิด:
TAG_CAMARA_OWNER_NAME->TAG_CAMERA_OWNER_NAME
แก้ไขข้อบกพร่อง
- แก้ไขการตรวจสอบการล้นที่เป็นไปได้สำหรับภาพขนาดย่อ (aosp/748608)