Build dan publikasi aplikasi seluler adalah proses mengubah kode sumber menjadi file yang dapat diinstal (APK, AAB, IPA) dan mengunggahnya ke toko aplikasi. Menurut Google Play Console (2025), Android App Bundle (AAB) adalah format wajib untuk publikasi di Google Play sejak Agustus 2021. Dalam artikel ini kita akan membahas format build, kompilasi, penandatanganan kode, proses publikasi, dan pengujian beta.
Poin penting
APK (Android Package Kit) — format tradisional untuk membangun dan mempublikasikan aplikasi seluler di Android. APK berisi seluruh kode, sumber daya, dan manifes aplikasi. AAB (Android App Bundle) — format yang diperkenalkan oleh Google pada tahun 2018 dan menjadi wajib untuk aplikasi baru sejak Agustus 2021. AAB tidak diinstal secara langsung — Google Play secara dinamis menghasilkan APK yang dioptimalkan untuk setiap perangkat dari AAB.
Keunggulan AAB: ukuran unduhan rata-rata 15% lebih kecil (dengan hanya mengirimkan sumber daya yang diperlukan: kerapatan layar yang tepat, bahasa, arsitektur CPU). AAB juga mendukung pengiriman modular — Anda dapat memuat modul sesuai permintaan (Play Feature Delivery) atau ditangguhkan (Play On-Demand). Untuk pengembang, AAB wajib; untuk distribusi di luar Google Play (sideloading, pasar) — hanya APK.
IPA (iOS App Store Package) — file instalasi iOS, yang merupakan arsip ZIP berisi aplikasi yang ditandatangani. IPA berisi folder Payload/ dengan bundel .app, Provisioning Profile, dan tanda tangan. IPA dibangun hanya di macOS melalui Xcode, yang membuat arsip (.xcarchive) dan mengekspor IPA. Untuk distribusi melalui App Store, IPA ditandatangani dengan Apple Distribution Certificate; untuk Ad Hoc atau Enterprise — dengan sertifikat yang sesuai.
| Parameter | APK | AAB | IPA |
|---|---|---|---|
| Platform | Android | Android (Google Play) | iOS |
| Format | Arsip ZIP | Arsip ZIP | Arsip ZIP |
| Instalasi langsung | Ya | Tidak (melalui Google Play) | Melalui App Store / MDM |
| Tanda tangan | Keystore (JKS) | Keystore (JKS/PEPK) | Apple Certificate |
| App Thinning | Tidak | Ya (otomatis) | Ya (Slicing, Bitcode) |
JIT (Just-In-Time) — kompilasi kode selama eksekusi aplikasi, yang memengaruhi kecepatan build dan publikasi. Di Android hingga versi 5.0 (Lollipop), Dalvik VM dengan kompilasi JIT digunakan. Setiap kali aplikasi diluncurkan, bytecode DEX diubah menjadi kode mesin «saat itu juga». Kekurangan: perlambatan pada peluncuran pertama dan konsumsi daya tambahan. AOT (Ahead-Of-Time) — kompilasi kode sebelum peluncuran aplikasi, selama instalasi. Mulai Android 7.0 (Nougat), ART (Android Runtime) mengompilasi aplikasi sepenuhnya selama instalasi.
ART (Android Runtime) — lingkungan runtime yang menggantikan Dalvik di Android 5.0. ART menggunakan pendekatan hibrida: kompilasi AOT saat instalasi + JIT untuk metode yang sering dieksekusi. Ini menggabungkan kecepatan AOT (startup cepat) dengan fleksibilitas JIT (optimasi adaptif). Hasil: kinerja aplikasi Android meningkat 20-30% dibandingkan Dalvik. Bagi pengembang, transisi ke ART transparan — kode tidak memerlukan perubahan.
Bitcode — representasi antara kode (IR) yang digunakan Apple untuk mengompilasi ulang IPA untuk arsitektur prosesor yang berbeda. Bitcode bersifat opsional: untuk aplikasi iOS diaktifkan secara default, untuk watchOS dan tvOS bersifat wajib. Apple dapat mengompilasi ulang Bitcode saat prosesor baru dirilis tanpa keterlibatan pengembang. App Thinning — teknologi Apple yang mencakup Slicing (mengirimkan hanya sumber daya yang diperlukan untuk perangkat) dan On-Demand Resources (memuat sumber daya sesuai permintaan). App Thinning mengurangi ukuran unduhan dari App Store sebesar 30-50%.
DEX — format bytecode untuk Android, dieksekusi oleh ART/Dalvik. Kode sumber Kotlin/Java dikompilasi menjadi file class, kemudian menjadi DEX melalui dx atau d8 (alat yang lebih modern dan lebih cepat). Multidex — mekanisme untuk aplikasi yang melebihi batas 65.536 metode dalam satu file DEX. Dalam proyek modern, multidex diaktifkan secara otomatis jika targetSdkVersion >= 21.
Keystore — file yang berisi kunci privat dan sertifikat untuk menandatangani aplikasi Android selama proses build. Keystore dibuat melalui keytool (perintah -genkey) atau Android Studio. Penting: Keystore tidak boleh hilang — tanpa itu Anda tidak dapat memperbarui aplikasi di Google Play. Parameter penandatanganan: keyAlias, keyPassword, storePassword, dan storeFile. Format: JKS (Java KeyStore) atau PEPK (Play Encrypted Private Key) untuk AAB.
App Bundle ID (Android) — pengidentifikasi unik aplikasi dalam notasi paket (com.example.app). Version Code — bilangan bulat untuk penomoran versi internal (setiap build baru meningkatkannya). Version Name — string yang ditampilkan kepada pengguna (1.2.3). Parameter ini diatur dalam build.gradle tingkat aplikasi.
Apple Certificate — sertifikat digital yang memverifikasi identitas pengembang. Tipe: Development (untuk debugging), Distribution (untuk App Store), Ad Hoc (untuk distribusi terbatas). Sertifikat dibuat di Apple Developer Account dan diunduh ke Keychain. Provisioning Profile — file yang menghubungkan sertifikat, App ID (Bundle Identifier), dan daftar perangkat yang diizinkan. Tanpa Provisioning Profile, aplikasi tidak akan berjalan di perangkat.
Bundle ID (iOS) — pengidentifikasi unik aplikasi (com.example.app). Build Number — nomor build, meningkat setiap build. Marketing Version — versi yang ditampilkan kepada pengguna. Manajemen versi: untuk iOS, parameter diatur di Info.plist dan Project Settings; untuk Android — di build.gradle. Di IT Sectr, kami mengotomatiskan pembaruan versi melalui Fastlane — ini menghilangkan kesalahan manusia saat rilis.
Google Play Console — alat untuk mempublikasikan aplikasi Android. Proses: pendaftaran akun pengembang ($25 sekali), membuat aplikasi, mengisi metadata (nama, deskripsi, tangkapan layar, kategori), mengunggah AAB, mengonfigurasi harga dan distribusi, peninjauan. Google memeriksa aplikasi secara otomatis (virus, kepatuhan kebijakan) dan secara manual untuk beberapa kategori. Peninjauan memakan waktu dari beberapa jam hingga 2-3 hari.
App Store Connect — platform Apple untuk mempublikasikan aplikasi iOS. Proses: akun pengembang Apple ($99/tahun), membuat aplikasi di App Store Connect, menyiapkan IPA di Xcode (Archive → Distribute App → App Store Connect), mengunggah melalui Transporter atau Xcode, mengisi metadata, mengirim untuk ditinjau. App Review — peninjauan manual Apple dapat memakan waktu 24 jam hingga 7 hari. Alasan penolakan umum: tombol tidak berfungsi, konten tidak lengkap, permintaan izin tanpa penjelasan.
TestFlight — alat resmi Apple untuk pengujian beta aplikasi iOS. TestFlight mendukung Internal Testing (hingga 100 penguji melalui email, tanpa peninjauan) dan External Testing (hingga 10.000 penguji, dengan peninjauan Apple). Build tersedia selama 90 hari, setelah itu build baru harus diunggah. TestFlight secara otomatis memperbarui aplikasi pada perangkat penguji saat build baru diunggah.
Internal Testing (Android) — hingga 100 penguji, tanpa peninjauan Google, build tersedia segera. Closed Beta — hingga 1000 penguji melalui email atau Google Groups, tanpa peninjauan. Open Beta — penguji tidak terbatas melalui tautan publik, dengan peninjauan Google. Staged Rollout — peningkatan bertahap persentase pengguna yang menerima pembaruan (5% → 20% → 50% → 100%). Ini adalah metode rilis paling aman.
App Thinning (iOS) — pengurangan otomatis ukuran IPA yang diunduh: Slicing (hanya sumber daya yang diperlukan untuk perangkat), Bitcode (optimasi prosesor), On-Demand Resources (unduh sesuai permintaan). Di IT Sectr, kami menggunakan TestFlight untuk pengujian beta iOS dan Internal Testing untuk Android — ini memungkinkan kami menangkap masalah sebelum rilis massal.
Pertanyaan yang sering diajukan
APK — file instalasi universal, berfungsi di perangkat apa pun. AAB — format untuk Google Play yang menghasilkan APK optimal untuk setiap perangkat. Ukuran unduhan melalui AAB 15% lebih kecil. Untuk Google Play, AAB wajib; untuk sideloading — APK.
Anda tidak akan dapat memperbarui aplikasi di Google Play — Anda harus membuat aplikasi baru dengan package name baru. Simpan Keystore di tempat yang aman (pengelola kata sandi, Git terenkripsi). Google Play App Signing (menggunakan kunci Google) mengurangi risiko ini.
Google Play — $25 sekali untuk akun pengembang. App Store — $99/tahun. Kedua jumlah tersebut mencakup aplikasi tidak terbatas. Untuk iOS Anda juga memerlukan Mac (mulai $999) atau sewa Mac cloud.
Staged Rollout — peluncuran pembaruan bertahap: pertama 5% pengguna, lalu 20%, 50%, dan 100%. Jika crash terdeteksi pada tahap apa pun, peluncuran dihentikan. Tersedia di Google Play Console.
Untuk Android — tidak, Anda dapat menginstal APK di perangkat melalui USB atau emulator tanpa akun. Untuk iOS — ya, tanpa akun $99/tahun, aplikasi hanya akan berfungsi di simulator, bukan di perangkat nyata.
Ringkasan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.