Изградња и објављивање у мобилном развоју: шта је то, који формати и како ради

Аутор: IT Sectr Објављено: 2026-04-07 Време читања: 10 мин

Изградња и објављивање мобилне апликације је процес претварања изворног кода у инсталабилну датотеку (APK, AAB, IPA) и њеног отпремања у продавнице апликација. Према Google Play Console (2025), Android App Bundle (AAB) је обавезни формат за објављивање на Google Play-у од августа 2021. У овом чланку ћемо размотрити формате изградње, компилацију, потписивање кода, процес објављивања и бета тестирање.

Кључне тачке

  • APK — класична инсталабилна датотека за Android; AAB — модерни формат за Google Play са динамичким генерисањем APK-а.
  • IPA — инсталабилна датотека за iOS, потписана Apple сертификатом. Изградња само на macOS-у.
  • Компилација: JIT (Android до 6.0), AOT (Android 7+ ART), Bitcode (iOS, опционално).
  • Code Signing — обавезно потписивање апликације дигиталним сертификатом за идентификацију програмера.
  • TestFlight (iOS) и Internal Testing (Android) — алати за бета тестирање пре објављивања.

Формати изградње: APK, AAB, IPA

APK vs AAB

APK (Android Package Kit) — традиционални формат изградње и објављивања мобилних апликација на Android-у. APK садржи сав код, ресурсе и манифест апликације. AAB (Android App Bundle) — формат који је Google увео 2018. године и постао обавезан за нове апликације од августа 2021. AAB се не инсталира директно — Google Play динамички генерише оптимизовани APK за сваки уређај из AAB-а.

Предности AAB-а: величина преузимања је у просеку 15% мања (испоруком само потребних ресурса: правилне густине екрана, језици, архитектуре процесора). AAB такође подржава модуларну испоруку — можете учитавати модуле на захтев (Play Feature Delivery) или одложено (Play On-Demand). За програмере, AAB је обавезан; за дистрибуцију ван Google Play-а (sideloading, маркетплејси) — само APK.

IPA

IPA (iOS App Store Package) — инсталабилна датотека за iOS, која је ZIP архив са потписаном апликацијом. IPA садржи Payload/ фасциклу са .app пакетом, Provisioning Profile и потпис. IPA се гради само на macOS-у кроз Xcode, који креира архив (.xcarchive) и извози IPA. За дистрибуцију преко App Store-а, IPA се потписује Apple Distribution Certificate-ом; за Ad Hoc или Enterprise — одговарајућим сертификатима.

Поређење формата изградње iOS и Android
Параметар APK AAB IPA
ПлатформаAndroidAndroid (Google Play)iOS
ФорматZIP архивZIP архивZIP архив
Директна инсталацијаДаНе (преко Google Play-а)Преко App Store / MDM
ПотписKeystore (JKS)Keystore (JKS/PEPK)Apple Certificate
App ThinningНеДа (аутоматски)Да (Slicing, Bitcode)

Компилација и оптимизација: JIT, AOT, ART, Bitcode

JIT vs AOT

JIT (Just-In-Time) — компилација кода током извршавања апликације, која утиче на брзину изградње и објављивања. На Android-у до верзије 5.0 (Lollipop) коришћен је Dalvik VM са JIT компилацијом. При сваком покретању апликације, DEX бајткод је претваран у машински код «у лету». Недостатак: успоравање при првом покретању и додатна потрошња енергије. AOT (Ahead-Of-Time) — компилација кода пре покретања апликације, током инсталације. Почевши од Android 7.0 (Nougat), ART (Android Runtime) компилира апликацију у потпуности током инсталације.

ART (Android Runtime) — окружење извршавања које је заменило Dalvik у Android 5.0. ART користи хибридни приступ: AOT компилација при инсталацији + JIT за често извршаване методе. Ово комбинује брзину AOT-а (брзо покретање) са флексибилношћу JIT-а (адаптивна оптимизација). Резултат: перформансе Android апликација су порасле за 20-30% у поређењу са Dalvik-ом. За програмере, прелазак на ART је транспарентан — код не захтева измене.

Bitcode и App Thinning

Bitcode — посредна репрезентација кода (IR) коју Apple користи за поновну компилацију IPA-а за различите архитектуре процесора. Bitcode је опционалан: за iOS апликације је подразумевано укључен, за watchOS и tvOS је обавезан. Apple може поново да компилира Bitcode када изађу нови процесори без учешћа програмера. App Thinning — Apple-ова технологија која укључује Slicing (испоруку само потребних ресурса за уређај) и On-Demand Resources (учитавање ресурса на захтев). App Thinning смањује величину преузимања из App Store-а за 30-50%.

DEX — формат бајткода за Android, који извршава ART/Dalvik. Изворни код Kotlin/Java се компилира у class датотеке, затим у DEX преко dx или d8 (савремени и бржи алат). Multidex — механизам за апликације које прелазе границу од 65.536 метода у једној DEX датотеци. У савременим пројектима, multidex се аутоматски укључује ако је targetSdkVersion >= 21.

Потписивање кода: Code Signing, Keystore, Provisioning Profile

Android: Keystore

Keystore — датотека која садржи приватни кључ и сертификат за потписивање Android апликације током изградње. Keystore се креира преко keytool-а (команда -genkey) или Android Studio-а. Важно: Keystore се не сме изгубити — без њега не можете ажурирати апликацију на Google Play-у. Параметри за потписивање: keyAlias, keyPassword, storePassword и storeFile. Формат: JKS (Java KeyStore) или PEPK (Play Encrypted Private Key) за AAB.

App Bundle ID (Android) — јединствени идентификатор апликације у пакетној нотацији (com.example.app). Version Code — цео број за интерно нумерисање верзија (свака нова изградња га повећава). Version Name — стринг који се приказује кориснику (1.2.3). Ови параметри се постављају у build.gradle на нивоу апликације.

iOS: Apple Certificate и Provisioning Profile

Apple Certificate — дигитални сертификат који потврђује идентитет програмера. Типови: Development (за отклањање грешака), Distribution (за App Store), Ad Hoc (за ограничену дистрибуцију). Сертификати се креирају у Apple Developer Account-у и преузимају у Keychain. Provisioning Profile — датотека која повезује сертификат, App ID (Bundle Identifier) и листу дозвољених уређаја. Без Provisioning Profile-а, апликација неће радити на уређају.

Bundle ID (iOS) — јединствени идентификатор апликације (com.example.app). Build Number — број изградње, повећава се са сваким build-ом. Marketing Version — верзија која се приказује кориснику. Управљање верзијама: за iOS, параметри се постављају у Info.plist и Project Settings; за Android — у build.gradle. У IT Sectr-у аутоматизујемо ажурирања верзија путем Fastlane-а — то елиминише људске грешке приликом издавања.

Процес објављивања у продавницама

Google Play Console

Google Play Console — алат за објављивање Android апликација. Процес: регистрација налога програмера ($25 једнократно), креирање апликације, попуњавање метаподатака (назив, опис, снимци екрана, категорија), отпремање AAB-а, подешавање цена и дистрибуције, преглед. Google проверава апликацију аутоматски (вируси, усклађеност са политикама) и ручно за неке категорије. Преглед траје од неколико сати до 2-3 дана.

App Store Connect

App Store Connect — Apple-ова платформа за објављивање iOS апликација. Процес: Apple налог програмера ($99/година), креирање апликације у App Store Connect-у, припрема IPA-а у Xcode-у (Archive → Distribute App → App Store Connect), отпремање путем Transporter-а или Xcode-а, попуњавање метаподатака, слање на преглед. App Review — ручни преглед Apple-а може трајати од 24 сата до 7 дана. Типични разлози одбијања: неисправна дугмад, непотпун садржај, захтев за дозволама без објашњења.

Бета тестирање: TestFlight, Closed/Open Beta

TestFlight (iOS)

TestFlight — Apple-ов званични алат за бета тестирање iOS апликација. TestFlight подржава Internal Testing (до 100 тестера путем е-поште, без прегледа) и External Testing (до 10.000 тестера, са Apple прегледом). Изградње су доступне 90 дана, након чега је потребно отпремити нову изградњу. TestFlight аутоматски ажурира апликацију код тестера када се отпреми нова изградња.

Internal / Closed / Open Beta (Android)

Internal Testing (Android) — до 100 тестера, без Google прегледа, изградња доступна одмах. Closed Beta — до 1000 тестера путем е-поште или Google Groups, без прегледа. Open Beta — неограничен број тестера путем јавне везе, са Google прегледом. Staged Rollout — постепено повећање процента корисника који добијају ажурирање (5% → 20% → 50% → 100%). Ово је најсигурнији метод издавања.

App Thinning (iOS) — аутоматско смањење величине преузетог IPA-а: Slicing (само потребни ресурси за уређај), Bitcode (оптимизација процесора), On-Demand Resources (преузимање на захтев). У IT Sectr-у користимо TestFlight за бета тестове iOS и Internal Testing за Android — то нам омогућава да откријемо проблеме пре масовног издавања.

Често постављана питања

Која је разлика између APK-а и AAB-а?

APK — универзална инсталабилна датотека, ради на сваком уређају. AAB — формат за Google Play који генерише оптимални APK за сваки уређај. Величина преузимања кроз AAB је 15% мања. За Google Play, AAB је обавезан; за sideloading — APK.

Шта се дешава ако изгубите Keystore?

Нећете моћи да ажурирате апликацију на Google Play-у — мораћете да креирате нову апликацију са новим package name-ом. Чувајте Keystore на сигурном месту (менаџер лозинки, шифровани Git). Google Play App Signing (коришћење Google кључева) смањује овај ризик.

Колико кошта објављивање у продавницама?

Google Play — $25 једнократно за налог програмера. App Store — $99/година. Оба износа укључују неограничен број апликација. За iOS вам је такође потребан Mac (од $999) или изнајмљивање Mac-а у облаку.

Шта је Staged Rollout?

Staged Rollout — постепено увођење ажурирања: прво 5% корисника, затим 20%, 50% и 100%. Ако се у било којој фази открију падови, увођење се зауставља. Доступно у Google Play Console-у.

Да ли морам да платим налог програмера за тестирање?

За Android — не, можете да инсталирате APK на уређај путем USB-а или емулатора без налога. За iOS — да, без налога од $99/година, апликација ће радити само на симулатору, не на стварном уређају.

Резиме

  • AAB — модерни формат за Google Play (обавезан од 2021). APK — за дистрибуцију ван продавнице.
  • IPA — инсталабилна датотека за iOS, гради се само на Mac-у, потписује се Apple Certificate-ом.
  • ART (Android Runtime) користи хибридни AOT + JIT приступ; Bitcode — опционална посредна репрезентација за iOS.
  • Keystore (Android) и Apple Certificate + Provisioning Profile (iOS) — обавезне компоненте потписивања кода.
  • Google Play Console — $25 једнократно; App Store Connect — $99/година. Преглед траје од сати до недељу дана.
  • TestFlight — бета тестирање iOS; Internal / Closed / Open Beta — за Android.
  • Аутоматизујте потписивање кода и изградњу путем Fastlane-а — то елиминише грешке и убрзава издавања.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту