Sestavení a publikace v mobilním vývoji: co to je, jaké formáty a jak to funguje

Autor: IT Sectr Publikováno: 2026-04-07 Doba čtení: 10 min

Sestavení a publikace mobilní aplikace je proces přeměny zdrojového kódu na instalovatelný soubor (APK, AAB, IPA) a jeho nahrání do obchodů s aplikacemi. Podle Google Play Console (2025) je Android App Bundle (AAB) povinným formátem pro publikaci na Google Play od srpna 2021. V tomto článku se podíváme na formáty sestavení, kompilaci, podepisování kódu, proces publikace a beta testování.

Klíčové body

  • APK — klasický instalovatelný soubor Androidu; AAB — moderní formát pro Google Play s dynamickým generováním APK.
  • IPA — instalovatelný soubor iOS, podepsaný certifikátem Apple. Sestavení pouze na macOS.
  • Kompilace: JIT (Android do 6.0), AOT (Android 7+ ART), Bitcode (iOS, volitelné).
  • Code Signing — povinné podepisování aplikace digitálním certifikátem pro identifikaci vývojáře.
  • TestFlight (iOS) a Internal Testing (Android) — nástroje pro beta testování před publikací.

Formáty sestavení: APK, AAB, IPA

APK vs AAB

APK (Android Package Kit) — tradiční formát sestavení a publikace mobilních aplikací na Androidu. APK obsahuje veškerý kód, zdroje a manifest aplikace. AAB (Android App Bundle) — formát představený Googlem v roce 2018 a povinný pro nové aplikace od srpna 2021. AAB se neinstaluje přímo — Google Play dynamicky generuje optimalizované APK pro každé zařízení z AAB.

Výhody AAB: velikost stahování je v průměru o 15 % menší (dodáním pouze potřebných zdrojů: správné hustoty obrazovky, jazyky, architektury CPU). AAB také podporuje modulární doručování — můžete načítat moduly na vyžádání (Play Feature Delivery) nebo odloženě (Play On-Demand). Pro vývojáře je AAB povinný; pro distribuci mimo Google Play (sideloading, tržiště) — pouze APK.

IPA

IPA (iOS App Store Package) — instalovatelný soubor iOS, což je ZIP archiv obsahující podepsanou aplikaci. IPA obsahuje složku Payload/ s .app balíčkem, Provisioning Profile a podpis. IPA se sestavuje pouze na macOS přes Xcode, které vytvoří archiv (.xcarchive) a exportuje IPA. Pro distribuci přes App Store se IPA podepisuje Apple Distribution Certificate; pro Ad Hoc nebo Enterprise — odpovídajícími certifikáty.

Porovnání formátů sestavení iOS a Android
Parametr APK AAB IPA
PlatformaAndroidAndroid (Google Play)iOS
FormátZIP archivZIP archivZIP archiv
Přímá instalaceAnoNe (přes Google Play)Přes App Store / MDM
PodpisKeystore (JKS)Keystore (JKS/PEPK)Apple Certificate
App ThinningNeAno (automaticky)Ano (Slicing, Bitcode)

Kompilace a optimalizace: JIT, AOT, ART, Bitcode

JIT vs AOT

JIT (Just-In-Time) — kompilace kódu během provádění aplikace, ovlivňující rychlost sestavení a publikace. Na Androidu do verze 5.0 (Lollipop) se používal Dalvik VM s JIT kompilací. Při každém spuštění aplikace byl DEX bytecode převeden na strojový kód «za běhu». Nevýhoda: zpomalení při prvním spuštění a dodatečná spotřeba energie. AOT (Ahead-Of-Time) — kompilace kódu před spuštěním aplikace, během instalace. Počínaje Androidem 7.0 (Nougat) ART (Android Runtime) kompiluje aplikaci zcela během instalace.

ART (Android Runtime) — běhové prostředí, které nahradilo Dalvik v Androidu 5.0. ART používá hybridní přístup: AOT kompilaci při instalaci + JIT pro často prováděné metody. To kombinuje rychlost AOT (rychlý start) s flexibilitou JIT (adaptivní optimalizace). Výsledek: výkon Android aplikací se zvýšil o 20–30 % ve srovnání s Dalvikem. Pro vývojáře je přechod na ART transparentní — kód nevyžaduje změny.

Bitcode a App Thinning

Bitcode — mezilehlá reprezentace kódu (IR), kterou Apple používá k překompilování IPA pro různé architektury procesorů. Bitcode je volitelný: pro iOS aplikace je ve výchozím nastavení zapnutý, pro watchOS a tvOS je povinný. Apple může překompilovat Bitcode při vydání nových procesorů bez účasti vývojáře. App Thinning — technologie Apple zahrnující Slicing (dodání pouze potřebných zdrojů pro zařízení) a On-Demand Resources (načítání zdrojů na vyžádání). App Thinning snižuje velikost stahování z App Store o 30–50 %.

DEX — formát bytecode pro Android, spouštěný ART/Dalvikem. Zdrojový kód Kotlin/Java je kompilován do class souborů, poté do DEX přes dx nebo d8 (moderní a rychlejší nástroj). Multidex — mechanismus pro aplikace překračující limit 65 536 metod v jednom DEX souboru. V moderních projektech se multidex automaticky zapíná, pokud targetSdkVersion >= 21.

Podepisování kódu: Code Signing, Keystore, Provisioning Profile

Android: Keystore

Keystore — soubor obsahující soukromý klíč a certifikát pro podepsání Android aplikace během sestavení. Keystore se vytváří pomocí keytool (příkaz -genkey) nebo Android Studio. Důležité: Keystore nelze ztratit — bez něj nelze aplikaci na Google Play aktualizovat. Parametry podepisování: keyAlias, keyPassword, storePassword a storeFile. Formát: JKS (Java KeyStore) nebo PEPK (Play Encrypted Private Key) pro AAB.

App Bundle ID (Android) — jedinečný identifikátor aplikace v balíčkové notaci (com.example.app). Version Code — celé číslo pro interní číslování verzí (každé nové sestavení ho zvyšuje). Version Name — řetězec zobrazený uživateli (1.2.3). Tyto parametry se nastavují v build.gradle na úrovni aplikace.

iOS: Apple Certificate a Provisioning Profile

Apple Certificate — digitální certifikát ověřující identitu vývojáře. Typy: Development (pro ladění), Distribution (pro App Store), Ad Hoc (pro omezenou distribuci). Certifikáty se vytvářejí v Apple Developer Account a stahují do Keychain. Provisioning Profile — soubor spojující certifikát, App ID (Bundle Identifier) a seznam povolených zařízení. Bez Provisioning Profile se aplikace na zařízení nespustí.

Bundle ID (iOS) — jedinečný identifikátor aplikace (com.example.app). Build Number — číslo sestavení, zvyšuje se s každým buildem. Marketing Version — verze zobrazená uživateli. Správa verzí: pro iOS se parametry nastavují v Info.plist a Project Settings; pro Android — v build.gradle. V IT Sectr automatizujeme aktualizace verzí přes Fastlane — to eliminuje lidské chyby při vydání.

Proces publikace v obchodech

Google Play Console

Google Play Console — nástroj pro publikování Android aplikací. Proces: registrace vývojářského účtu ($25 jednorázově), vytvoření aplikace, vyplnění metadat (název, popis, snímky obrazovky, kategorie), nahrání AAB, konfigurace cen a distribuce, recenze. Google kontroluje aplikaci automaticky (viry, dodržování zásad) a ručně u některých kategorií. Recenze trvá od několika hodin do 2–3 dnů.

App Store Connect

App Store Connect — platforma Apple pro publikování iOS aplikací. Proces: účet vývojáře Apple ($99/rok), vytvoření aplikace v App Store Connect, příprava IPA v Xcode (Archive → Distribute App → App Store Connect), nahrání přes Transporter nebo Xcode, vyplnění metadat, odeslání k recenzi. App Review — ruční recenze Apple může trvat 24 hodin až 7 dní. Typické důvody zamítnutí: nefunkční tlačítka, neúplný obsah, žádost o oprávnění bez vysvětlení.

Beta testování: TestFlight, Closed/Open Beta

TestFlight (iOS)

TestFlight — oficiální nástroj Apple pro beta testování iOS aplikací. TestFlight podporuje Internal Testing (až 100 testerů e-mailem, bez recenze) a External Testing (až 10 000 testerů, s recenzí Apple). Sestavení jsou k dispozici po dobu 90 dnů, poté je třeba nahrát nové sestavení. TestFlight automaticky aktualizuje aplikaci u testerů při nahrání nového sestavení.

Internal / Closed / Open Beta (Android)

Internal Testing (Android) — až 100 testerů, bez recenze Google, sestavení je okamžitě k dispozici. Closed Beta — až 1000 testerů e-mailem nebo Google Groups, bez recenze. Open Beta — neomezený počet testerů prostřednictvím veřejného odkazu, s recenzí Google. Staged Rollout — postupné zvyšování procenta uživatelů, kteří dostávají aktualizaci (5 % → 20 % → 50 % → 100 %). To je nejbezpečnější způsob vydání.

App Thinning (iOS) — automatické zmenšení velikosti stahovaného IPA: Slicing (pouze potřebné zdroje pro zařízení), Bitcode (optimalizace procesoru), On-Demand Resources (stažení na vyžádání). V IT Sectr používáme TestFlight pro iOS beta testy a Internal Testing pro Android — to nám umožňuje odhalit problémy před hromadným vydáním.

Často kladené otázky

Jaký je rozdíl mezi APK a AAB?

APK — univerzální instalovatelný soubor, funguje na jakémkoli zařízení. AAB — formát pro Google Play, který generuje optimální APK pro každé zařízení. Velikost stahování přes AAB je o 15 % menší. Pro Google Play je AAB povinný, pro sideloading — APK.

Co se stane, když ztratíte Keystore?

Nebudete moci aktualizovat aplikaci na Google Play — budete muset vytvořit novou aplikaci s novým názvem balíčku. Uchovávejte Keystore na bezpečném místě (správce hesel, šifrovaný Git). Google Play App Signing (použití klíčů Google) toto riziko snižuje.

Kolik stojí publikace v obchodech?

Google Play — $25 jednorázově za vývojářský účet. App Store — $99/rok. Obě částky zahrnují neomezený počet aplikací. Pro iOS potřebujete také Mac (od $999) nebo pronájem Macu v cloudu.

Co je Staged Rollout?

Staged Rollout — postupné zavádění aktualizace: nejprve 5 % uživatelů, poté 20 %, 50 % a 100 %. Pokud jsou v jakékoli fázi zjištěny pády, zavádění se zastaví. K dispozici v Google Play Console.

Musím platit za vývojářský účet pro testování?

Pro Android — ne, můžete nainstalovat APK na zařízení přes USB nebo emulátor bez účtu. Pro iOS — ano, bez účtu za $99/rok bude aplikace fungovat pouze na simulátoru, ne na skutečném zařízení.

Shrnutí

  • AAB — moderní formát pro Google Play (povinný od 2021). APK — pro distribuci mimo obchod.
  • IPA — instalovatelný soubor iOS, sestavuje se pouze na Macu, podepisuje se Apple Certificate.
  • ART (Android Runtime) používá hybridní přístup AOT + JIT; Bitcode — volitelná mezilehlá reprezentace pro iOS.
  • Keystore (Android) a Apple Certificate + Provisioning Profile (iOS) — povinné součásti podepisování kódu.
  • Google Play Console — $25 jednorázově; App Store Connect — $99/rok. Recenze trvá od hodin do týdne.
  • TestFlight — beta testování iOS; Internal / Closed / Open Beta — pro Android.
  • Automatizujte podepisování kódu a sestavení přes Fastlane — to eliminuje chyby a zrychluje vydávání.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt