Exifinterface

Resim dosyası EXIF etiketlerini okuyup yazın.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
3 Aralık 2025 1.4.2 - - -

Bağımlılıkları bildirme

Exifinterface'e bağımlılık eklemek için Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Eski

dependencies {
    implementation "androidx.exifinterface:exifinterface:1.4.2"
}

Kotlin

dependencies {
    implementation("androidx.exifinterface:exifinterface:1.4.2")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.4

Sürüm 1.4.2

3 Aralık 2025

androidx.exifinterface:exifinterface:1.4.2 iptal edilir. 1.4.2 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • Herhangi bir işaretçiden önce ek (izin verilen) 0xFF bayt içeren JPEG'lerin ayrıştırılması desteklenir.

Sürüm 1.4.1

23 Nisan 2025

androidx.exifinterface:exifinterface:1.4.1 iptal edilir. 1.4.1 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • TAG_XMP için setAttribute'ya null iletildiğinde istisna oluşturulmasına neden olan hata düzeltildi.

Sürüm 1.4.0

26 Şubat 2025

androidx.exifinterface:exifinterface:1.4.0 iptal edilir. 1.4.0 sürümü bu commit'leri içerir.

Sürüm 1.4.0-rc01

29 Ocak 2025

androidx.exifinterface:exifinterface:1.4.0-rc01, beta01'den bu yana herhangi bir değişiklik yapılmadan yayınlandı. 1.4.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.4.0-beta01

15 Ocak 2025

androidx.exifinterface:exifinterface:1.4.0-beta01 iptal edilir. 1.4.0-beta01 sürümü bu commit'leri içerir.

API Değişiklikleri

  • HEIC XMP işleme özelliğini, Exif verilerindeki 700 etiketini kullanmak yerine dosyadaki ayrı bir segmentten gelen XMP verilerini tercih edecek şekilde güncelleyin.

Hata Düzeltmeleri

  • ExifInterface.getThumbnail*() yönteminin, saveAttributes() çağrısından sonra doğru şekilde çalışması için düzeltme (daha önce çağrılar başarılı oluyordu ancak sonuç yanlış/tanımsız oluyordu)
  • PNG XMP işleme özelliğini, eXIf parçası içindeki 700 numaralı etiket yerine ayrı iTXt XMP parçasını okuyup yazacak şekilde düzeltin.
  • Sondaki WebP olmayan verileri içeren resim dosyaları işlenirken WebP resim bozulması düzeltildi. (b/385766064).

Sürüm 1.4.0-alpha01

13 Kasım 2024

androidx.exifinterface:exifinterface:1.4.0-alpha01 iptal edilir. 1.4.0-alpha01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • HEIF resimlerinden XMP verilerini okuma desteği eklendi.
  • AVIF resimlerinden Exif ve XMP okuma desteği eklendi.

API Değişiklikleri

  • location parametresinin setGpsInfo için @Nullable olduğunu ve null değerinin iletilmesinin No-Op ile sonuçlanacağını belirtin. (If924c, b/236484611)

Hata Düzeltmeleri

  • Geçersiz bir IFD uzaklığıyla (b/264729367) karşılaşıldıktan sonra ayrıştırmaya devam edin.
  • Exif verilerinden önce yanlışlıkla JPEG APP1 işaretçisi içeren WebP resimlerini işleme (b/281638358).
  • Ayrı bir XMP segmenti içeren JPEG'lerdeki XMP değişikliklerinin, XMP spesifikasyonu tarafından desteklenmeyen ve birçok aracın bulamayacağı TIFF/Exif etiketi 700'e yazılmak yerine saveAttributes() tarafından aynı ayrı XMP segmentinde saklanmasını sağlayın.
  • Kaydederken ayrı bir segmentteki XMP verilerinin TIFF önizleme dizinine kopyalanmasını önleyin (b/309843390).
  • Çift sayıdan rasyonel sayıya dönüşümlerin hassasiyetini artırın. (b/312680558).
  • getAttribute'dan döndürüldüğünde ondalık sayıya otomatik olarak dönüştürülen "eski" rasyonel etiketler için rasyonel biçimi (x/y) setAttribute olarak kabul edin (b/312680558).
  • XMP içermeyen bir JPEG resmine eklenen XMP verilerinin, XMP spesifikasyonunda belirtildiği gibi ayrı bir segmente yazıldığından emin olun. ExifInterface, JPEG resimlerindeki Exif 700 etiketinde XMP'yi tercih edecek şekilde belgelenmiştir (spesifikasyonu ihlal eder). Bu nedenle, mevcut XMP verileriyle resim okuma/yazma sırasında bu davranış korunur.
  • Yüksekliği veya genişliği 8.191 pikselden fazla olan WebP resimleri yazarken bozuk çıktı sorununu düzeltir (b/342697059).
  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (Bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir). (I5cd0f, b/326456246)
  • AGP 7.3 veya sonraki sürümlerle (ör. R8 sürüm 3.3) R8 kullanılırken ve AGP 8.1 veya sonraki sürümlerle (ör. D8 sürüm 8.1) tüm derlemeler kullanılırken yeni platform API'lerine erişimin manuel olarak ana hatlarının oluşturulması, API modelleme aracılığıyla otomatik olarak yapıldığından kaldırıldı. AGP kullanmayan müşterilerin D8'in 8.1 veya sonraki bir sürümüne güncellemeleri önerilir. Daha fazla bilgi için bu makaleye göz atın. (If6b4c, b/345472586)

Sürüm 1.3.7

Sürüm 1.3.7

13 Aralık 2023

androidx.exifinterface:exifinterface:1.3.7 iptal edilir. 1.3.7 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Çok büyük bir JPEG APP1 segmenti yazmaya çalışırken ExifInterface.saveAttributes()'dan istisna oluşturulur (daha önce, uzunluğu yanlış ve kısaltılmış olan geçersiz bir APP1 segmenti yazılıyordu:(b/263747161)). Geçersiz bir IFD ofsetiyle karşılaşıldıktan sonra ayrıştırmaya devam etme (Daha önce ayrıştırma işlemi hemen durduruluyordu. Bu durum, yanlış değerlerin döndürülmesine neden olabiliyordu: (b/264729367)).

Sürüm 1.3.6

Sürüm 1.3.6

8 Şubat 2023

androidx.exifinterface:exifinterface:1.3.6 iptal edilir. 1.3.6 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • WebP VP8L parçalarından alfa bitinin okunmasıyla ilgili düzeltme (b/255405635).

Sürüm 1.3.5

Sürüm 1.3.5

24 Ekim 2022

androidx.exifinterface:exifinterface:1.3.5 iptal edilir. 1.3.5 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • saveAttributes() Geçersiz WebP dosyaları oluşturulmasıyla ilgili iki sorunu düzeltir.

Sürüm 1.3.4

Sürüm 1.3.4

5 Ekim 2022

androidx.exifinterface:exifinterface:1.3.4 iptal edilir. 1.3.4 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Özelliklerin DNG dosyalarına kaydedilmesi desteği kaldırıldı. 1.3.3 sürümünde eklenen destek eksikti ve bozuk dosyalar oluşturuyordu.

Sürüm 1.3.3

Sürüm 1.3.3

4 Ağustos 2021

androidx.exifinterface:exifinterface:1.3.3 iptal edilir. 1.3.3 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Alt bölümle ilgili etiketlerin ayrıştırılması düzeltildi. (aosp/1508143)
  • setDataSource çağrılırken RuntimeException'ın oluşmasını önleyin. (c8e66e9)
  • skipBytes'ın sonsuz döngüye girmesini önleyin. (fdbe88b)
  • MediaMetadataRetriever'dan RuntimeException'ı yakalayın. (389b21a)
  • DNG dosyaları için özelliklerin kaydedilmesine yönelik destek eklendi (3017dbc).
  • Küçük resim içermeyen etiketleri küçük resim içeren etiketlerle değiştirin. (e1b916d)

Sürüm 1.3.2

Sürüm 1.3.2

2 Aralık 2020

androidx.exifinterface:exifinterface:1.3.2 iptal edilir. 1.3.2 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • GPS_LATITUDE ve GPS_LONGITUDE için SRATIONAL'ya izin verilir.
  • DateTime etiketinin ikincil biçiminin (2020-01-01 00:00:00) okunması/yazılması için destek eklendi.
  • saveAttribute() çağrılırken kaynak dosyanın geçici olarak kaldırılması engellendi.

Sürüm 1.3.1

Sürüm 1.3.1

14 Ekim 2020

androidx.exifinterface:exifinterface:1.3.1 iptal edilir. 1.3.1 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • Resim verilerini MediaProvider'da tutmak için saveAttributes uygulamasını düzeltin.

Sürüm 1.3.0

Sürüm 1.3.0

16 Eylül 2020

androidx.exifinterface:exifinterface:1.3.0 iptal edilir. 1.3.0 sürümü şu commit'leri içerir.

1.2.0 sürümünden beri yapılan önemli değişiklikler

  • Yalnızca VP8 veya VP8L parçaları içeren dosyaları da kapsayacak şekilde WebP EXIF yazma desteği genişletildi.
  • Büyük resim dosyalarında OutOfMemory istisnalarına neden olan gereksiz arabelleğe alma işlemi kaldırıldı.
  • INVALID_DATE_TIME kaldırıldı. Bunun yerine, geçersiz tarih saat değerlerini döndürmek için NULL kullanın.
  • Geçersiz bir değer için getGpsDateTime işlevinin -1 yerine Long.MIN_VALUE döndürmesi sağlandı.

Sürüm 1.3.0-rc01

2 Eylül 2020

androidx.exifinterface:exifinterface:1.3.0-rc01, 1.3.0-beta01 tarihinden beri herhangi bir değişiklik yapılmadan yayınlandı. 1.3.0-rc01 sürümü şu commit'leri içerir.

Sürüm 1.3.0-beta01

19 Ağustos 2020

androidx.exifinterface:exifinterface:1.3.0-beta01 iptal edilir. 1.3.0-beta01 sürümü şu commit'leri içerir.

Yeni Özellikler

  • Yalnızca VP8 veya VP8L parçaları içeren dosyaları da kapsayacak şekilde WebP EXIF yazma desteği genişletildi.

API Değişiklikleri

  • INVALID_DATE_TIME kaldırıldı. Bunun yerine, geçersiz tarih saat değerini döndürmek için NULL kullanın.

Hata Düzeltmeleri

  • getGpsDateTime, -1 geçerli bir değer olduğundan -1 yerine Long.MIN_VALUE döndürüyor.
  • DateTime ile ilgili alıcıların, tarih dizesinin ofset değerini (+/-) dikkate alması sağlandı.
  • Büyük resim dosyalarında OutOfMemory istisnalarına neden olan gereksiz arabelleğe alma işlemi kaldırıldı.
  • Varsayılan yerel ayarı ABD olarak ayarlama
  • Geçici dosyalar oluşturmak için ".tmp" ekleme yerine ön ek ekleme özelliği getirildi.

Sürüm 1.3.0-alpha01

19 Şubat 2020

androidx.exifinterface:exifinterface:1.3.0-alpha01 iptal edilir. 1.3.0-alpha01 sürümü şu commit'leri içerir.

API Değişiklikleri

  • Yeni bir yöntem eklendi: ExifInterface.getGpsDateTime()

Sürüm 1.2.0

Sürüm 1.2.0

1 Nisan 2020

androidx.exifinterface:exifinterface:1.2.0 iptal edilir. 1.2.0 sürümü şu commit'leri içerir.

1.1.0 sürümünden beri yapılan önemli değişiklikler

  • PNG dosyalarına EXIF ekleme desteği eklendi
  • Yalnızca WebP dosyaları ve EXIF verileri akışı için destek eklendi
  • Belirtilen MIME türünün desteklenip desteklenmediğini kontrol etmek için bir API eklendi.
  • Ofset süresi için daha fazla etiket eklendi: TAG_OFFSET_TIME, TAF_OFFSET_TIME_DIGITIZED ve TAG_OFFSET_TIME_ORIGINAL

Sürüm 1.2.0-rc01

19 Şubat 2020

androidx.exifinterface:exifinterface:1.2.0-rc01 iptal edilir. 1.2.0-rc01 sürümü şu commit'leri içerir.

Hata Düzeltmeleri

  • JPEG dosyalarında XMP verileri varsa JPEG dosyalarının yanlış kaydedilmesine neden olan sorun düzeltildi.

Sürüm 1.2.0-beta01

18 Aralık 2019

androidx.exifinterface:exifinterface:1.2.0-beta01 iptal edilir. 1.2.0-beta01 sürümü şu commit'leri içerir.

Yeni özellikler

  • PNG dosyalarına EXIF ekleme desteği eklendi
  • WebP dosyalarından EXIF okuma ve yazma desteği eklendi.
  • Yalnızca EXIF verileri içeren akış desteği eklendi

API değişiklikleri

  • Belirtilen MIME türünün desteklenip desteklenmediğini kontrol etmek için bir API eklendi.
  • Okuma ve yazma OffsetTime* etiketleri kullanıma sunuldu.

Hata düzeltmeleri

  • getAttributeRange() için yanlış ofsetlerin döndürülmesine neden olan sorun düzeltildi.

Sürüm 1.1.0

Sürüm 1.1.0

20 Kasım 2019

androidx.exifinterface:exifinterface:1.1.0 iptal edilir. Sürüm 1.1.0 şu commit'leri içerir.

1.0.0 sürümünden beri yapılan önemli değişiklikler

  • HEIF biçimi ve daha fazla XMP etiketi için destek
  • File veya FileDescriptor öğesinden ExifInterface nesnesi oluşturma desteği eklendi.
  • hasAttribute, getAttributeBytes ve getAttributesRange özelliklerini alma yöntemleri eklendi.

Sürüm 1.1.0-rc01

9 Ekim 2019

androidx.exifinterface:exifinterface:1.1.0-rc01 iptal edilir. 1.1.0-rc01 sürümü şu commit'leri içerir.

Hata düzeltmeleri

  • ArrayIndexOutOfBoundsException üzerinde loadAttributes oluşmasını önlemek için eksik bir biçim adı (IFD) eklendi.
  • saveAttributes çağrılırken bir istisna oluştuğunda kaynak dosyanın silinmesini engelledi.
  • Bir dosyanın üzerine yazıldıktan sonra saveAttributes() çağrıldığında oluşan istisna sorunu düzeltildi.

Sürüm 1.1.0-beta01

2 Temmuz 2019

androidx.exifinterface:exifinterface:1.1.0-beta01 iptal edilir. Bu sürüme dahil edilen commit'leri burada bulabilirsiniz.

Yeni özellikler

  • @NonNull bağımsız değişkenleri için null ayarlandığında NullPointerException oluşturur.
  • XMP etiketleri desteği

API değişiklikleri

  • Özellik bilgilerini edinmek için daha fazla yöntem eklendi.
  • hasAttribute, getAttributeBytes ve getAttributesRange

Hata düzeltmeleri

  • Dosya tanımlayıcı bellek sızıntısını önleme

Sürüm 1.1.0-alpha01

13 Mart 2019

androidx.exifinterface:exifinterface:1.1.0-alpha01 iptal edilir. Bu sürüme dahil edilen tüm commit'lerin listesini burada bulabilirsiniz.

Yeni özellikler

  • HEIF biçimini destekleme

API değişiklikleri

  • ExifInterface'in daha fazla oluşturucusu eklendi.
  • Yazım hatası düzeltildi: TAG_CAMARA_OWNER_NAME -> TAG_CAMERA_OWNER_NAME

Hata düzeltmeleri

  • Küçük resim için olası taşma kontrolü düzeltildi (aosp/748608).