Memahami Arsitektur CPU Android (ABI): Mengapa arm64-v8a, armeabi-v7a, dan x86 Penting
Jika Anda pernah menggabungkan sekumpulan file APK terpisah dan melihat ponsel Anda menampilkan pesan "Aplikasi tidak diinstal", atau lebih buruk lagi, melihatnya terinstal dengan baik hanya untuk crash saat Anda mengetuk ikonnya, ada kemungkinan besar masalah sebenarnya tidak ada hubungannya dengan unduhan yang rusak. Hampir pasti penyebabnya adalah arsitektur: ketidaksesuaian antara CPU yang digunakan ponsel Anda dan CPU tempat kode asli aplikasi dikompilasi. Sebagian besar pengguna Android tidak perlu memikirkan hal ini, hingga hal tersebut secara diam-diam merusak sesuatu, dan kemudian menjadi relevan dengan cepat. Inilah arti arsitektur CPU bagi sebuah APK, alasan sebuah aplikasi di Play Store diam-diam dikirimkan sebagai beberapa versi berbeda, dan cara memeriksa kompatibilitas sebelum Anda menginstal apa pun.
Apa Itu ABI
ABI adalah singkatan Antarmuka Biner Aplikasi. Dalam istilah praktis, ini adalah kumpulan instruksi yang dipahami oleh chip — format kode mesin mentah yang dapat dijalankan oleh prosesor secara langsung. Sebagian besar aplikasi Android, bagian-bagiannya ditulis dalam Java atau Kotlin, dikompilasi menjadi bytecode yang berjalan di dalam Android Runtime (ART), dan ART tidak terlalu peduli di chip mana aplikasi itu berada. Lapisan tersebut dirancang secara agnostik terhadap arsitektur, yang merupakan alasan utama mengapa aplikasi Android umumnya "berfungsi" di berbagai perangkat keras.
Kode asli adalah cerita yang berbeda. Banyak aplikasi, terutama game, aplikasi kamera, alat pembelajaran mesin, dan apa pun yang melakukan pemrosesan audio atau video berat, mengirimkan pustaka asli yang ditulis dalam C atau C++ melalui Android NDK. Pustaka tersebut dikompilasi terlebih dahulu ke dalam kode mesin untuk satu set instruksi tertentu, dan sebuah chip yang dibuat untuk satu set instruksi umumnya tidak dapat mengeksekusi kode mesin yang ditulis untuk set instruksi lain. Itulah alasan mengapa ABI ada sebagai sesuatu yang layak untuk dipahami: saat sebuah aplikasi menyertakan bahkan satu pustaka .so asli, kompatibilitasnya menjadi terikat pada arsitektur yang menjadi tujuan pembuatan pustaka tersebut.
Arsitektur yang Akan Anda Hadapi
Dulunya terdapat lebih banyak variasi dalam bidang ini (ingat armeabi biasa, atau MIPS?), namun pada tahun 2026 bidang ini telah menyempit menjadi empat ABI yang perlu diketahui:
| ABI | Lebar sedikit | Perangkat khas | Catatan |
|---|---|---|---|
| arm64-v8a | LENGAN 64-bit | Hampir setiap ponsel terjual sejak sekitar tahun 2019 | Target default untuk aplikasi baru; Google telah mewajibkan dukungan 64-bit untuk pengiriman Play Store baru selama beberapa tahun sekarang. |
| armeabi-v7a | LENGAN 32-bit | Perangkat yang lebih tua atau murah, beberapa ponsel berbiaya rendah masih dijual di pasar negara berkembang | Masih dikirimkan oleh banyak aplikasi untuk kompatibilitas mundur, meskipun sebagian besar perangkat aktif tidak lagi membutuhkannya. |
| x86 | Intel 32-bit | Tablet lama berbasis Intel, emulator lama | Sebagian besar sudah usang; Anda jarang akan menemukan ponsel x86 32-bit asli saat ini. |
| x86_64 | Intel 64-bit | Beberapa Chromebook, emulator Android desktop, beberapa tablet x86 | Penting jika Anda menguji aplikasi di emulator seperti Android Studio AVD berbasis x86 atau build BlueStacks tertentu. |
Jika Anda memegang telepon yang dibeli kapan saja dalam lima atau enam tahun terakhir, hampir pasti itu adalah arm64-v8a. Pengecualian yang perlu diingat adalah emulator dan Chromebook, yang sering kali dijalankan pada x86_64, karena cocok dengan CPU laptop atau desktop yang mendasarinya.
Mengapa Aplikasi Mengganggu Pengiriman Banyak Versi
Satu pertanyaan yang jelas adalah mengapa pengembang tidak menjejalkan setiap perpustakaan asli arsitektur ke dalam satu APK dan menyelesaikannya. Beberapa aplikasi melakukan hal tersebut, dan ini disebut APK universal atau "gemuk". Kelemahannya adalah ukuran. Sebuah game dengan pustaka asli untuk arm64-v8a, armeabi-v7a, x86, dan x86_64 yang semuanya digabungkan dapat dengan mudah berukuran dua atau tiga kali lipat dibandingkan dengan build yang hanya berisi satu arsitektur yang dibutuhkan perangkat Anda. Lipat gandakan jumlah tersebut ke jutaan instalasi dan Anda akan melihat sejumlah besar bandwidth dan penyimpanan terbuang, untuk kode yang tidak akan pernah berjalan di perangkat tersebut.
Untuk menghindari pemborosan tersebut, Google Play dan format Android App Bundle membagi aplikasi menjadi APK dasar kecil ditambah serangkaian APK konfigurasi, yang salah satunya didedikasikan untuk arsitektur. Saat ponsel Anda meminta aplikasi tersebut, Play Store memberikan APK dasar beserta hanya pemisahan arsitektur yang cocok dengan chip Anda, serta kepadatan layar dan pemisahan bahasa yang cocok. Anda akan mendapatkan instalasi yang berperilaku seperti satu aplikasi tetapi dirakit dari beberapa bagian yang dibuat khusus di belakang layar.
Bagaimana APK Terpisah dan Paket Aplikasi Menggunakan Ini
Jika Anda pernah membuka paket .apks atau .xapk dan melihat nama file seperti split_config.arm64_v8a.apk, split_config.armeabi_v7a.apk, split_config.xxhdpi.apk, dan split_config.en.apk berada di sebelah base.apk, itulah cara kerja sistem ini, hanya diekspor sebagai sekumpulan file dan bukan dikirimkan secara diam-diam oleh Play Store. Pemisahan kepadatan dan bahasa biasanya aman untuk dipasang tanpa pandang bulu karena ponsel akan mengabaikan sumber daya yang tidak diperlukan. Perpecahan arsitekturnya berbeda: instal yang salah, atau gagal instal yang cocok, dan Anda akan mengalami masalah besar.
Saat Anda menggunakan konverter untuk menggabungkan kembali paket terpisah menjadi satu APK yang dapat diinstal, proses penggabungan harus memilih pemisahan arsitektur mana yang akan digabungkan. Konverter yang baik menyimpan setiap pemisahan arsitektur yang benar-benar berguna, atau memungkinkan Anda memilih, daripada hanya menyimpan satu secara diam-diam dan berharap itu cocok dengan perangkat Anda.
Apa Yang Terjadi Jika Arsitekturnya Tidak Sesuai
Ada dua mode kegagalan berbeda yang perlu diketahui secara terpisah, karena keduanya terlihat dan terasa berbeda bagi pengguna biasa.
Yang pertama adalah kegagalan instalasi secara langsung. Jika aplikasi dibuat hampir seluruhnya berdasarkan kode asli tanpa penggantian yang berarti, pengelola paket Android akan menolak untuk menginstalnya sama sekali, biasanya memunculkan kesalahan seperti INSTALL_FAILED_NO_MATCHING_ABIS. Anda bahkan tidak akan pernah bisa membuka aplikasinya; pemasang menghentikan Anda di depan pintu.
Hasil kedua yang lebih membuat frustrasi adalah keberhasilan parsial yang diam-diam. Jika suatu aplikasi memiliki titik masuk Java atau Kotlin yang dapat dimuat dengan baik, namun kemudian mencoba memanggil pustaka asli yang tidak ada untuk arsitektur Anda, maka penginstalan akan selesai secara normal. Semuanya tampak baik-baik saja sampai Anda mengetuk ikon tersebut, dan pada saat itu aplikasi langsung mogok, sering kali dengan UnsatisfiedLinkError terkubur di dalam log. Ini adalah cerita klasik "Saya mengonversinya, menginstalnya, lalu langsung menutupnya", dan ini hampir selalu merupakan masalah arsitektur daripada file yang rusak.
Cara Memeriksa Arsitektur Ponsel Anda Sendiri
Bagi sebagian besar orang, ini sederhana: jika ponsel Anda berasal dari tahun 2019 atau lebih baru, asumsikan arm64-v8a dan lanjutkan. Jika Anda ingin yakin, atau Anda berurusan dengan perangkat yang lebih tua atau tidak biasa, beberapa pilihan praktis:
- Cari model chipset ponsel Anda yang sebenarnya (terlihat di kotak, di manual, atau di situs seperti GSMArena) dan cari apakah chipset tersebut ARM 32-bit atau 64-bit.
- Instal aplikasi informasi sistem ringan yang melaporkan arsitektur CPU secara langsung, ada beberapa aplikasi gratis yang khusus untuk tujuan ini.
- Periksa apakah ponsel dikirimkan dengan Android 9 atau lebih baru sebagai versi OS aslinya; Persyaratan 64-bit Google pada masa itu membuat arm64-v8a pada dasarnya dijamin untuk segala hal yang memenuhi syarat.
Cara Memeriksa Arsitektur Apa yang Didukung APK
Sebelum menginstal file dari luar Play Store, ada baiknya memastikan apa yang ada di dalamnya daripada menebak-nebak. Pustaka asli APK berada di folder yang diberi nama sesuai arsitekturnya di dalam direktori lib/, seperti lib/arm64-v8a/ atau lib/armeabi-v7a/. Alat apa pun yang dapat memeriksa struktur internal APK dapat memberi tahu Anda folder mana yang ada, yang memberi tahu Anda di perangkat mana file tersebut akan dijalankan.
Periksa sebelum Anda menginstal
Alat Info APK kami membaca folder lib/ internal APK dan mencantumkan setiap arsitektur yang dibuat, sehingga Anda dapat mengonfirmasi kompatibilitas sebelum melakukan sideload apa pun. Saat Anda mengonversi paket terpisah dengan Konverter XAPKS ke APK kami, kami juga menampilkannya secara otomatis setelah setiap konversi, mencantumkan arsitektur yang ditemukan dalam file gabungan dan menandainya ketika sebuah build tampaknya kehilangan bagian yang diperlukan perangkat umum.
APK Universal vs APK ABI Tunggal: Mana yang Harus Anda Gunakan?
| Metrik | APK universal / gemuk | APK ABI Tunggal |
|---|---|---|
| Ukuran berkas | Lebih besar, terkadang 2-4x | Kecil, hanya berisi apa yang dibutuhkan perangkat Anda |
| Kesesuaian | Bekerja di hampir semua perangkat | Hanya berfungsi pada arsitektur yang cocok |
| Terbaik untuk | Berbagi satu file yang seharusnya berfungsi di mana saja, penerimanya tidak yakin | Perangkat Anda sendiri, jika Anda sudah mengetahui arsitekturnya |
| Mempertaruhkan | Risiko ketidakcocokan ABI sangat rendah | Akan gagal atau crash jika Anda memilih yang salah |
Kesalahan Umum yang Dilakukan Orang Dengan Paket Terpisah
- Dengan asumsi setiap pemisahan adalah opsional. Biasanya terjadi pemisahan kepadatan dan bahasa, tetapi pemisahan arsitektur tidak; never skip it during a merge.
- Hanya mengambil satu arsitektur yang terpisah dari situs cermin. Jika unduhan pihak ketiga hanya menawarkan, katakanlah, potongan armeabi-v7a, unduhan tersebut mungkin gagal pada perangkat yang membutuhkan arm64-v8a, meskipun aplikasi itu sendiri sah.
- Lupa bahwa tablet dan Chromebook tidak selalu ARM. Banyak Chromebook yang menjalankan aplikasi Android, dan beberapa tablet lama, menggunakan x86 atau x86_64, bukan ARM.
- Menguji APK khusus ARM di dalam emulator x86. Beberapa versi emulator lama berjalan di x86, dan APK yang hanya mengirimkan pustaka asli ARM tidak akan diluncurkan di dalamnya, terlepas dari cara APK dikemas.
- Membingungkan "universal" dengan "ABI tunggal". APK universal sengaja dibuat lebih besar karena mencakup semuanya; APK ABI tunggal berukuran kecil dan sengaja dibatasi pada satu keluarga chip.
Poin Penting
- ABI adalah kumpulan instruksi yang dipahami oleh chip; ini hanya penting untuk aplikasi yang menyertakan kode asli (C/C++).
- arm64-v8a mencakup hampir semua ponsel modern; armeabi-v7a ditujukan untuk perangkat lama; x86/x86_64 sebagian besar muncul di emulator dan Chromebook.
- Aplikasi biasanya dipisahkan berdasarkan arsitektur untuk menghindari pengiriman kode asli yang tidak perlu ke setiap perangkat.
- Arsitektur yang tidak cocok akan memblokir instalasi secara langsung atau menyebabkan crash langsung setelah instalasi yang tampaknya berhasil.
- Anda dapat memeriksa arsitektur perangkat dan arsitektur yang didukung APK sebelum menginstal apa pun, sehingga menghindari dugaan sepenuhnya.
Pertanyaan yang Sering Diajukan (FAQ)
Apakah saya perlu mengetahui arsitektur ponsel saya untuk menginstal aplikasi Play Store yang normal?
Tidak. Play Store secara otomatis mendeteksi perangkat Anda dan hanya memberikan pemisahan arsitektur yang cocok, jadi ini hanya menjadi relevan ketika Anda melakukan sideload APK dari luar Play Store.
Bisakah satu APK mendukung banyak arsitektur sekaligus?
Ya. APK universal atau gemuk menggabungkan pustaka asli untuk setiap arsitektur yang didukung dalam satu file. Ini lebih besar tetapi dapat diinstal pada perangkat apa pun yang kompatibel, apa pun chipnya.
Mengapa APK saya yang telah dikonversi terinstal tetapi kemudian langsung mogok?
Hal ini biasanya terjadi jika aplikasi memiliki sejumlah kecil kode Java yang dapat diinstal dengan baik, namun kemudian mencoba memuat pustaka asli yang tidak disertakan untuk arsitektur perangkat Anda, sehingga memunculkan UnsatisfiedLinkError saat runtime.
Apakah arm64-v8a kompatibel dengan aplikasi armeabi-v7a?
Generally yes. Kebanyakan chip arm64-v8a juga dapat menjalankan instruksi ARM 32-bit, sehingga APK khusus armeabi-v7a biasanya akan tetap berjalan di ponsel arm64 modern, hanya saja bukan sebaliknya.
Apakah perangkat Android x86 masih ada di tahun 2026?
Ini jarang ditemukan di ponsel saat ini, namun Anda masih akan menemukan x86 atau x86_64 di beberapa tablet berbasis Intel lama, beberapa Chromebook yang menjalankan aplikasi Android, dan sebagian besar emulator Android desktop.
Anda tidak perlu menghafal semua ini. Versi singkatnya: ponsel modern hampir selalu menggunakan arm64-v8a, aplikasi dipecah berdasarkan arsitektur untuk menghemat ruang, dan jika ada sesuatu yang menolak untuk dipasang atau mogok segera setelah dibuka, ketidakcocokan arsitektur adalah salah satu hal pertama yang patut dikesampingkan sebelum berasumsi bahwa file itu sendiri rusak.