Exifinterface
อัปเดตล่าสุด | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
13 พฤศจิกายน 2024 | 1.3.7 | - | - | 1.4.0-alpha01 |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ของ Exifinterface คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
Groovy
dependencies { implementation "androidx.exifinterface:exifinterface:1.3.7" }
Kotlin
dependencies { implementation("androidx.exifinterface:exifinterface:1.3.7") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.4
เวอร์ชัน 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 ที่มีเครื่องหมาย 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 nullness ซึ่งเป็นการใช้ประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(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()
เมื่อพยายามเขียนกลุ่ม APP1 ของ JPEG ที่มีขนาดใหญ่เกินไป (ก่อนหน้านี้เราจะเขียนกลุ่ม 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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไข 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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการแยกวิเคราะห์แท็กที่เกี่ยวข้องกับส่วนย่อย (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
เพื่อแสดงผลค่าวันที่และเวลาที่ไม่ถูกต้องแทน - ทําให้
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
เพื่อแสดงผลค่าวันที่และเวลาที่ไม่ถูกต้องแทน
การแก้ไขข้อบกพร่อง
- ทําให้
getGpsDateTime
แสดงผลเป็นLong.MIN_VALUE
แทน-1
เนื่องจาก-1
เป็นค่าที่ถูกต้อง - ทำให้ตัวรับค่าที่เกี่ยวข้องกับ 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
แก้ไขข้อบกพร่อง
- ป้องกันไม่ให้หน่วยความจําของ File Descriptor รั่วไหล
เวอร์ชัน 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)