رابط Exifin
| آخرین بهروزرسانی | انتشار پایدار | کاندیدای انتشار | انتشار بتا | انتشار آلفا |
|---|---|---|---|---|
| ۳ دسامبر ۲۰۲۵ | ۱.۴.۲ | - | - | - |
اعلام وابستگیها
برای افزودن یک وابستگی به Exifinterface، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Google's Maven را مطالعه کنید.
وابستگیهای مربوط به مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { implementation "androidx.exifinterface:exifinterface:1.4.2" }
کاتلین
dependencies { implementation("androidx.exifinterface:exifinterface:1.4.2") }
برای اطلاعات بیشتر در مورد وابستگیها، به «افزودن وابستگیهای ساخت» مراجعه کنید.
بازخورد
بازخورد شما به بهبود Jetpack کمک میکند. اگر مشکلات جدیدی کشف کردید یا ایدههایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد یک کتابخانه جدید، نگاهی به مشکلات موجود در این کتابخانه بیندازید. میتوانید با کلیک بر روی دکمه ستاره، رأی خود را به یک مشکل موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
نسخه ۱.۴
نسخه ۱.۴.۲
۳ دسامبر ۲۰۲۵
androidx.exifinterface:exifinterface:1.4.2 منتشر شد. نسخه ۱.۴.۲ شامل این کامیتها است.
رفع اشکالات
- پشتیبانی از تجزیه JPEG با بایتهای اضافی (مجاز) 0xFF قبل از هر نشانگر.
نسخه ۱.۴.۱
۲۳ آوریل ۲۰۲۵
androidx.exifinterface:exifinterface:1.4.1 منتشر شد. نسخه ۱.۴.۱ شامل این کامیتها است.
رفع اشکالات
- اشکالی را برطرف کنید که در آن ارسال null به
setAttributeبرایTAG_XMPباعث ایجاد استثنا میشد.
نسخه ۱.۴.۰
۲۶ فوریه ۲۰۲۵
androidx.exifinterface:exifinterface:1.4.0 منتشر شد. نسخه ۱.۴.۰ شامل این کامیتها است.
نسخه ۱.۴.۰-rc01
۲۹ ژانویه ۲۰۲۵
androidx.exifinterface:exifinterface:1.4.0-rc01 بدون هیچ تغییری از زمان beta01 منتشر شده است. نسخه 1.4.0-rc01 شامل این کامیتها است.
نسخه ۱.۴.۰-بتا۰۱
۱۵ ژانویه ۲۰۲۵
androidx.exifinterface:exifinterface:1.4.0-beta01 منتشر شد. نسخه 1.4.0-beta01 شامل این کامیتها است.
تغییرات API
- مدیریت HEIC XMP را بهروزرسانی کنید تا دادههای XMP از یک بخش جداگانه در فایل، به جای برچسب ۷۰۰ در دادههای Exif، ترجیح داده شوند.
رفع اشکالات
- رفع مشکل کارکرد صحیح متد
ExifInterface.getThumbnail*()پس از فراخوانیsaveAttributes()(قبلاً فراخوانیها موفقیتآمیز بودند، اما نتیجه نادرست/تعریف نشده بود) - رفع مشکل مدیریت PNG XMP برای خواندن و نوشتن بخش جداگانه iTXt XMP به جای تگ ۷۰۰ در داخل بخش eXIf.
- رفع مشکل خرابی تصویر
WebPهنگام مدیریت فایلهای تصویری با دادههای غیر WebP در انتهای آنها. ( b/385766064 ).
نسخه ۱.۴.۰-آلفا۰۱
۱۳ نوامبر ۲۰۲۴
androidx.exifinterface:exifinterface:1.4.0-alpha01 منتشر شد. نسخه 1.4.0-alpha01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی برای خواندن دادههای XMP از تصاویر HEIF اضافه شد.
- پشتیبانی برای خواندن Exif و XMP از تصاویر AVIF اضافه شد.
تغییرات API
- مشخص کنید که پارامتر
locationبرایsetGpsInfo@Nullableاست و ارسالnullمنجر به No-Op میشود. ( If924c , b/236484611 )
رفع اشکالات
- پس از مواجهه با یک آفست IFD نامعتبر ( b/264729367 )، تجزیه را ادامه دهید.
- تصاویر WebP که به اشتباه حاوی نشانگر JPEG APP1 قبل از دادههای Exif خود هستند ( b/281638358 ) را مدیریت کنید.
- اطمینان حاصل کنید که تغییرات XMP در JPEG هایی که دارای یک بخش XMP جداگانه هستند، به جای اینکه در TIFF/Exif tag 700 نوشته شوند، توسط
saveAttributes()در همان بخش XMP جداگانه ذخیره شوند، زیرا این تغییرات توسط مشخصات XMP پشتیبانی نمیشوند و بسیاری از ابزارها آنها را پیدا نمیکنند. - هنگام ذخیره، از کپی کردن دادههای XMP از یک بخش جداگانه در فهرست پیشنمایش TIFF خودداری کنید ( b/309843390 ).
- بهبود دقت تبدیلهای double به rational. ( b/312680558 ).
- قالب منطقی (x/y) را برای
setAttributeبرای تگهای منطقی «legacy» که هنگام برگردانده شدن ازgetAttribute( b/312680558 ) به صورت خودکار به اعشار تبدیل میشوند، میپذیرد. - اطمینان حاصل کنید که دادههای XMP اضافه شده به یک تصویر JPEG که از قبل حاوی XMP نیست، در یک بخش جداگانه، همانطور که توسط مشخصات XMP مشخص شده است، نوشته شود. طبق مستندات،
ExifInterfaceدر تصاویر JPEG، XMP را در برچسب Exif 700 ترجیح میدهد (که مشخصات را نقض میکند)، بنابراین این رفتار هنگام خواندن/نوشتن تصاویر با دادههای XMP موجود حفظ میشود. - خروجی خراب هنگام نوشتن تصاویر WebP با ارتفاع یا عرض بیشتر از ۸۱۹۱ پیکسل ( b/342697059 ) را برطرف کنید.
- این کتابخانه اکنون از حاشیهنویسیهای nullness از نوع JSpecify استفاده میکند که از نوع type-use هستند. توسعهدهندگان کاتلین باید از آرگومان کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند:
-Xjspecify-annotations=strict(این پیشفرض است که از نسخه 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 )
نسخه ۱.۳.۷
نسخه ۱.۳.۷
۱۳ دسامبر ۲۰۲۳
androidx.exifinterface:exifinterface:1.3.7 منتشر شد. نسخه ۱.۳.۷ شامل این کامیتها است.
رفع اشکالات
- هنگام تلاش برای نوشتن یک قطعه JPEG APP1 که خیلی بزرگ است، از
ExifInterface.saveAttributes()یک استثنا ایجاد کنید (قبلاً یک قطعه APP1 نامعتبر با طول نادرست و کوتاه شده مینوشتیم:( b/263747161 )). پس از مواجهه با یک آفست IFD نامعتبر، تجزیه را ادامه دهید (قبلاً تجزیه بلافاصله متوقف میشد، که میتوانست منجر به برگرداندن مقادیر نادرست شود: ( b/264729367 )).
نسخه ۱.۳.۶
نسخه ۱.۳.۶
۸ فوریه ۲۰۲۳
androidx.exifinterface:exifinterface:1.3.6 منتشر شد. نسخه ۱.۳.۶ شامل این کامیتها است.
رفع اشکالات
- مشکل خواندن بیت آلفا از تکههای WebP VP8L برطرف شد ( b/255405635 ).
نسخه ۱.۳.۵
نسخه ۱.۳.۵
۲۴ اکتبر ۲۰۲۲
androidx.exifinterface:exifinterface:1.3.5 منتشر شد. نسخه ۱.۳.۵ شامل این کامیتها است.
رفع اشکالات
- دو مورد از تولید فایلهای WebP نامعتبر توسط
saveAttributes()برطرف شد.
نسخه ۱.۳.۴
نسخه ۱.۳.۴
۵ اکتبر ۲۰۲۲
androidx.exifinterface:exifinterface:1.3.4 منتشر شد. نسخه ۱.۳.۴ شامل این کامیتها است.
رفع اشکالات
- پشتیبانی از ذخیره ویژگیها در فایلهای DNG حذف شد. پشتیبانی اضافه شده در نسخه ۱.۳.۳ ناقص بود و فایلهای خراب تولید میکرد.
نسخه ۱.۳.۳
نسخه ۱.۳.۳
۴ آگوست ۲۰۲۱
androidx.exifinterface:exifinterface:1.3.3 منتشر شد. نسخه ۱.۳.۳ شامل این کامیتها است.
رفع اشکالات
- رفع مشکل تجزیه تگهای مربوط به subsec. ( aosp/1508143 )
- جلوگیری از RuntimeException هنگام فراخوانی setDataSource. ( c8e66e9 )
- جلوگیری از حلقه زدن بینهایت skipBytes ( fdbe88b )
- گرفتن RuntimeException از MediaMetadataRetriever. ( 389b21a )
- اضافه شدن پشتیبانی برای ذخیره ویژگیهای فایلهای DNG ( 3017dbc )
- تگهای غیر تصویر بندانگشتی را با تگهای تصویر بندانگشتی جایگزین کنید. ( e1b916d )
نسخه ۱.۳.۲
نسخه ۱.۳.۲
۲ دسامبر ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.2 منتشر شد. نسخه ۱.۳.۲ شامل این کامیتها است.
رفع اشکالات
- برای
GPS_LATITUDEوGPS_LONGITUDESRATIONALرا مجاز میداند. - پشتیبانی از خواندن/نوشتن فرمت ثانویه (2020-01-01 00:00:00) از برچسب DateTime اضافه شد.
- از حذف موقت فایل مبدا هنگام فراخوانی تابع saveAttribute() جلوگیری شد.
نسخه ۱.۳.۱
نسخه ۱.۳.۱
۱۴ اکتبر ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.1 منتشر شد. نسخه ۱.۳.۱ شامل این کامیتها است.
رفع اشکالات
- رفع مشکل پیادهسازی saveAttributes برای نگهداشتن دادههای تصویر در MediaProvider
نسخه ۱.۳.۰
نسخه ۱.۳.۰
۱۶ سپتامبر ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.0 منتشر شد. نسخه ۱.۳.۰ شامل این کامیتها است.
تغییرات عمده از زمان ۱.۲.۰
- پشتیبانی گستردهتر از نوشتن فایلهای EXIF با فرمت WebP برای گنجاندن فایلهایی که فقط حاوی تکههای VP8 یا VP8L هستند.
- بافرینگ غیرضروری که باعث ایجاد خطای OutOfMemory برای فایلهای تصویری بزرگ میشد، حذف شد.
-
INVALID_DATE_TIMEحذف شد. در عوضNULLبرای برگرداندن مقادیر تاریخ و زمان نامعتبر استفاده کنید. - تابع
getGpsDateTimeبه جای-1، مقدارLong.MIN_VALUEرا برای یک مقدار نامعتبر برمیگرداند.
نسخه ۱.۳.۰-rc01
۲ سپتامبر ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.0-rc01 بدون هیچ تغییری از زمان انتشار 1.3.0-beta01 منتشر شده است. نسخه ۱.۳.۰-rc01 شامل این کامیتها است.
نسخه ۱.۳.۰-بتا۰۱
۱۹ آگوست ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.0-beta01 منتشر شد. نسخه 1.3.0-beta01 شامل این کامیتها است.
ویژگیهای جدید
- پشتیبانی گستردهتر از نوشتن فایلهای EXIF با فرمت WebP برای گنجاندن فایلهایی که فقط حاوی تکههای VP8 یا VP8L هستند.
تغییرات API
-
INVALID_DATE_TIMEحذف شد. در عوضNULLبرای برگرداندن مقدار تاریخ و زمان نامعتبر استفاده کنید.
رفع اشکالات
- تابع
getGpsDateTimeبه جای-1، مقدارLong.MIN_VALUEرا برمیگرداند، زیرا-1یک مقدار معتبر است. - تابعهای دریافت (get) مربوط به DateTime مقدار offset (+/-) رشتهی تاریخ را در نظر میگیرند.
- بافرینگ غیرضروری که باعث ایجاد خطای OutOfMemory برای فایلهای تصویری بزرگ میشد، حذف شد.
- زبان پیشفرض را روی ایالات متحده تنظیم کنید
- اضافه کردن «.tmp» برای ایجاد فایلهای موقت به جای اضافه کردن پیشوند جایگزین شد.
نسخه ۱.۳.۰-آلفا۰۱
۱۹ فوریه ۲۰۲۰
androidx.exifinterface:exifinterface:1.3.0-alpha01 منتشر شد. نسخه 1.3.0-alpha01 شامل این کامیتها است.
تغییرات API
- یک متد جدید اضافه شد:
ExifInterface.getGpsDateTime()
نسخه ۱.۲.۰
نسخه ۱.۲.۰
۱ آوریل ۲۰۲۰
androidx.exifinterface:exifinterface:1.2.0 منتشر شد. نسخه ۱.۲.۰ شامل این کامیتها است.
تغییرات عمده از زمان ۱.۱.۰
- پشتیبانی از افزودن EXIF به فایلهای PNG اضافه شد
- پشتیبانی از فایلهای WebP و دادههای EXIF فقط برای استریم اضافه شد
- یک API اضافه شد تا بررسی کند که آیا نوع mime مشخص شده پشتیبانی میشود یا خیر.
- برچسبهای بیشتری برای زمان افست اضافه شد:
TAG_OFFSET_TIME،TAF_OFFSET_TIME_DIGITIZEDوTAG_OFFSET_TIME_ORIGINAL
نسخه ۱.۲.۰-rc01
۱۹ فوریه ۲۰۲۰
androidx.exifinterface:exifinterface:1.2.0-rc01 منتشر شد. نسخه 1.2.0-rc01 شامل این کامیتها است.
رفع اشکالات
- مشکلی که باعث میشد فایلهای JPEG در صورت وجود دادههای XMP در JPEG، اشتباه ذخیره شوند، برطرف شد.
نسخه ۱.۲.۰-بتا۰۱
۱۸ دسامبر ۲۰۱۹
androidx.exifinterface:exifinterface:1.2.0-beta01 منتشر شد. نسخه 1.2.0-beta01 شامل این کامیتها است .
ویژگیهای جدید
- پشتیبانی از افزودن EXIF به فایلهای PNG اضافه شد
- پشتیبانی از خواندن و نوشتن EXIF از فایلهای WebP اضافه شد
- پشتیبانی از جریان داده EXIF اضافه شد
تغییرات API
- یک API اضافه شد تا بررسی کند که آیا نوع mime مشخص شده پشتیبانی میشود یا خیر.
- برچسبهای OffsetTime* خواندن و نوشتن را نمایش داد.
رفع اشکالات
- مشکلی که باعث میشد آفستهای نادرست برای
getAttributeRange()برگردانده شوند، برطرف شد.
نسخه ۱.۱.۰
نسخه ۱.۱.۰
۲۰ نوامبر ۲۰۱۹
androidx.exifinterface:exifinterface:1.1.0 منتشر شد. نسخه ۱.۱.۰ شامل این کامیتها است .
تغییرات مهم از زمان ۱.۰.۰
- پشتیبانی از فرمت HEIF و تگهای XMP بیشتر
- پشتیبانی برای ساخت یک شیء
ExifInterfaceاز یکFileیاFileDescriptorاضافه شد - متدهای بیشتری برای دریافت ویژگی اضافه شده است:
hasAttribute،getAttributeBytesوgetAttributesRange
نسخه ۱.۱.۰-rc01
۹ اکتبر ۲۰۱۹
androidx.exifinterface:exifinterface:1.1.0-rc01 منتشر شد. نسخه 1.1.0-rc01 شامل این کامیتها است .
رفع اشکالات
- برای جلوگیری از
ArrayIndexOutOfBoundsExceptionدرloadAttributesیک نام قالب (IFD) اضافه شد که از قلم افتاده بود. - از حذف فایل مبدا در صورت بروز استثنا هنگام فراخوانی
saveAttributesجلوگیری شد. - مشکل استثنا زمانی که پس از رونویسی یک فایل، فراخوانی تابع
saveAttributes()رخ میداد، برطرف شد.
نسخه ۱.۱.۰-بتا۰۱
۲ ژوئیه ۲۰۱۹
androidx.exifinterface:exifinterface:1.1.0-beta01 منتشر شد. کامیتهای موجود در این نسخه را میتوانید اینجا پیدا کنید.
ویژگیهای جدید
- وقتی برای آرگومانهای
@NonNullnullتنظیم شود،NullPointerExceptionصادر میکند - پشتیبانی از تگهای XMP
تغییرات API
- اضافه شدن متدهای بیشتر برای دریافت اطلاعات ویژگیها
-
hasAttribute،getAttributeBytesوgetAttributesRange
رفع اشکالات
- جلوگیری از نشت حافظه توصیفگر فایل
نسخه ۱.۱.۰-آلفا۰۱
۱۳ مارس ۲۰۱۹
androidx.exifinterface:exifinterface:1.1.0-alpha01 منتشر شد. لیست کامل کامیتهای موجود در این نسخه را میتوانید اینجا بیابید.
ویژگیهای جدید
- پشتیبانی از فرمت HEIF
تغییرات API
- سازندههای بیشتری از ExifInterface اضافه شد
- اشتباه تایپی برطرف شد:
TAG_CAMARA_OWNER_NAME->TAG_CAMERA_OWNER_NAME
رفع اشکالات
- بررسی سرریز احتمالی برای تصویر بندانگشتی ( aosp/748608 ) برطرف شد.