arm64-v8a or armeabi-v7a? Which APK Your Phone Needs, and How to Check

arm64-v8a is for 64-bit ARM phones, armeabi-v7a for 32-bit ARM. How to check which your phone runs, when to take the universal APK, and what happens if you pick wrong.

Short answer: arm64-v8a is for phones with a 64-bit ARM processor, armeabi-v7a for 32-bit ARM. If your phone lists arm64-v8a (see below how to check), take that one. If you’re not sure, a universal APK works everywhere; it is just bigger.

These names come from Android’s ABIs: the kinds of processor code an app’s native parts are built for. An app without native code, one written only in Java or Kotlin, has no such parts and runs on any phone.

The names you’ll see

Name Built for Where you meet it
arm64-v8a 64-bit ARM Current phones and tablets
armeabi-v7a 32-bit ARM Older phones; Google says 32-bit-only devices remain important for Android Go, Android TV and Android Wear
x86_64 64-bit Intel and AMD The Android emulator on PCs, and many Chromebooks
x86 32-bit Intel and AMD Older emulators and Chromebooks
universal All of the above in one file Works anywhere, at the cost of size

armeabi (ARMv5) and MIPS were dropped from Android’s NDK years ago. You may still see them in very old apps.

How to check your phone

Android keeps the list in a system property, ro.product.cpu.abilist. Android’s developer reference describes it as “an ordered list of ABIs supported by this device”, with “the most preferred ABI” first.

  • With a computer: adb shell getprop ro.product.cpu.abilist
  • On the phone: in a terminal app such as Termux, run getprop ro.product.cpu.abilist.

It prints a comma-separated list. How to read it:

  • arm64-v8a comes first: take the arm64-v8a APK.
  • It also lists armeabi-v7a: your phone can run 32-bit apps too, so an armeabi-v7a APK would install as well.
  • arm64-v8a without armeabi-v7a: your phone runs only 64-bit apps, and 32-bit-only APKs won’t install. According to Google, the Pixel 7 and Pixel 7 Pro were the first Android phones like this.
  • Only armeabi-v7a: take the armeabi-v7a APK. Android’s compatibility rules require phones with less than 2 GB of memory to support a single ABI, and strongly recommend 32-bit only for phones with 2 to 4 GB, so a low-cost phone can run only 32-bit apps even if its processor is 64-bit.

Which file to download

  • The project offers one file per CPU type: take the first one your phone lists. It is the smallest download.
  • A universal APK: works on any of these phones. For example, Florid 1.4.0’s universal APK is 70.7 MB, against 28.5 MB for its arm64 build.
  • Stick with the kind you started with. Builds for different CPU types often get different version codes: Android’s own example gives an x86 build the version code 2004 and an x86_64 build 3004. Florid 1.4.0’s arm64 APK has version code 2017 and its universal APK 17, so the universal one won’t install over the arm64 one. Android treats it as a downgrade; see other “App not installed” messages.
  • On Google Play you don’t choose. Apps come as bundles, and your phone downloads only the parts that match it.

What happens if you pick the wrong one

  • No code for any CPU type your phone supports: the install fails with “App not installed as app isn’t compatible with your phone.” (Android 17’s new installer: “This app is not compatible with your device”.) Behind it is INSTALL_FAILED_NO_MATCHING_ABIS.
  • A 32-bit APK on a phone that runs both: it installs and runs. Since Android 14, it shows a warning when it starts: “This app isn’t compatible with the latest version of Android. Check for an update or contact the app’s developer.”
  • A 32-bit APK on a 64-bit-only phone: it doesn’t install at all.
  • An ARM APK on an x86 Chromebook: ChromeOS tries to translate the ARM code, which Google says slows it down.

Why 64-bit is the norm

Google Play has required 64-bit versions of apps with native code since August 1, 2019, and since August 1, 2021 it no longer serves apps without them to 64-bit devices. That is why most current apps ship arm64-v8a, and some ship nothing else.

On this site

Each app page lists the CPU types in its APK under What’s inside the APK, and its Common questions say which phones it runs on. When we checked on 30 September 2026, of the 118 apps we host:

  • 22 contain no native code, so they run on any phone;
  • 66 include both 32-bit and 64-bit ARM code;
  • 30 are for 64-bit ARM only;
  • none is 32-bit only;
  • 71 also include x86 code, for emulators and Chromebooks.

The rest of what we measured, with the raw data, is in our open-source APK report.

Apps in this guide

Sources