Türkçe

APK ve AAB Nedir? App Bundle ve Split APK Rehberi

APK ve Android App Bundle (AAB) farklarını öğrenin. Split APK nedir, neden kullanılır ve uygulama yükleme süreçleri nasıl değişti?

Android dünyasında uygulama yükleme ve dağıtma süreçleri son birkaç yılda büyük bir değişim geçirdi. Eskiden her şey basit bir APK dosyasından ibaretken, bugün karşımıza AAB (Android App Bundle) ve Split APK (Bölünmüş APK) gibi terimler çıkıyor. Bu değişim, hem geliştiriciler hem de son kullanıcılar için uygulama boyutlarını optimize etmeyi ve daha verimli bir deneyim sunmayı amaçlıyor. Bu rehberde, APK ile AAB arasındaki farkları, Split APK kavramının neden hayatımıza girdiğini ve bu yeni sistemin nasıl çalıştığını detaylı bir şekilde inceleyeceğiz.

APK Nedir? Geleneksel Uygulama Paketi

APK (Android Package Kit), Android işletim sisteminin uygulamaları dağıtmak ve yüklemek için kullandığı standart dosya formatıdır. Bir APK dosyası, aslında uygulamanın tüm kodlarını, kaynaklarını (resimler, videolar, sesler), sertifikalarını ve manifest dosyasını içeren sıkıştırılmış bir arşivdir (ZIP formatında). Bir kullanıcı bir APK dosyasını indirdiğinde, cihazının mimarisi veya ekran çözünürlüğü ne olursa olsun, paketin içindeki tüm verileri indirmiş olur.

Geleneksel APK yapısının en büyük dezavantajı "şişkinlik" sorunudur. Geliştiriciler, uygulamanın her türlü cihazda (farklı CPU mimarileri, farklı ekran yoğunlukları ve onlarca dil seçeneği) çalışabilmesi için tüm bu kaynakları tek bir APK dosyasının içine koymak zorundaydı. Örneğin, sadece arm64-v8a mimarisine sahip bir telefon kullanan kullanıcı, cihazında asla kullanılmayacak olan armeabi-v7a veya x86 işlemci kodlarını da indirmek zorunda kalıyordu. Bu durum hem depolama alanı israfına hem de internet kotasının gereksiz kullanımına yol açıyordu.

AAB (Android App Bundle) Nedir?

Google, 2018 yılında tanıttığı Android App Bundle (AAB) formatı ile bu soruna modern bir çözüm getirdi. AAB, bir yükleme formatı değil, bir yayınlama formatıdır. Yani, kullanıcılar telefonlarına doğrudan bir AAB dosyası yüklemezler; bunun yerine geliştiriciler uygulamalarını Google Play Store'a AAB formatında yüklerler. Google Play ise bu paketi alır ve kullanıcının cihazına özel olarak optimize edilmiş küçük parçalara böler.

AAB formatı, uygulamanın tüm derlenmiş kodlarını ve kaynaklarını içerir ancak bunları cihaz türlerine göre kategorize eder. Google Play'in Dynamic Delivery (Dinamik Teslimat) sistemi sayesinde, bir kullanıcı "Yükle" butonuna bastığında Google Play kullanıcının cihaz özelliklerini analiz eder: İşlemci tipi nedir? Ekran yoğunluğu (DPI) ne kadar? Hangi dili kullanıyor? Ardından, sadece o cihaza uygun olan parçaları bir araya getirerek özel bir paket oluşturur ve gönderir.

Split APK (Bölünmüş APK) Neden Kullanılır?

AAB sisteminin bir sonucu olarak karşımıza Split APK kavramı çıkar. Geleneksel tekil APK yerine, uygulama artık birden fazla parçaya bölünmüştür. Genellikle bir yükleme şu parçalardan oluşur:

Neden bazı uygulamalar Split APK olarak dağıtılır sorusunun cevabı tamamen verimliliktir. Bölünmüş yapı sayesinde indirilen boyut belirgin şekilde küçülür. Örneğin, yüksek çözünürlüklü bir ekrana sahip telefon, düşük çözünürlüklü ekranlar için hazırlanan resimleri indirmez. Bu, özellikle düşük depolama kapasitesine sahip cihazlar ve gelişmekte olan ülkelerdeki sınırlı internet bağlantıları için hayati önem taşır.

APK ve AAB Arasındaki Temel Farklar

İki format arasındaki farkları anlamak, Android ekosisteminin nereye evrildiğini görmek açısından önemlidir. İşte temel karşılaştırmalar:

  1. Boyut: APK dosyaları tüm kaynakları içerdiği için büyüktür. AAB tabanlı Split APK'lar ise sadece gerekli parçaları içerdiği için çok daha küçüktür.
  2. Yükleme Süreci: APK dosyaları doğrudan adb install veya bir dosya yöneticisi ile yüklenebilir. AAB dosyaları ise doğrudan yüklenemez; önce cihaza özel Split APK setine dönüştürülmeleri gerekir.
  3. Güvenlik: AAB kullanırken uygulama imzalama anahtarı genellikle Google Play tarafından yönetilir. Geleneksel APK'da ise imzalama sorumluluğu tamamen geliştiricidedir.
  4. Esneklik: AAB, "Dinamik Özellikler" (Dynamic Features) sunar. Örneğin, bir oyunun sadece ilk bölümünü indirip diğer bölümleri oyun içinde ilerledikçe indirmesini sağlayabilirsiniz. Geleneksel APK'da bu tür bir modülerlik çok daha zordur.

Split APK Yükleme Sorunları ve Çözümleri

Sideloading (uygulamaları resmi mağaza dışından yükleme) yapan kullanıcılar için Split APK'lar başlangıçta bir sorun teşkil etti. Standart Android paket yükleyicisi, birden fazla APK dosyasını aynı anda tek bir uygulama olarak yükleme yeteneğine sahip değildi. Bu durum, "Uygulama yüklenemedi" hatalarına yol açıyordu. Ancak topluluk bu sorunu kısa sürede aştı.

Bu nedenle bir Split APK seti tek bir dosyaya dokunarak kurulamaz: Android yükleyicisi temel APK ile cihaza uygun yapılandırma APK'larını aynı kurulum oturumunda birlikte ister. Açık kaynak depoları ise farklı çalışır. F-Droid, IzzyOnDroid ve geliştiricilerin kendi depoları doğrudan kurulabilen tam APK dosyaları yayımlar. apkarsivi arşivindeki her dosya, resmi kaynağı tarafından imzalanıp yayımlanmış böyle tam bir APK'dır; yalnızca telefonunuzun işlemcisine uygun olanı seçmeniz yeterlidir. Kurulum adımları için APK yükleme rehberi sayfamıza göz atabilirsiniz.

Geliştiriciler Neden AAB Formatını Tercih Ediyor?

Google, Ağustos 2021'den itibaren Google Play Store'a yüklenen tüm yeni uygulamalar için AAB formatını zorunlu kıldı. Geliştiriciler için bu durum başlangıçta bir alışma süreci gerektirse de uzun vadede büyük avantajlar sağladı. Uygulama boyutunun küçülmesi, uygulamanın "yükleme iptal oranlarını" (install abandonment) düşürür. Bir kullanıcı bir uygulamayı indirmeye başladığında, dosya ne kadar küçükse işlemin başarıyla tamamlanma olasılığı o kadar yüksektir.

Ayrıca AAB, geliştiricilerin büyük varlık dosyalarını (örneğin yüksek kaliteli oyun grafiklerini) Play Asset Delivery üzerinden yönetmesine olanak tanır. Bu sayede büyük veri paketleri ana uygulamadan ayrı ve çok daha düzenli bir şekilde kullanıcıya sunulabilir. Cihaz uyumluluğu konusunda da hangi APK dosyasını seçmeliyim sorusu, AAB sayesinde büyük oranda otomatikleşmiş durumdadır.

Sonuç: Gelecek App Bundle Yapısında

Özetle, APK formatı Android'in temel taşı olmaya devam etse de AAB ve beraberinde getirdiği Split APK teknolojisi, mobil uygulamaların geleceğini temsil ediyor. Daha küçük boyutlar, daha hızlı yükleme süreleri ve cihaz bazlı optimizasyon, Android deneyimini bir üst seviyeye taşıyor. Son kullanıcı olarak Play Store üzerinden uygulama indirdiğinizde bu karmaşık süreçlerin hiçbirini fark etmezsiniz; sistem arka planda sizin için en uygun parçaları birleştirir.

Ancak, manuel yüklemeler yapan bir kullanıcıysanız, cihazınızın özelliklerini bilmek ve Split APK yapısını anlamak, doğru kurulumu yapmak için kritik öneme sahiptir. Android ekosistemi genişledikçe ve cihaz çeşitliliği arttıkça, bu tür akıllı dağıtım yöntemlerinin önemi daha da artacaktır. APK dosyalarının basitliği ile AAB'nin verimliliği arasındaki denge, Android'in esnek yapısının en güzel örneklerinden biridir.

Rehberler