Memahami Arsitektur CPU Android (ABI): Mengapa arm64-v8a, armeabi-v7a, dan x86 Penting

Diagram showing one app bundle splitting into arm64-v8a, armeabi-v7a, and x86 architecture-specific APKs

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:

ABILebar sedikitPerangkat khasCatatan
arm64-v8aLENGAN 64-bitHampir setiap ponsel terjual sejak sekitar tahun 2019Target default untuk aplikasi baru; Google telah mewajibkan dukungan 64-bit untuk pengiriman Play Store baru selama beberapa tahun sekarang.
armeabi-v7aLENGAN 32-bitPerangkat yang lebih tua atau murah, beberapa ponsel berbiaya rendah masih dijual di pasar negara berkembangMasih dikirimkan oleh banyak aplikasi untuk kompatibilitas mundur, meskipun sebagian besar perangkat aktif tidak lagi membutuhkannya.
x86Intel 32-bitTablet lama berbasis Intel, emulator lamaSebagian besar sudah usang; Anda jarang akan menemukan ponsel x86 32-bit asli saat ini.
x86_64Intel 64-bitBeberapa Chromebook, emulator Android desktop, beberapa tablet x86Penting 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.

Diagram comparing a matching arm64 APK that installs and runs successfully against an x86-only APK that fails to install on an arm64 phone with error INSTALL_FAILED_NO_MATCHING_ABIS

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:

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?

MetrikAPK universal / gemukAPK ABI Tunggal
Ukuran berkasLebih besar, terkadang 2-4xKecil, hanya berisi apa yang dibutuhkan perangkat Anda
KesesuaianBekerja di hampir semua perangkatHanya berfungsi pada arsitektur yang cocok
Terbaik untukBerbagi satu file yang seharusnya berfungsi di mana saja, penerimanya tidak yakinPerangkat Anda sendiri, jika Anda sudah mengetahui arsitekturnya
MempertaruhkanRisiko ketidakcocokan ABI sangat rendahAkan gagal atau crash jika Anda memilih yang salah

Kesalahan Umum yang Dilakukan Orang Dengan Paket Terpisah

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.

Direkayasa & Didokumentasikan oleh Mst Shaefale Pengembang Utama & Arsitek Paket Android • Terverifikasi di Android 12–15

Mst Shaefale mengelola penggabungan XAPK/APKS sisi klien, parser manifes biner, dan alat penandatanganan APK v1+v2 di xapktoapk.com. Temukan perintah yang ketinggalan jaman atau perubahan OS? Kirimkan catatan editorial.