AAB — bu nima, APK dan farqi va ishlash prinsipi

Muallif: IT Sectr Nashr etilgan: 2026-04-15 O'qish vaqti: 8 daq

AAB (Android App Bundle) — 2021 yildan boshlab Google Play da APK ni almashtirgan Android ilovalarini nashr qilish formatidir. APK dan farqli o'laroq, AAB o'rnatish fayli emas — bu Google Play har bir qurilma uchun optimallashtirilgan APK larni dinamik ravishda yaratadigan konteynerdir. Android Developers, 2026 ma'lumotlariga ko'ra, format foydalanilmayotgan resurslarni chiqarib tashlash orqali yuklab olinadigan ilova hajmini o'rtacha 15% ga kamaytiradi.

Asosiy ma'lumotlar

  • AAB — Google Play har bir qurilma uchun APK yaratadigan Android ilovalarini nashr qilish formati.
  • Dynamic Delivery — faqat ma'lum bir qurilmaga kerak bo'lgan modul va resurslarni yetkazib berish mexanizmi.
  • Majburiylik — 2021 yil avgustidan Google Play barcha yangi ilovalar uchun AAB ni talab qiladi.
  • Tejamkorlik — yuklab olish hajmi keraksiz resurslarni chiqarib tashlash hisobiga 15–30% ga kamayadi.
  • Aktivlar — AAB Play Asset Delivery modullari orqali OBB fayllarisiz 2 GB gacha qo'llab-quvvatlaydi.

AAB nima

AAB (Android App Bundle) — Google tomonidan Google Play orqali tarqatish uchun APK ning o'rniga ishlab chiqilgan nashr formatidir. AAB ichida .aab kengaytmali ZIP arxivi — kompilyatsiya qilingan kod, resurslar va metama'lumotlar mavjud. Asosiy farq: AAB to'g'ridan-to'g'ri qurilmaga o'rnatilmaydi.

Ishlash prinsipi

Dasturchi AAB ni Google Play Console ga yuklaydi. Foydalanuvchi ilovani o'rnatmoqchi bo'lganda, Google Play qurilma konfiguratsiyasini tahlil qiladi: ekran zichligi (DPI), CPU arxitekturasi, til va Android versiyasi. Ushbu tahlil asosida faqat kerakli komponentlarni o'z ichiga olgan minimal APK yaratiladi.

Joriy etish tarixi

Google AAB ni 2018 yilda I/O konferensiyasida taqdim etdi. 2021 yil avgustidan format Google Play dagi barcha yangi ilovalar uchun majburiy bo'ldi. Mavjud ilovalar APK dan foydalanishda davom etishi mumkin, ammo yangilari faqat AAB formatida nashr qilinishi kerak.

AAB APK dan qanday farq qiladi

Farq AAB va APK o'rtasida tubdan farq qiladi: APK — o'rnatishga tayyor to'liq o'rnatish fayli. AAB — qayta ishlashni talab qiladigan manba komponentlari bo'lgan konteyner.

ParametrAPKAAB
TurO'rnatish fayliNashr konteyneri
O'rnatishTo'g'ridan-to'g'ri qurilmadaGoogle Play orqali
HajmTo'liq arxivManba komponentlari
ModullarHammasi bitta fayldaAlohida modullar
ImzoDasturchiGoogle Play
TarqatishHar qanday kanalGoogle Play

APK Google Play dan tashqarida tarqatish uchun mos keladi — veb-saytlar, elektron pochta yoki korporativ MDM tizimlari orqali. AAB Google Play infratuzilmasiga bog'langan va to'g'ridan-to'g'ri o'rnatilmaydi. AAB ni sinash uchun lokal mashinada APK yaratilishini emulyatsiya qiluvchi bundletool vositasidan foydalaniladi.

AAB faylining tuzilishi

Ichki tuzilishi APK ga o'xshaydi, lekin modullar va ularning bog'liqliklarini tavsiflash uchun qo'shimcha papka va fayllarni o'z ichiga oladi.

Fayl/papkaVazifasi
base/Asosiy modul: kod, resurslar, manifest
BundleConfig.pbProtobuf formatidagi paket konfiguratsiyasi
Bundle-metadata/Modul versiyalari haqida metama'lumotlar
feature/Dinamik modullar (on-demand)
assets/Ilova aktivlari
manifest/Har bir modulning manifesti

Asosiy modul (base)

Base moduli — AAB ning majburiy komponenti. U ilovaning asosiy kodini, resurslarini va manifestini o'z ichiga oladi. Base modulisiz ilova qurilmaydi. Boshqa barcha modullar ixtiyoriy va Dynamic Delivery orqali ulanadi.

Protobuf formati

AAB konfiguratsiyasi XML o'rniga Protocol Buffers (protobuf) dan foydalanadi. .pb fayllari ixchamroq va Google server infratuzilmasi tomonidan tezroq tahlil qilinadi. Bundletool vositasi protobuf ni tuzatish uchun o'qiladigan formatga o'zgartiradi.

Dynamic Delivery va ilova modullari

Dynamic Delivery — AAB qurilgan asosiy texnologiya. U foydalanuvchiga faqat uning qurilmasi va tiliga mos keladigan ilova qismlarini yetkazib berishga, shuningdek qo'shimcha modullarni so'rov bo'yicha yuklashga imkon beradi.

Modul turlari

Install-time modullari o'rnatish vaqtida asosiy APK bilan birga yuklanadi. Conditional modullari faqat shartlar bajarilganda yetkazib beriladi — masalan, 4K ekranlar uchun materiallar moduli. On-demand modullari foydalanuvchining so'roviga binoan ilova ichida yuklanadi.

Play Asset Delivery (PAD)

Katta resurslar uchun (2 GB gacha) OBB fayllari o'rniga Play Asset Delivery ishlatiladi. PAD bir xil uchta yetkazib berish rejimini qo'llab-quvvatlaydi: install-time, fast-follow (o'rnatishdan so'ng darhol) va on-demand.

kotlin
// SplitInstallManager orqali on-demand modulini yuklash
val manager = SplitInstallManagerFactory
    .create(context)

val request = SplitInstallRequest
    .newBuilder()
    .addModule("level_pack_3")
    .build()

manager.startInstall(request)
    .addOnSuccessListener {
        Log.d("AAB", "Modul o'rnatildi")
    }

Gradle da modul konfiguratsiyasi

Har bir dinamik modul yetkazib berish turi ko'rsatilgan holda alohida build.gradle fayli bilan tavsiflanadi. Modul asosiy ilovadan mustaqil bo'lgan o'z resurslari, kodi va manifestiga ega bo'lishi mumkin.

Gradle orqali AAB qurish

Qurish AAB Android Gradle Plugin orqali bundleRelease (yoki bundleDebug) vazifasi bilan amalga oshiriladi. Natija — build/outputs/bundle/ papkasida .aab fayli.

Qurish konfiguratsiyasi

AAB qurish uchun maxsus sozlamalar talab qilinmaydi — Android Gradle Plugin paketlarni standart sifatida qo'llab-quvvatlaydi. Assemble o'rniga bundle vazifasini ko'rsatish kifoya.

kotlin
// build.gradle.kts — imzo bilan AAB qurish
android {
    bundle {
        language {
            enableSplit = true
        }
        density {
            enableSplit = true
        }
        abi {
            enableSplit = true
        }
    }
}
// Vazifa: ./gradlew bundleRelease

Bundletool orqali lokal sinov

Google lokal mashinada AAB dan APK yaratish uchun bundletool vositasini taqdim etadi. `bundletool build-apks --bundle=app.aab --output=app.apks` buyrug'i turli qurilma konfiguratsiyalarida sinash uchun APKlar to'plamini yaratadi.

bundletool shuningdek AAB ni ochish, uning konfiguratsiyasini ko'rsatish va Google Play Console ga yuklashdan oldin imzo yaxlitligini tekshirish imkoniyatiga ega. Tuzatish uchun asosiy modul manifestini ko'rsatadigan `bundletool dump manifest --bundle=app.aab` buyrug'idan foydalaniladi.

AAB da bo'limlar konfiguratsiyasi

Standart sifatida AAB resurslarni uch o'lchov bo'yicha ajratadi: til (language), ekran zichligi (density) va CPU arxitekturasi (abi). Dasturchi build.gradle da istalgan bo'limni o'chirib qo'yishi mumkin — masalan, ilova faqat ingliz tilini qo'llab-quvvatlasa. Bo'limni o'chirish barcha variantlar uchun resurslar asosiy APK ga kiritilishini anglatadi.

Resource optimisation — AAB avtomatik ravishda PNG ni sifat yo'qotmasdan WebP ga o'zgartiradi, foydalanilmayotgan resurslarni siqadi va takrorlanuvchi qatorlarni olib tashlaydi. Ushbu optimallashtirishlar yakuniy APK yaratilayotganda Google Play tomonidan qo'llaniladi. Natijada foydalanuvchi to'liq arxivdan 15–25% kichikroq APK oladi.

AAB ni Google Play da nashr qilish

Nashr jarayoni Google Play Console da AAB ning APK dan faqat yuklanadigan fayl formati bilan farqlanadi. Konsol .aab ni qabul qiladi, uning tuzilishini, imzosini va modul konfiguratsiyasini tekshiradi, so'ngra har bir qurilma turi uchun APK yaratadi.

App Signing by Google Play

AAB yuklanayotganda Google Play imzo kalitlarini boshqarishni o'z zimmasiga oladi. Dasturchi paketni upload kaliti bilan imzolab yuklaydi, Google esa yaratilgan APK larni o'z kaliti bilan qayta imzolaydi. Bu kalitlarni almashtirishni va keystore yo'qolganida kirishni tiklashni osonlashtiradi.

Chiqarishdan oldin sinov

Google Play Console o'rnatilgan sinov imkoniyatini taqdim etadi: ma'lum bir qurilma uchun yaratilgan APK ni yuklab olish yoki Internal Testing, Closed Alpha va Open Beta treklari orqali ichki sinovni o'tkazish mumkin.

AAB bilan odatiy muammolar va ularning yechimi

O'tish AAB ga, ayniqsa ko'p sonli dinamik modullari yoki murakkab resurs konfiguratsiyasi bo'lgan loyihalarda muammolarni keltirib chiqarishi mumkin.

Modul konfiguratsiya xatolari

Agar dinamik modul asosiy modulning resurslariga noto'g'ri nom bilan murojaat qilsa, Google Play AAB ni tekshirish bosqichida rad etadi. Yechim — qurishdan oldin lint tekshiruvidan foydalanish va barcha modullarni bundletool orqali lokal sinovdan o'tkazish.

Til bo'limlari va ishlashning pasayishi

Tillar bo'yicha ajratish, joriy lokalizatsiya uchun resurslar dinamik yuklansa, ilovaning ishga tushishini sekinlashtirishi mumkin. Google tavsiyasi — tillar soni 10 dan kam bo'lsa ajratmaslik yoki eng mashhur tillar uchun install-time dan foydalanish.

Uchinchi tomon SDK lari bilan moslik

Ba'zi SDK lar (analitika, reklamalar, xaritalar) to'liq manifest va resurslarga kirishni talab qiladi. Moslikni tekshirish — migratsiyadan oldin majburiy qadam. Eng yirik SDK larning aksariyati (Firebase, Google Ads, Crashlytics) 2022 yildan AAB ni to'liq qo'llab-quvvatlaydi. Moslikni tekshirish uchun server APK yaratilishini emulyatsiya qiluvchi --validate flagi bilan bundletool ishlatiladi.

AAB versiyalash

AAB asosiy modul manifestidan versionCode dan foydalanadi. APK dan farqli o'laroq, AAB har bir modul uchun alohida versionCode ni ham qo'llab-quvvatlaydi — bu ilovaning alohida qismlarini to'liq qayta o'rnatmasdan yangilash imkonini beradi. Dynamic Delivery o'rnatilgan modullarni kuzatadi va Google Play orqali yangilashda faqat o'zgartirilgan komponentlarni yetkazib beradi.

AAB monitoringi va analitikasi

Google Play Console har bir AAB uchun batafsil analitikani taqdim etadi: qancha APK yaratilgan, qaysi bo'limlar talab qilingan, qurilmalar bo'yicha o'rtacha yuklab olish hajmi qancha. Android Vitals yaratilgan APK larning ishlash ko'rsatkichlarini ko'rsatadi. Ushbu ma'lumotlar bo'lim konfiguratsiyasini optimallashtirish va turli qurilma toifalari uchun yuklab olish hajmini kamaytirishga yordam beradi.

Tez-tez beriladigan savollar

AAB ni to'g'ridan-to'g'ri telefonga o'rnatish mumkinmi?

Yo'q, AAB to'g'ridan-to'g'ri o'rnatish uchun mo'ljallanmagan. Google Play uni ma'lum bir qurilma uchun APK ga aylantiradi. Telefonda sinash uchun AAB dan lokal APK yaratadigan bundletool ishlatiladi.

AAB ilova hajmini qanday kamaytiradi?

Google Play faqat foydalanuvchi qurilmasiga mos keladigan resurslar bilan APK yaratadi: bitta ekran zichligi, bitta CPU arxitekturasi, bitta til. Boshqa konfiguratsiyalar uchun resurslar kiritilmaydi, bu yuklab olishda 15–30% trafikni tejaydi.

AAB mavjud ilovalar uchun majburiymi?

Yo'q, mavjud ilovalar APK nashr qilishda davom etishi mumkin. AAB talabi faqat yangi ilovalarga tegishli. Google mavjud loyihalarni AAB ga yangilashni tavsiya qiladi, lekin talab qilmaydi.

APK dan AAB ga qanday migratsiya qilish mumkin?

Qurish vazifasini assembleRelease dan bundleRelease ga o'zgartiring, barcha SDK larning mosligini tekshiring, Google Play Console da App Signing ni sozlang va birinchi AAB ni mavjud track orqali yuklang.

AAB native kutubxonalarni qo'llab-quvvatlaydimi?

Ha, AAB modullarda native kutubxonalarni o'z ichiga oladi. Google Play faqat qurilma CPU arxitekturasiga mos .so fayllarini yetkazib beradi. Bu, ayniqsa, katta native kompilyatsiyalari bo'lgan Unity va Unreal Engine o'yinlari uchun muhimdir.

Xulosa

  • AAB — Google Play maqsadli APK lar yaratadigan Android ilovalarini nashr qilish konteyneri.
  • Dynamic Delivery faqat foydalanuvchi qurilmasiga mos resurslarni yetkazib beradi — 15–30% trafik tejamkorligi.
  • Modullilik — ilova turli yuklash strategiyasi bilan base, conditional va on-demand modullariga bo'linadi.
  • Majburiylik — 2021 yildan boshlab Google Play dagi barcha yangi ilovalar AAB formatida nashr qilinadi.
  • App Signing — Google Play imzo kalitlarini boshqaradi, almashtirish va tiklashni osonlashtiradi.
  • Sinov bundletool orqali amalga oshiriladi, u server APK yaratilishini lokal ravishda emulyatsiya qiladi.
  • Play Asset Delivery OBB fayllarini almashtiradi, moslashuvchan yuklash rejimlari bilan 2 GB gacha aktivlarni qo'llab-quvvatlaydi.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing