APK ile AAB farkı: Android uygulama paketleri nasıl çalışır?
APK doğrudan yüklenen Android paketidir, AAB ise Google Play'in cihaza özel paket üretmesi için hazırlanan yayın biçimidir. Farkları burada.
APK ve AAB nedir?
APK (Android Package), Android uygulamasının kurulabilir halidir. Derlenmiş kod, kaynaklar, görseller ve uygulama bildirimi bu tek dosyada toplanır. Dosya cihaza aktarılıp açıldığında uygulama kurulur.
AAB ise doğrudan cihaza kurulan bir dosya değildir. Geliştirici uygulamanın tüm kaynaklarını ve kodunu AAB olarak Google Play'e yükler. Mağaza, kullanıcının cihazına göre yalnızca gerekli parçaları içeren özel APK'lar oluşturur. Yani AAB bir yayın biçimi, APK ise kurulum biçimidir.
Temel farklar
Bu biçimler farklı aşamalara hizmet eder: • Kullanım: APK doğrudan kurulur, AAB mağaza üzerinden dağıtım içindir. • Paket içeriği: APK tüm cihazlar için kaynakları taşıyabilir, AAB'den üretilen paket ise cihaza özel olur. • Boyut: cihaza özel üretim, kullanıcının indirdiği paketi küçültme potansiyeli taşır. • Dağıtım: APK mağaza dışı kurulumda da kullanılır, AAB ise mağaza ortamına bağlıdır. • İmzalama: Google Play, uygulama imzalama anahtarını yönetme seçeneği sunar.
Geliştirme sırasında cihaza hızlı kurulum için APK, yayın için AAB tercih edilir.
AAB neden kullanılır?
Aynı uygulama ekran yoğunluğu, işlemci mimarisi ve dil gibi bakımlardan çok farklı cihazlarda çalışır. Tek APK içinde tüm bu varyasyonların kaynaklarını taşımak dosyayı gereksiz büyütür. AAB'de ise cihaza uymayan kaynaklar indirmeye dahil edilmez.
AAB ayrıca özellik modülleri ile isteğe bağlı teslimat gibi yetenekler sunar. Uygulamanın nadir kullanılan bir bölümü, kullanıcı ihtiyaç duyduğunda indirilebilir. Bu, ilk kurulum boyutunu küçük tutmaya yardım eder.
Pratikte nasıl üretilir?
Android Studio'da yayın derlemesi alınırken AAB biçimi seçilebilir. Gradle ile komut satırından da aynı işlem yapılır. Derleme sonunda üretilen AAB dosyası, imzalama bilgileriyle birlikte Play Console'a yüklenir.
Test amacıyla AAB'den cihaza özel APK üretmek için Google'ın bundletool aracı kullanılır. Bu araç, yayın öncesinde mağazanın üreteceği paketi yerelde denemenizi sağlar. Örneğin bir QA ekibi, yayına çıkmadan önce belirli bir cihaz yapılandırması için üretilen paketin sorunsuz kurulduğunu bu yolla doğrular.
Hangi durumda hangisi?
Mağazaya yeni uygulama yüklerken AAB biçimi kullanılır; güncel gereksinimler Google Play Console dokümantasyonundan kontrol edilmelidir. Mağaza dışı dağıtımlarda, örneğin kurum içi uygulamalarda veya test paylaşımında APK yaygındır. Bazı alternatif mağazalar yalnızca APK kabul eder.
Geliştirici için pratik kural şudur: hızlı cihaz testi ve doğrudan paylaşım için APK, Google Play yayını için AAB. Her biçimi üretebilmek ve hangisinin nerede kullanıldığını bilmek yayın sürecini sorunsuz yürütür.
Mindset programlarında nerede karşınıza çıkar?
Android Uygulama Geliştirme (Kotlin) Temelleri programının Test, CI ve Google Play Yayını modülü paketleme ve yayın sürecini kapsar. Android Uygulama Mimarisi (MVVM, Clean Architecture) ve Jetpack Compose ile Modern Android Arayüzü programları ise uygulamanın yapısı ve arayüzü üzerine yoğunlaşır. Mobil uygulama geliştiricileri ve yayın sürecinden sorumlu ekipler için, derleme çıktısını anlamaya yardımcı olur.
İlgili Mindset programı
Android Uygulama Geliştirme (Kotlin) Temelleri
Sık sorulan sorular
AAB dosyası telefona doğrudan kurulabilir mi?
Hayır. AAB cihaza doğrudan kurulan bir dosya değildir. Google Play ya da bundletool gibi araçlar AAB'den cihaza uygun APK'lar üretir. Doğrudan kurulum için APK gerekir. Bir AAB'yi cihaza kurmak isterseniz önce uygun APK'ları üretmeniz gerekir; bu işi mağaza ya da bundletool üstlenir.
APK ve AAB aynı uygulamadan mı üretilir?
Evet. Her ikisi de aynı kaynak koddan derlenir. Fark çıktı biçimindedir: APK kurulabilir paket, AAB ise mağazanın cihaza özel paket üretmesini sağlayan yayın paketidir. Dolayısıyla ayrı kod yazmanız gerekmez, yalnızca derleme çıktısı olarak hangi biçimi seçtiğinizi belirlersiniz.
APK dosyasını güvenle paylaşabilir miyim?
Kendi uygulamanızı test ekibiyle paylaşmak yaygındır. Ancak bilinmeyen kaynaklardan gelen APK dosyaları zararlı yazılım riski taşır. Kurulumdan önce kaynağın güvenilirliğini ve imzayı kontrol etmek gerekir. Uygulamanın imzası, güncellemelerin gerçek geliştiriciden geldiğini doğrulamak için kullanılır.
AAB, uygulama boyutunu mutlaka küçültür mü?
Çoğu durumda kullanıcının indireceği paket küçülür, çünkü cihaza uymayan kaynaklar dışarıda kalır. Ancak kazanç uygulamanın yapısına bağlıdır ve her zaman büyük olmayabilir. Bu yüzden boyut hedefi varsa, gerçek cihaz yapılandırmalarıyla indirme boyutunu ölçmek gerekir.
İlgili rehberler
İlgili eğitimler
Kategori: Yazılım Geliştirme