Mobil ishlab chiqishda yig'ish va nashr qilish: bu nima, qanday formatlar va qanday ishlaydi

Muallif: IT Sectr Nashr etilgan: 2026-04-07 O'qish vaqti: 10 daq

Mobil ilovani yig'ish va nashr qilish — bu manba kodini o'rnatiladigan faylga (APK, AAB, IPA) aylantirish va uni ilovalar do'konlariga yuklash jarayonidir. Google Play Console (2025) ma'lumotiga ko'ra, Android App Bundle (AAB) 2021 yil avgustidan boshlab Google Play'da nashr qilish uchun majburiy formatdir. Ushbu maqolada biz yig'ish formatlari, kompilyatsiya, kod imzolash, nashr qilish jarayoni va beta testini ko'rib chiqamiz.

Asosiy nuqtalar

  • APK — klassik Android o'rnatish fayli; AAB — dinamik APK yaratish bilan Google Play uchun zamonaviy format.
  • IPA — iOS o'rnatish fayli, Apple sertifikati bilan imzolangan. Faqat macOS'da yig'iladi.
  • Kompilyatsiya: JIT (Android 6.0 gacha), AOT (Android 7+ ART), Bitcode (iOS, ixtiyoriy).
  • Code Signing — ishlab chiqaruvchini aniqlash uchun raqamli sertifikat bilan ilovani majburiy imzolash.
  • TestFlight (iOS) va Internal Testing (Android) — nashr qilishdan oldin beta testi vositalari.

Yig'ish formatlari: APK, AAB, IPA

APK vs AAB

APK (Android Package Kit) — Android'da mobil ilovalarni yig'ish va nashr qilishning an'anaviy formati. APK ilovaning barcha kodi, resurslari va manifestini o'z ichiga oladi. AAB (Android App Bundle) — Google tomonidan 2018 yilda taqdim etilgan va 2021 yil avgustidan yangi ilovalar uchun majburiy bo'lgan format. AAB to'g'ridan-to'g'ri o'rnatilmaydi — Google Play har bir qurilma uchun AAB'dan optimallashtirilgan APKni dinamik ravishda yaratadi.

AAB ning afzalliklari: yuklab olish hajmi o'rtacha 15% kichikroq (faqat kerakli resurslarni yetkazib berish orqali: to'g'ri ekran zichligi, tillar, CPU arxitekturalari). AAB shuningdek modulli yetkazib berishni qo'llab-quvvatlaydi — modullarni talab bo'yicha (Play Feature Delivery) yoki kechiktirilgan (Play On-Demand) yuklashingiz mumkin. Ishlab chiqaruvchilar uchun AAB majburiy; Google Play dan tashqarida tarqatish (sideloading, bozor joylari) uchun — faqat APK.

IPA

IPA (iOS App Store Package) — iOS o'rnatish fayli, imzolangan ilovani o'z ichiga olgan ZIP arxividir. IPA tarkibida Payload/ papkasidagi .app paketi, Provisioning Profile va imzo mavjud. IPA faqat macOS'da Xcode orqali yig'iladi, arxiv (.xcarchive) yaratadi va IPA ni eksport qiladi. App Store orqali tarqatish uchun IPA Apple Distribution Certificate bilan imzolanadi; Ad Hoc yoki Enterprise uchun — tegishli sertifikatlar bilan.

iOS va Android yig'ish formatlarini taqqoslash
Parametr APK AAB IPA
PlatformaAndroidAndroid (Google Play)iOS
FormatZIP arxivZIP arxivZIP arxiv
To'g'ridan-to'g'ri o'rnatishHaYo'q (Google Play orqali)App Store / MDM orqali
ImzoKeystore (JKS)Keystore (JKS/PEPK)Apple Certificate
App ThinningYo'qHa (avtomatik)Ha (Slicing, Bitcode)

Kompilyatsiya va optimallashtirish: JIT, AOT, ART, Bitcode

JIT vs AOT

JIT (Just-In-Time) — ilova bajarilishi paytida kodni kompilyatsiya qilish, yig'ish va nashr qilish tezligiga ta'sir qiladi. Android 5.0 (Lollipop) versiyasigacha JIT kompilyatsiyasi bilan Dalvik VM ishlatilgan. Har bir ilova ishga tushirilganda DEX bayt kodi «jo'joyida» mashina kodiga aylantirilgan. Kamchilik: birinchi ishga tushirishda sekinlashish va qo'shimcha energiya sarfi. AOT (Ahead-Of-Time) — ilova ishga tushirilishidan oldin, o'rnatish paytida kodni kompilyatsiya qilish. Android 7.0 (Nougat) dan boshlab, ART (Android Runtime) ilovani o'rnatish paytida to'liq kompilyatsiya qiladi.

ART (Android Runtime) — Android 5.0 da Dalvik o'rnini egallagan ish vaqti muhiti. ART gibrid yondashuvdan foydalanadi: o'rnatish paytida AOT kompilyatsiyasi + tez-tez bajariladigan metodlar uchun JIT. Bu AOT tezligini (tez ishga tushirish) JIT moslashuvchanligi bilan (adaptiv optimallashtirish) birlashtiradi. Natija: Dalvik bilan solishtirganda Android ilovalari ishlashi 20-30% ga oshdi. Ishlab chiqaruvchilar uchun ART ga o'tish shaffof — kod o'zgartirishni talab qilmaydi.

Bitcode va App Thinning

Bitcode — Apple turli protsessor arxitekturalari uchun IPA ni qayta kompilyatsiya qilishda foydalanadigan oraliq kod ifodasi (IR). Bitcode ixtiyoriy: iOS ilovalari uchun sukut bo'yicha yoqilgan, watchOS va tvOS uchun majburiy. Apple yangi protsessorlar chiqqanda ishlab chiqaruvchi ishtirokisiz Bitcode ni qayta kompilyatsiya qilishi mumkin. App Thinning — Apple ning Slicing (qurilma uchun faqat kerakli resurslarni yetkazib berish) va On-Demand Resources (talab bo'yicha resurslarni yuklash) ni o'z ichiga olgan texnologiyasi. App Thinning App Store dan yuklab olish hajmini 30-50% ga kamaytiradi.

DEX — Android uchun bayt kodi formati, ART/Dalvik tomonidan bajariladi. Kotlin/Java manba kodi class fayllariga kompilyatsiya qilinadi, so'ngra dx yoki d8 (zamonaviy va tezroq vosita) orqali DEX ga o'tkaziladi. Multidex — bitta DEX faylidagi 65,536 metod chegarasidan oshadigan ilovalar uchun mexanizm. Zamonaviy loyihalarda, targetSdkVersion >= 21 bo'lsa, multidex avtomatik ravishda yoqiladi.

Kod imzolash: Code Signing, Keystore, Provisioning Profile

Android: Keystore

Keystore — yig'ish paytida Android ilovasini imzolash uchun xususiy kalit va sertifikatni o'z ichiga olgan fayl. Keystore keytool (-genkey buyrug'i) yoki Android Studio orqali yaratiladi. Muhim: Keystore yo'qotilmasligi kerak — usiz Google Play'da ilovani yangilay olmaysiz. Imzolash parametrlari: keyAlias, keyPassword, storePassword va storeFile. Format: JKS (Java KeyStore) yoki AAB uchun PEPK (Play Encrypted Private Key).

App Bundle ID (Android) — paket notatsiyasidagi (com.example.app) noyob ilova identifikatori. Version Code — ichki versiya raqamlash uchun butun son (har bir yangi yig'ish uni oshiradi). Version Name — foydalanuvchiga ko'rsatiladigan satr (1.2.3). Ushbu parametrlar build.gradle da ilova darajasida o'rnatiladi.

iOS: Apple Certificate va Provisioning Profile

Apple Certificate — ishlab chiqaruvchining shaxsini tasdiqlovchi raqamli sertifikat. Turlari: Development (nosozliklarni tuzatish uchun), Distribution (App Store uchun), Ad Hoc (cheklangan tarqatish uchun). Sertifikatlar Apple Developer Account'da yaratiladi va Keychain'ga yuklab olinadi. Provisioning Profile — sertifikat, App ID (Bundle Identifier) va ruxsat etilgan qurilmalar ro'yxatini bog'laydigan fayl. Provisioning Profile bo'lmasa, ilova qurilmada ishlamaydi.

Bundle ID (iOS) — noyob ilova identifikatori (com.example.app). Build Number — har bir build bilan ortib boruvchi qurish raqami. Marketing Version — foydalanuvchiga ko'rsatiladigan versiya. Versiya boshqaruvi: iOS uchun parametrlar Info.plist va Project Settings'da o'rnatiladi; Android uchun — build.gradle'da. IT Sectr'da biz versiya yangilanishlarini Fastlane orqali avtomatlashtiramiz — bu chiqarish paytida inson xatolarini bartaraf qiladi.

Do'konlarda nashr qilish jarayoni

Google Play Console

Google Play Console — Android ilovalarini nashr qilish vositasi. Jarayon: ishlab chiqaruvchi hisobini ro'yxatdan o'tkazish ($25 bir marta), ilova yaratish, metama'lumotlarni to'ldirish (nom, tavsif, skrinshotlar, kategoriya), AAB yuklash, narx va tarqatishni sozlash, ko'rib chiqish. Google ilovani avtomatik (viruslar, siyosatga muvofiqlik) va ba'zi kategoriyalar uchun qo'lda tekshiradi. Ko'rib chiqish bir necha soatdan 2-3 kungacha davom etadi.

App Store Connect

App Store Connect — iOS ilovalarini nashr qilish uchun Apple platformasi. Jarayon: Apple ishlab chiqaruvchi hisobi ($99/yil), App Store Connect'da ilova yaratish, Xcode'da IPA tayyorlash (Archive → Distribute App → App Store Connect), Transporter yoki Xcode orqali yuklash, metama'lumotlarni to'ldirish, ko'rib chiqishga yuborish. App Review — Apple ning qo'lda tekshiruvi 24 soatdan 7 kungacha davom etishi mumkin. Rad etishning odatiy sabablari: ishlamaydigan tugmalar, to'liq bo'lmagan tarkib, tushuntirishsiz ruxsat so'rash.

Beta testi: TestFlight, Closed/Open Beta

TestFlight (iOS)

TestFlight — iOS ilovalarining beta testi uchun Apple ning rasmiy vositasi. TestFlight Internal Testing (elektron pochta orqali 100 tagacha tester, ko'rib chiqishsiz) va External Testing (10,000 tagacha tester, Apple ko'rib chiqishi bilan) ni qo'llab-quvvatlaydi. Yig'ilmalar 90 kun davomida mavjud, shundan so'ng yangi yig'ilma yuklanishi kerak. TestFlight yangi yig'ilma yuklanganda testerlarning ilovasini avtomatik yangilaydi.

Internal / Closed / Open Beta (Android)

Internal Testing (Android) — 100 tagacha tester, Google ko'rib chiqishisiz, yig'ilma darhol mavjud. Closed Beta — elektron pochta yoki Google Groups orqali 1000 tagacha tester, ko'rib chiqishsiz. Open Beta — ochiq havola orqali cheksiz tester, Google ko'rib chiqishi bilan. Staged Rollout — yangilanishni oladigan foydalanuvchilar foizini bosqichma-bosqich oshirish (5% → 20% → 50% → 100%). Bu eng xavfsiz chiqarish usuli.

App Thinning (iOS) — yuklab olingan IPA hajmini avtomatik kamaytirish: Slicing (qurilma uchun faqat kerakli resurslar), Bitcode (protsessorni optimallashtirish), On-Demand Resources (talab bo'yicha yuklab olish). IT Sectr'da biz iOS beta testi uchun TestFlight va Android uchun Internal Testing dan foydalanamiz — bu ommaviy chiqarishdan oldin muammolarni aniqlash imkonini beradi.

Tez-tez so'raladigan savollar

APK va AAB o'rtasidagi farq nima?

APK — universal o'rnatish fayli, har qanday qurilmada ishlaydi. AAB — har bir qurilma uchun optimal APK yaratadigan Google Play formati. AAB orqali yuklab olish hajmi 15% kichikroq. Google Play uchun AAB majburiy, sideloading uchun — APK.

Keystore yo'qolsa nima bo'ladi?

Siz Google Play'da ilovani yangilay olmaysiz — yangi package name bilan yangi ilova yaratishingiz kerak bo'ladi. Keystore ni xavfsiz joyda saqlang (parol menejeri, shifrlangan Git). Google Play App Signing (Google kalitlaridan foydalanish) bu xavfni kamaytiradi.

Do'konlarda nashr qilish qancha turadi?

Google Play — ishlab chiqaruvchi hisobi uchun $25 bir marta. App Store — $99/yil. Ikkala miqdor cheksiz ilovalarni o'z ichiga oladi. iOS uchun sizga Mac (dan $999) yoki bulutli Mac ijarasi ham kerak.

Staged Rollout nima?

Staged Rollout — bosqichma-bosqich yangilanishni joriy qilish: avval 5% foydalanuvchi, keyin 20%, 50% va 100%. Agar biron bosqichda buzilishlar aniqlansa — joriy qilish to'xtatiladi. Google Play Console'da mavjud.

Sinov uchun ishlab chiqaruvchi hisobi uchun to'lash kerakmi?

Android uchun — yo'q, siz hisobsiz USB yoki emulyator orqali qurilmaga APK o'rnatishingiz mumkin. iOS uchun — ha, $99/yillik hisobsiz ilova faqat simulyatorda ishlaydi, haqiqiy qurilmada emas.

Xulosa

  • AAB — Google Play uchun zamonaviy format (2021 dan majburiy). APK — do'kondan tashqarida tarqatish uchun.
  • IPA — iOS o'rnatish fayli, faqat Mac'da yig'iladi, Apple Sertifikati bilan imzolanadi.
  • ART (Android Runtime) gibrid AOT + JIT yondashuvidan foydalanadi; Bitcode — iOS uchun ixtiyoriy oraliq ifoda.
  • Keystore (Android) va Apple Certificate + Provisioning Profile (iOS) — kod imzolashning majburiy komponentlari.
  • Google Play Console — $25 bir marta; App Store Connect — $99/yil. Ko'rib chiqish soatlardan bir haftagacha davom etadi.
  • TestFlight — iOS beta testi; Internal / Closed / Open Beta — Android uchun.
  • Fastlane orqali kod imzolash va yig'ishni avtomatlashtiring — bu xatolarni bartaraf qiladi va chiqarishlarni tezlashtiradi.

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