Ekosistem Android menggunakan pelbagai format fail untuk membungkus, mengedar dan menyimpan data apl. Jika anda pernah memuat turun apl daripada sumber pihak ketiga, anda berkemungkinan menghadapi sambungan fail di luar APK biasa. Format seperti XAPK, APKS, APKM, AAB dan OBB masing-masing mempunyai tujuan tertentu dalam kitaran hayat apl Android.
Panduan ini bertujuan untuk menjadi rujukan lengkap untuk setiap format fail Android utama. Pembangun, pengguna kuasa yang memuatkan apl dan pembaca yang ingin tahu yang hanya ingin mengetahui kandungan sebenar fail ini akan mendapati setiap format dijelaskan dalam bahasa biasa di bawah.
APK: Kit Pakej Android
APK ialah format fail asas untuk aplikasi Android. Ia telah menjadi format pemasangan standard sejak penubuhan Android dan kekal sebagai format yang secara asalnya difahami oleh sistem pengendalian Android untuk pemasangan apl.
Kandungannya
Fail APK pada asasnya ialah arkib ZIP dengan struktur dalaman tertentu:
- AndroidManifest.xml, fail XML binari mengisytiharkan nama pakej, komponen, kebenaran dan keperluan apl
- classes.dex (dan classes2.dex, dsb.), Kod bait Dalvik yang disusun mengandungi kod Java/Kotlin apl
- resources.arsc, Jadual sumber terkumpul memetakan ID sumber kepada nilainya
- res/, Direktori yang mengandungi sumber seperti reka letak, boleh dilukis dan rentetan yang dirujuk oleh ID
- assets/, Fail aset mentah yang diakses oleh apl pada masa jalan melalui AssetManager
- lib/, Perpustakaan asli yang dianjurkan oleh seni bina CPU (cth., lib/arm64-v8a/)
- META-INF/, Fail tandatangan dan maklumat sijil
Apabila Anda Menghadapinya
Fail APK ialah perkara yang anda muat turun semasa memuat turun apl daripada sumber pihak ketiga. Ia juga yang dipasang pada peranti anda daripada Gedung Play, walaupun pemasangan Gedung Play moden sering menggunakan APK berpecah yang dijana daripada App Bundle.
Cara Mengendalikannya
Fail APK boleh dipasang terus pada Android dengan membukanya dengan pengurus fail atau menggunakan adb install. Anda juga boleh memeriksa kandungannya dengan menamakan semula sambungan kepada .zip dan mengekstrak, atau dengan menggunakan Pengesah APK kami untuk memeriksa tandatangan dan metadata.
AAB: Android App Bundle
Android App Bundle ialah format penerbitan Google untuk Gedung Play. Sejak Ogos 2021, semua apl baharu di Gedung Play mesti diserahkan sebagai AAB dan bukannya APK.
Kandungannya
Fail AAB menggunakan format berasaskan penimbal protokol dan mengandungi:
- Kod apl teras Modul asas: dan sumber yang diperlukan pada setiap peranti
- Sumber Pemisahan konfigurasi: disusun mengikut ketumpatan skrin, seni bina CPU dan bahasa
- Modul ciri dinamik: Ciri pilihan yang boleh dimuat turun atas permintaan
- Arahan Metadata himpunan: untuk Google Play tentang cara menjana APK khusus peranti
Apabila Anda Menghadapinya
Sebagai pengguna biasa, anda biasanya tidak menemui fail AAB secara langsung. Ia digunakan oleh pembangun semasa proses binaan dan muat naik. Walau bagaimanapun, jika anda memperoleh fail AAB (mungkin daripada artifak binaan projek sumber terbuka), anda perlu menukarnya kepada format APK sebelum pemasangan.
Cara Mengendalikannya
Gunakan utiliti baris perintah bundletool Google atau AAB kepada penukar APK kami untuk menjana APK boleh dipasang daripada fail AAB. Proses penukaran menghasilkan sama ada APK universal (lebih besar, berfungsi di mana-mana) atau APK khusus peranti (lebih kecil, disasarkan peranti).
XAPK: APK Lanjutan
XAPK ialah format bekas yang dipopularkan oleh APKPure yang menggabungkan APK bersama fail data OBB yang berkaitan atau membahagikan konfigurasi APK kepada satu pakej yang boleh dimuat turun.
Kandungannya
Fail XAPK ialah arkib ZIP yang mengandungi:
- Fail APK asas (aplikasi utama)
- Fail OBB (data pengembangan untuk permainan dan apl besar)
- Secara pilihan, belah fail APK untuk konfigurasi peranti yang berbeza
- Fail manifest.json yang menerangkan kandungan pakej dan arahan pemasangan
- Fail ikon untuk tujuan paparan
Apabila Anda Menghadapinya
Anda menemui fail XAPK apabila memuat turun apl atau permainan besar daripada repositori apl pihak ketiga. Permainan yang memerlukan fail data tambahan (sebelum ini diedarkan sebagai fail OBB) biasanya dibungkus sebagai XAPK untuk memudahkan proses muat turun ke dalam satu fail.
Cara Mengendalikannya
Fail XAPK tidak boleh dipasang terus oleh pemasang pakej lalai Android. Anda memerlukan sama ada apl pemasang XAPK khusus atau anda boleh menggunakan XAPK kepada penukar APK kami untuk mengekstrak APK asas. Untuk permainan yang memerlukan data OBB, anda juga perlu mengekstrak dan meletakkan fail OBB dalam direktori yang betul menggunakan Pengekstrak OBB kami.
APK: Set APK
Format APKS ialah output alat bundle Google apabila menjana APK khusus peranti daripada fail AAB. Ia juga digunakan oleh beberapa alat sandaran apl untuk menyimpan pemasangan APK berpecah.
Kandungannya
Fail APKS ialah arkib ZIP yang mengandungi:
- toc.pb, Jadual kandungan penimbal protokol yang menerangkan struktur pecahan
- splits/, Direktori yang mengandungi APK asas dan semua APK pembahagian konfigurasi
- Secara pilihan, APK kendiri untuk peranti yang tidak menyokong pemasangan pisah
Apabila Anda Menghadapinya
Anda menemui fail APKS apabila menggunakan bundletool secara setempat, semasa menyandarkan apl yang dipasang daripada Gedung Play atau semasa memuat turun daripada repositori pihak ketiga tertentu yang mengekalkan struktur APK berpecah.
Cara Mengendalikannya
Anda boleh memasang fail APKS menggunakan perintah install-apks bundletool atau menukarnya kepada satu APK menggunakan Penggabungan APKS kepada APK kami. Ambil perhatian bahawa penggabungan APK pisah ke dalam APK universal boleh meningkatkan saiz fail kerana semua sumber konfigurasi digabungkan.
APKM: Pakej APKMirror
APKM ialah format kontena proprietari yang dibuat oleh APKMirror untuk mengedarkan apl yang terdiri daripada berbilang APK pisah. Ia mempunyai tujuan yang serupa dengan XAPK dan APKS tetapi menggunakan struktur APKMirror sendiri.
Kandungannya
Fail APKM ialah arkib ZIP yang mengandungi:
- Fail APK asas
- Pisahkan fail APK untuk pelbagai konfigurasi (ketumpatan, ABI, bahasa)
- Fail metadata yang menerangkan struktur pakej
Apabila Anda Menghadapinya
Anda menemui fail APKM secara eksklusif semasa memuat turun daripada APKMirror. Tapak ini menggunakan format ini untuk apl yang diedarkan sebagai App Bundle di Gedung Play dan oleh itu terdiri daripada berbilang APK berpecah.
Cara Mengendalikannya
Fail APKM memerlukan apl APKMirror Installer untuk pemasangan terus, atau anda boleh mengekstrak kandungannya (kerana ia adalah fail ZIP) dan memasang APK pisah secara manual menggunakan arahan install-multiple ADB. APK asas juga boleh diekstrak dan dipasang kendiri, walaupun beberapa fungsi mungkin terhad tanpa pemisahan konfigurasi.
OBB: Gumpalan Binari Legap
Fail OBB ialah fail pengembangan yang digunakan oleh apl Android (terutamanya permainan) untuk menyimpan sejumlah besar data yang melebihi had saiz APK Gedung Play. Walaupun Google telah menggantikan sebahagian besar sistem ini dengan Play Asset Delivery, banyak apl sedia ada masih menggunakan fail OBB.
Kandungannya
Fail OBB boleh mengandungi sebarang jenis data yang diperlukan oleh aplikasi:
- Tekstur permainan dan model 3D
- Fail audio dan runut bunyi
- Kandungan video
- Data tahap dan peta
- Sebarang data binari besar yang dipilih oleh pembangun untuk disimpan secara luaran
Format data dalam fail OBB terpulang sepenuhnya kepada pembangun. Sesetengah menggunakan pemampatan ZIP, yang lain menggunakan format binari tersuai. "Legap" dalam nama menggambarkan bahawa Android menganggap fail sebagai kotak hitam.
Apabila Anda Menghadapinya
Fail OBB ditemui semasa memuatkan permainan besar atau apabila ia digabungkan dalam pakej XAPK. Ia disimpan di /Android/obb/[package.name]/ pada storan kongsi peranti.
Cara Mengendalikannya
Fail OBB mesti diletakkan dalam direktori yang betul untuk apl mencarinya. Nama fail biasanya mengikut corak main.[version].[package.name].obb atau patch.[version].[package.name].obb. Gunakan Pengekstrak OBB kami untuk mengekstrak fail OBB daripada pakej XAPK.
DEX: Dalvik Boleh Laku
Fail DEX mengandungi kod bait terkumpul yang berjalan pada persekitaran masa jalan Android. Ia ditemui dalam fail APK tetapi juga boleh wujud secara bebas semasa pembangunan dan penyahpepijatan.
Kandungannya
Fail DEX mengandungi:
- Kod bait Java/Kotlin yang disusun dalam format arahan Dalvik
- Pemalar rentetan dan definisi jenis
- Kaedah dan rujukan bidang
- Definisi kelas dan hierarkinya
Butiran Teknikal
Satu fail DEX mempunyai had rujukan kaedah 65,536 ("had 64K"). Apl yang melebihi had ini menggunakan berbilang fail DEX (classes.dex, classes2.dex, dll.), teknik yang dipanggil multidex. Alat binaan moden mengendalikan ini secara automatik.
Fail ODEX, VDEX dan ART
Ini ialah versi fail DEX yang dioptimumkan yang dibuat oleh Android Runtime semasa atau selepas pemasangan:
- ODEX (DEX Dioptimumkan): Mengandungi kod mesin asli yang disusun lebih awal untuk kaedah yang kerap digunakan. Dijana semasa penyelenggaraan terbiar berdasarkan profil penggunaan.
- VDEX (DEX Disahkan): Mengandungi kod bait DEX yang disahkan dengan keputusan pengesahan yang diprakira. Ini mempercepatkan but dan pelancaran apl seterusnya dengan melangkau pengesahan semula.
- ART (Imej Masa Jalan Android): Mengandungi objek kelas pra-dimulakan dan data timbunan. Ini membolehkan masa jalan melangkau pemuatan kelas dan permulaan untuk kelas rangka kerja biasa semasa permulaan.
Fail ini dijana sistem dan bukan sesuatu yang biasa berinteraksi dengan pengguna secara langsung. Ia disimpan dalam /data/dalvik-cache/ atau bersama APK dalam /data/app/.
SO: Objek Dikongsi (Perpustakaan Asli)
Fail dengan sambungan .so ialah perpustakaan kongsi asli yang disusun untuk seni bina CPU tertentu. Ia mengandungi kod mesin yang ditulis dalam C, C++ atau Rust yang berjalan terus pada pemproses tanpa overhed masa jalan Dalvik/ART.
Varian Seni Bina
- armeabi-v7a, ARM 32-bit (kebanyakan peranti lama)
- arm64-v8a, ARM 64-bit (telefon paling moden)
- x86, Intel/AMD 32-bit (sesetengah tablet dan emulator)
- x86_64, Intel/AMD 64-bit (Chromebook dan emulator)
Apabila APK mengandungi perpustakaan asli, ia mesti menyertakan seni bina yang betul untuk peranti sasaran. Jika seni bina yang salah disertakan, apl akan ranap dengan UnsatisfiedLinkError.
Fail XML dalam Android
Android menggunakan XML secara meluas, tetapi dalam dua bentuk berbeza:
XML binari
Di dalam fail APK, sumber XML (reka letak, manifes, fail rentetan) disimpan dalam format binari terkumpul yang dipanggil AXML. Format ini lebih padat dan lebih pantas untuk dihuraikan daripada teks XML. Alat seperti aapt2 atau apktool boleh menyahkompiun XML binari kembali kepada teks yang boleh dibaca.
Teks XML
Semasa pembangunan, fail XML berada dalam format teks standard. Proses binaan menyusunnya kepada XML binari untuk dimasukkan ke dalam APK. Fail konfigurasi seperti network_security_config.xml dan fail sumber dalam direktori res/ bermula sebagai XML teks.
Fail Pemetaan ProGuard/R8
Walaupun bukan format khusus Android, fail pemetaan (mapping.txt adalah penting untuk memahami apl yang dikelirukan). Apabila pembangun menggunakan alat pengecutan kod seperti R8, nama kelas dan kaedah digantikan dengan pengecam yang pendek dan tidak bermakna. Fail pemetaan merekodkan terjemahan nama asal kepada dikaburkan, penting untuk membaca laporan ranap sistem.
Format Sandaran Android (AB)
Fail dengan sambungan .ab ialah arkib sandaran Android yang dibuat oleh adb backup. Ia mengandungi arkib tar (pilihan dimampatkan dan disulitkan) bagi direktori data apl. Format ini ditamatkan dan memihak kepada penyelesaian sandaran berasaskan awan tetapi masih digunakan oleh beberapa alat sandaran.
IMG dan Imej Pemisahan
Walaupun tidak berkaitan dengan aplikasi, imej sistem Android menggunakan beberapa format yang patut disebut:
- system.img: Pembahagian sistem baca sahaja yang mengandungi rangka kerja Android dan apl prapasang
- boot.img: Mengandungi kernel Linux dan ramdisk awal
- vendor.img: Pemacu dan perisian tegar khusus perkakasan
- super.img: Bekas partition dinamik yang digunakan dalam peranti moden (Android 10+)
Jadual Perbandingan Format
Berikut ialah rujukan pantas membandingkan format pengedaran apl utama:
- APK: Fail tunggal, boleh dipasang terus, universal (termasuk semua konfigurasi), saiz yang lebih besar
- Format penerbitan AAB:, tidak boleh dipasang terus, memerlukan pemprosesan oleh Gedung Play
- Bekas XAPK: (APK + OBB/pecah), memerlukan pemasang atau pengekstrakan, digunakan oleh APKPure
- APK: Container (APK berpecah), format bundletool, memerlukan pemasang atau penggabungan
- Bekas APKM: (APK berpecah), format APKMirror, memerlukan pemasangnya
Memilih Alat yang Tepat
Bergantung pada format yang anda gunakan, alat yang berbeza adalah sesuai:
- Mempunyai XAPK? Gunakan XAPK kepada penukar APK kami untuk mengekstrak APK yang boleh dipasang
- Mempunyai AAB? Gunakan AAB kepada penukar APK kami untuk menjana APK universal
- Mempunyai APK berpecah (APKS)? Gunakan Penggabungan APKS kepada APK kami untuk menggabungkannya
- Perlu mengesahkan APK? Gunakan Pengesah APK kami untuk menyemak tandatangan
- Perlukan fail OBB daripada XAPK? Gunakan Pengekstrak OBB kami untuk membongkar fail pengembangan
Format Pakej Android Mana Yang Perlu Anda Gunakan?
Kepelbagaian format fail ekosistem Android mencerminkan evolusi platform daripada APK fail tunggal yang mudah kepada sistem penghantaran modular yang canggih. Setiap format wujud untuk menyelesaikan masalah tertentu: AAB mengurangkan saiz muat turun, XAPK memudahkan pengedaran apl berbilang fail, OBB mengendalikan data permainan yang besar dan APK berpecah membolehkan pengoptimuman khusus peranti.
Sebaik sahaja anda memahami format ini, anda boleh mengendalikan sebarang pakej Android yang anda hadapi, sama ada anda sedang memuatkan apl, menyandarkan peranti anda atau membangunkan aplikasi anda sendiri. Perkara utama ialah kebanyakan format ini akhirnya merupakan bekas yang menyimpan fail APK dalam pelbagai konfigurasi dan dengan alatan yang betul, anda sentiasa boleh mengekstrak perkara yang anda perlukan.