Exifinterface
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
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。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 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
會導致 No-Op。If924c、b/236484611
修正錯誤
- 遇到無效的 IFD 偏移後,繼續剖析 (b/264729367)。
- 處理 WebP 圖片,這些圖片在 Exif 資料前錯誤地包含 JPEG APP1 標記 (b/281638358)。
- 請確認 JPEG 中的 XMP 變更 (含有獨立 XMP 片段) 會透過
saveAttributes()
儲存至同一個獨立 XMP 片段,而非寫入 XMP 規格不支援的 TIFF/Exif 標記 700,因為許多工具都找不到該標記。 - 儲存時,請避免將不同區段的 XMP 資料複製到 TIFF 預覽目錄中 (b/309843390)。
- 改善雙精度到有理數轉換的精確度。(b/312680558)。
- 接受「舊版」有理標記的理性格式 (x/y) 至
setAttribute
,這些標記會在從getAttribute
傳回時自動轉換為十進位 (b/312680558)。 - 請確認新增至 JPEG 圖片的 XMP 資料 (JPEG 圖片不含 XMP 資料) 會依 XMP 規格寫入個別區段。根據文件說明,
ExifInterface
會優先使用 JPEG 圖片中 Exif 700 標記中的 XMP (違反規格),因此在讀取/寫入含有現有 XMP 資料的圖片時,會保留這項行為。 - 修正高度或寬度大於 8191 像素的 WebP 圖片在寫入時產生損毀的輸出內容 (b/342697059)。
- 這個程式庫現在使用 JSpecify 空值註解,這是類型用法。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()
擲回例外狀況 (先前我們會寫入無效的 APP1 區段,且長度不正確且已截斷:(b/263747161))。遇到無效的 IFD 偏移後繼續剖析 (先前剖析會立即停止,可能導致傳回不正確的值:(b/264729367))。
1.3.6 版本
1.3.6 版本
2023 年 2 月 8 日
發布 androidx.exifinterface:exifinterface:1.3.6
。1.3.6 版包含以下修訂項目。
修正錯誤
- 修正從 WebP VP8L 區塊讀取 Alpha 位元的問題 (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 版的修訂項。
修正錯誤
- 請剖析子區段相關標記。(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 版的修訂項。
修正錯誤
- 修正 saveAttributes 實作作業,以保留 MediaProvider 中的圖片資料
1.3.0 版本
1.3.0 版本
2020 年 9 月 16 日
androidx.exifinterface:exifinterface:1.3.0
發布。1.3.0 版包含此連結所列的修訂項目。
自 1.2.0 版以來的重大異動
- 已擴充 WebP EXIF 寫入支援,納入僅包含 VP8 或 VP8L 區塊的檔案。
- 已移除不必要的緩衝設定,該設定導致大型圖片檔發生 OutOfMemory 例外狀況。
- 已移除
INVALID_DATE_TIME
。而是改用NULL
傳回無效的日期時間值。 - 已使
getGpsDateTime
的無效值傳回Long.MIN_VALUE
,而不是-1
。
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 版包含以下修訂項目。
新功能
- 已擴充 WebP EXIF 寫入支援,納入僅包含 VP8 或 VP8L 區塊的檔案。
API 變更
- 已移除
INVALID_DATE_TIME
。而是改用NULL
傳回無效的日期時間值。
修正錯誤
- 已使
getGpsDateTime
傳回Long.MIN_VALUE
而不是-1
,因為-1
是有效值 - 已使 DateTime 相關的 getter 考慮日期字串的偏移值 (+/-)。
- 已移除不必要的緩衝設定,該設定導致大型圖片檔發生 OutOfMemory 例外狀況。
- 將預設語言代碼設為 US
- 已取代:新增「.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 版本以來的重大異動
- 新增將 EXIF 新增至 PNG 檔案的支援功能
- 新增 WebP 檔案和 EXIF 資料串流的支援功能
- 新增 API,可檢查是否支援指定的 MIME 類型
- 新增更多偏移時間標記:
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 資料時無法正確儲存的問題
1.2.0-beta01 版
2019 年 12 月 18 日
發布了 androidx.exifinterface:exifinterface:1.2.0-beta01
。1.2.0-beta01 版包含這些修訂版本。
新功能
- 新增將 EXIF 新增至 PNG 檔案的支援功能
- 新增從 WebP 檔案讀取及寫入 EXIF 的支援功能
- 新增僅限 EXIF 資料串流的支援功能
API 變更
- 新增 API,可檢查是否支援指定的 MIME 類型
- 揭露讀取及寫入 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 版包含這些修訂版本。
修正錯誤
- 新增缺少的格式名稱 (IFD),防止
loadAttributes
上的ArrayIndexOutOfBoundsException
- 已避免在呼叫
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)