Ekosistem Android menggunakan berbagai format file untuk mengemas, mendistribusikan, dan menyimpan data aplikasi. Jika Anda pernah mengunduh aplikasi dari sumber pihak ketiga, Anda mungkin menemukan ekstensi file di luar APK yang sudah dikenal. Format seperti XAPK (APKPure), APKS, APKM, AAB, dan OBB masing-masing memiliki tujuan tertentu dalam siklus hidup aplikasi Android.
Panduan ini dimaksudkan sebagai referensi lengkap untuk setiap format file utama Android. Pengembang, pengguna ahli yang melakukan sideload aplikasi, dan pembaca penasaran yang hanya ingin tahu apa sebenarnya isi file-file ini akan menemukan setiap format yang dijelaskan dalam bahasa sederhana di bawah ini.
APK: Paket Android
APK adalah format file dasar untuk aplikasi Android. Ini telah menjadi format instalasi standar sejak awal Android dan tetap menjadi format yang dipahami oleh sistem operasi Android untuk instalasi aplikasi.
Apa Isinya
File APK pada dasarnya adalah arsip ZIP dengan struktur internal tertentu:
- AndroidManifest.xml, file XML biner yang mendeklarasikan nama paket aplikasi, komponen, izin, dan persyaratan
- classes.dex (dan classes2.dex, dll.), Mengkompilasi bytecode Dalvik yang berisi kode Java/Kotlin aplikasi
- resources.arsc, Tabel sumber daya yang dikompilasi memetakan ID sumber daya ke nilainya
- res/, Direktori yang berisi sumber daya seperti tata letak, sumber daya dapat digambar, dan string yang direferensikan oleh ID
- assets/, File aset mentah yang diakses oleh aplikasi saat runtime melalui AssetManager
- lib/, Pustaka asli yang diatur berdasarkan arsitektur CPU (mis., lib/arm64-v8a/)
- META-INF/, File tanda tangan dan informasi sertifikat
Ketika Anda Mengalaminya
File APK adalah apa yang Anda unduh saat melakukan sideload aplikasi dari sumber pihak ketiga. APK tersebut juga diinstal pada perangkat Anda dari Play Store, meskipun instalasi Play Store modern sering kali menggunakan APK terpisah yang dihasilkan dari App Bundle.
Bagaimana Menanganinya
File APK dapat langsung diinstal di Android dengan membukanya menggunakan file manager atau menggunakan adb install. Anda juga dapat memeriksa kontennya dengan mengganti nama ekstensi menjadi .zip dan mengekstraknya, atau dengan menggunakan Pemverifikasi APK kami untuk memeriksa tanda tangan dan metadata.
AAB: Paket Aplikasi Android
Android App Bundle adalah format penerbitan Google untuk Play Store. Sejak Agustus 2021, semua aplikasi baru di Play Store harus dikirimkan sebagai AAB, bukan APK.
Apa Isinya
File AAB menggunakan format berbasis buffer protokol dan berisi:
- Kode dan sumber daya aplikasi Modul dasar: Core diperlukan di setiap perangkat
- Pemisahan konfigurasi: Sumber daya diatur berdasarkan kepadatan layar, arsitektur CPU, dan bahasa
- Modul fitur dinamis: Fitur opsional yang dapat diunduh sesuai permintaan
- Paket metadata: Petunjuk untuk Google Play tentang cara membuat APK khusus perangkat
Ketika Anda Mengalaminya
Sebagai pengguna biasa, Anda biasanya tidak menemukan file AAB secara langsung. Mereka digunakan oleh pengembang selama proses pembuatan dan pengunggahan. Namun, jika Anda mendapatkan file AAB (mungkin dari artefak build proyek sumber terbuka), Anda perlu mengonversinya ke format APK sebelum instalasi.
Bagaimana Menanganinya
Gunakan utilitas baris perintah bundletool Google atau Konverter AAB ke APK kami untuk membuat APK yang dapat diinstal dari file AAB. Proses konversi akan menghasilkan APK universal (lebih besar, dapat digunakan di mana saja) atau APK khusus perangkat (lebih kecil, ditargetkan pada perangkat).
XAPK: APK yang diperluas
XAPK adalah format kontainer yang dipopulerkan oleh app yang menggabungkan APK bersama dengan file data OBB terkait atau membagi konfigurasi APK ke dalam satu paket yang dapat diunduh.
Apa Isinya
File XAPK adalah arsip ZIP yang berisi:
- File APK dasar (aplikasi utama)
- File OBB (data ekspansi untuk game dan aplikasi besar)
- Secara opsional, pisahkan file APK untuk konfigurasi perangkat yang berbeda
- File manifest.json yang menjelaskan isi paket dan instruksi instalasi
- File ikon untuk tujuan tampilan
Ketika Anda Mengalaminya
Anda menemukan file XAPK saat mengunduh aplikasi atau game berukuran besar dari repositori aplikasi pihak ketiga. Game yang memerlukan file data tambahan (sebelumnya didistribusikan sebagai file OBB) biasanya dikemas sebagai XAPK untuk menyederhanakan proses pengunduhan menjadi satu file.
Bagaimana Menanganinya
File XAPK tidak dapat langsung diinstal oleh penginstal paket default Android. Anda memerlukan aplikasi penginstal XAPK khusus atau Anda dapat menggunakan Konverter XAPKS ke APK kami untuk mengekstrak APK dasar. Untuk game yang memerlukan data OBB, Anda juga perlu mengekstrak dan menempatkan file OBB di direktori yang benar menggunakan Ekstraktor OBB kami.
APK: Kumpulan APK
Format APKS adalah keluaran alat bundel Google saat membuat APK khusus perangkat dari file AAB. Ini juga digunakan oleh beberapa alat pencadangan aplikasi untuk menyimpan instalasi APK terpisah.
Apa Isinya
File APKS adalah arsip ZIP yang berisi:
- toc.pb, Daftar isi buffer protokol yang menjelaskan struktur terpisah
- splits/, Direktori yang berisi APK dasar dan semua APK terpisah konfigurasi
- Opsional, APK mandiri untuk perangkat yang tidak mendukung instalasi terpisah
Ketika Anda Mengalaminya
Anda menemukan file APKS saat menggunakan bundletool secara lokal, saat mencadangkan aplikasi yang diinstal dari Play Store, atau saat mengunduh dari repositori pihak ketiga tertentu yang mempertahankan struktur APK terpisah.
Bagaimana Menanganinya
Anda dapat menginstal file APKS menggunakan perintah install-apks bundletool atau mengonversinya menjadi APK tunggal menggunakan Penggabungan APKS ke APK kami. Perlu diperhatikan bahwa menggabungkan APK terpisah menjadi APK universal dapat meningkatkan ukuran file karena semua resource konfigurasi digabungkan.
APKM: Paket APKMirror
APKM adalah format wadah berpemilik yang dibuat oleh APKMirror untuk mendistribusikan aplikasi yang terdiri dari beberapa APK terpisah. Ini memiliki tujuan yang mirip dengan XAPK dan APKS tetapi menggunakan struktur APKMirror sendiri.
Apa Isinya
File APKM adalah arsip ZIP yang berisi:
- File APK dasar
- Pisahkan file APK untuk berbagai konfigurasi (kepadatan, ABI, bahasa)
- File metadata yang menjelaskan struktur paket
Ketika Anda Mengalaminya
Anda menemukan file APKM secara eksklusif saat mengunduh dari APKMirror. Situs ini menggunakan format ini untuk aplikasi yang didistribusikan sebagai App Bundle di Play Store dan oleh karena itu terdiri dari beberapa APK terpisah.
Bagaimana Menanganinya
File APKM memerlukan aplikasi Penginstal APKMirror untuk instalasi langsung, atau Anda dapat mengekstrak kontennya (karena ini adalah file ZIP) dan menginstal APK terpisah secara manual menggunakan perintah install-multiple ADB. APK dasar juga dapat diekstraksi dan diinstal secara mandiri, meskipun beberapa fungsi mungkin dibatasi tanpa pemisahan konfigurasi.
OBB: Gumpalan Biner Buram
File OBB adalah file ekspansi yang digunakan oleh aplikasi Android (terutama game) untuk menyimpan data dalam jumlah besar yang melebihi batas ukuran APK Play Store. Meskipun Google telah mengganti sebagian besar sistem ini dengan Play Asset Delivery, banyak aplikasi yang ada masih menggunakan file OBB.
Apa Isinya
File OBB dapat berisi semua jenis data yang dibutuhkan aplikasi:
- Tekstur permainan dan model 3D
- File audio dan soundtrack
- Konten video
- Data tingkat dan peta
- Data biner berukuran besar apa pun yang dipilih pengembang untuk disimpan secara eksternal
Format data dalam file OBB sepenuhnya terserah pengembang. Beberapa menggunakan kompresi ZIP, yang lain menggunakan format biner khusus. Kata "Buram" pada namanya mencerminkan bahwa Android memperlakukan file tersebut sebagai kotak hitam.
Ketika Anda Mengalaminya
File OBB ditemukan saat melakukan sideload game besar atau saat digabungkan dalam paket XAPK. Mereka disimpan di /Android/obb/[package.name]/ di penyimpanan bersama perangkat.
Bagaimana Menanganinya
File OBB harus ditempatkan di direktori yang benar agar aplikasi dapat menemukannya. Nama file biasanya mengikuti pola main.[version].[package.name].obb atau patch.[version].[package.name].obb. Gunakan Ekstraktor OBB kami untuk mengekstrak file OBB dari paket XAPK.
DEX: Dalvik Dapat Dieksekusi
File DEX berisi bytecode terkompilasi yang berjalan pada lingkungan runtime Android. Mereka ditemukan di dalam file APK tetapi juga bisa ada secara independen selama pengembangan dan debugging.
Apa Isinya
File DEX berisi:
- Mengkompilasi bytecode Java/Kotlin dalam format instruksi Dalvik
- Konstanta string dan definisi tipe
- Referensi metode dan lapangan
- Definisi kelas dan hierarkinya
Detail Teknis
Satu file DEX memiliki batas referensi metode 65.536 ("batas 64K"). Aplikasi yang melebihi batas ini menggunakan beberapa file DEX (classes.dex, classes2.dex, dll.), sebuah teknik yang disebut multidex. Alat pembangunan modern menangani ini secara otomatis.
File ODEX, VDEX, dan ART
Ini adalah versi file DEX yang dioptimalkan yang dibuat oleh Android Runtime selama atau setelah instalasi:
- ODEX (DEX yang Dioptimalkan): Berisi kode mesin asli yang telah dikompilasi sebelumnya untuk metode yang sering digunakan. Dihasilkan selama pemeliharaan menganggur berdasarkan profil penggunaan.
- VDEX (DEX Terverifikasi): Berisi bytecode DEX terverifikasi dengan hasil verifikasi yang telah dihitung sebelumnya. Ini mempercepat booting dan peluncuran aplikasi berikutnya dengan melewatkan verifikasi ulang.
- SENI (Gambar Waktu Proses Android): Berisi objek kelas dan data tumpukan yang telah diinisialisasi sebelumnya. Hal ini memungkinkan runtime untuk melewati pemuatan dan inisialisasi kelas untuk kelas kerangka umum selama startup.
File-file ini dihasilkan oleh sistem dan bukan sesuatu yang biasanya berinteraksi langsung dengan pengguna. Mereka disimpan di /data/dalvik-cache/ atau di samping APK di /data/app/.
SO: Objek Bersama (Perpustakaan Asli)
File dengan ekstensi .so adalah perpustakaan bersama asli yang dikompilasi untuk arsitektur CPU tertentu. Mereka berisi kode mesin yang ditulis dalam C, C++, atau Rust yang berjalan langsung pada prosesor tanpa overhead runtime Dalvik/ART.
Varian Arsitektur
- armeabi-v7a, ARM 32-bit (sebagian besar perangkat lama)
- arm64-v8a, ARM 64-bit (sebagian besar ponsel modern)
- x86, Intel/AMD 32-bit (beberapa tablet dan emulator)
- x86_64, Intel/AMD 64-bit (Chromebook dan emulator)
Jika APK berisi pustaka asli, APK harus menyertakan arsitektur yang benar untuk perangkat target. Jika arsitektur yang salah disertakan, aplikasi akan mogok dengan UnsatisfiedLinkError.
File XML di Android
Android menggunakan XML secara ekstensif, namun dalam dua bentuk berbeda:
XML biner
Di dalam file APK, sumber daya XML (tata letak, manifes, file string) disimpan dalam format biner terkompilasi yang disebut AXML. Format ini lebih kompak dan lebih cepat untuk diurai dibandingkan teks XML. Alat seperti aapt2 atau apktool dapat mendekompilasi XML biner kembali menjadi teks yang dapat dibaca.
Teks XML
Selama pengembangan, file XML berada dalam format teks standar. Proses pembangunan mengkompilasinya menjadi XML biner untuk disertakan dalam APK. File konfigurasi seperti network_security_config.xml dan file sumber daya di direktori res/ dimulai sebagai teks XML.
File Pemetaan ProGuard/R8
Meskipun bukan format khusus Android, file pemetaan (mapping.txt penting untuk memahami aplikasi yang dikaburkan). Saat pengembang menggunakan alat penyingkat kode seperti R8, nama kelas dan metode diganti dengan pengidentifikasi yang pendek dan tidak berarti. File pemetaan mencatat terjemahan nama asli hingga yang dikaburkan, yang penting untuk membaca laporan kerusakan.
Format Cadangan Android (AB)
File dengan ekstensi .ab adalah arsip cadangan Android yang dibuat oleh adb backup. Mereka berisi arsip tar (opsional dikompresi dan dienkripsi) dari direktori data aplikasi. Format ini sudah tidak digunakan lagi dan digantikan dengan solusi pencadangan berbasis cloud, namun masih digunakan oleh beberapa alat pencadangan.
IMG dan Gambar Partisi
Meskipun tidak terkait dengan aplikasi, image sistem Android menggunakan beberapa format yang patut disebutkan:
- sistem.img: Partisi sistem read-only yang berisi kerangka Android dan aplikasi pra-instal
- boot.img: Berisi kernel Linux dan ramdisk awal
- vendor.img: Driver dan firmware khusus perangkat keras
- super.img: Kontainer partisi dinamis yang digunakan di perangkat modern (Android 10+)
Tabel Perbandingan Format
Berikut ini referensi singkat yang membandingkan format distribusi aplikasi utama:
- APK: File tunggal, dapat diinstal langsung, universal (termasuk semua konfigurasi), ukuran lebih besar
- Format Penerbitan AAB:, tidak dapat diinstal secara langsung, memerlukan pemrosesan oleh Play Store
- APK: Container (APK + OBB/splits), memerlukan penginstal atau ekstraksi, digunakan oleh app
- APK: Container (APK terpisah), format bundletool, memerlukan penginstal atau penggabungan
- APKM: Container (APK terpisah), format APKMirror, memerlukan penginstalnya
Memilih Alat yang Tepat
Tergantung pada format yang Anda gunakan, alat yang berbeda dapat digunakan:
- Punya XAPK? Gunakan Konverter XAPKS ke APK kami untuk mengekstrak APK yang dapat diinstal
- Punya AAB? Gunakan Konverter AAB ke APK kami untuk menghasilkan APK universal
- Sudahkah APK terpisah (APKS)? Gunakan Penggabungan APKS ke APK kami untuk menggabungkannya
- Perlu memverifikasi APK? Gunakan Pemverifikasi APK kami untuk memeriksa tanda tangan
- Butuh file OBB dari XAPK? Gunakan Ekstraktor OBB kami untuk membongkar file ekspansi
Format Paket Android Mana yang Harus Anda Gunakan?
Keragaman format file di ekosistem Android mencerminkan evolusi platform dari APK file tunggal yang sederhana menjadi sistem pengiriman modular yang canggih. Setiap format hadir untuk memecahkan masalah tertentu: AAB mengurangi ukuran unduhan, XAPK menyederhanakan distribusi aplikasi multi-file, OBB menangani data game berukuran besar, dan APK terpisah memungkinkan pengoptimalan khusus perangkat.
Setelah Anda memahami format ini, Anda dapat menangani paket Android apa pun yang Anda gunakan, apakah Anda melakukan sideload aplikasi, mencadangkan perangkat, atau mengembangkan aplikasi Anda sendiri. Kesimpulan utamanya adalah sebagian besar format ini pada akhirnya merupakan wadah yang menyimpan file APK dalam berbagai konfigurasi, dan dengan alat yang tepat, Anda selalu dapat mengekstrak apa yang Anda perlukan.