Quick Links

Sometimes when you want to sideload an app on your Android phone, there are multiple APK variants to choose from. Certain apps are designed for specific specs—such as display and processor—so how do you know which one to download?

Understanding the Different File Versions

If you're here, there's a good chance you're trying to download an app from APK Mirror, which is a legitimate hosting site for APKs that are available for free in the Play Store. This is an excellent option if the app you want is geo-restricted, not available for your device, or has an update that hasn't yet made it to your account.

While many apps only have one APK version available to download, some apps have many different variants. For example, some older versions of the official YouTube app had 40 different variants to choose from—that's overwhelming. The variants are labeled with some very tech jargon-y terms, so let's go over some of them. Generally, the details are broken down into three primary categories:

  • Architecture: This is referring to the type of processor in your phone. Usually, the options will be arm, arm64, x86, and x86_64. ARM and x86 are for 32-bit processors, while arm64 and x86_64 are for 64-bit processors. We'll explain in more detail below.
  • Android Version: This is the version of the Android OS your device is running.
  • Screen DPI: DPI stands for "Dots Per Inch"—basically this is the pixel density of your phone's screen. For example, a six-inch full HD screen (1920x1080) has a DPI of ~367. Bump that resolution up to 2880x1440, and the DPI rises to ~537.

ARM vs. x86

While Android version and DPI are pretty straightforward, processor architecture is another story altogether. There are two different architectures to know:

  • ARM: This is a mobile processor architecture first and foremost, and what the majority of phones run now. Qualcomm's Snapdragon, Samsung's Exynos, MediaTek's mobile chips, and Google's Tensor chips are all examples of ARM processors. Most modern chips are 64-bit, or ARM64.
  • x86: This is the architecture specification for Intel chips. As dominant as Intel is in the computer market, these chips are far less common in Android handsets. x86_64 refers to 64-bit Intel chips.

This information is especially important because x86 and ARM files are not cross-compatible—you must use the version designed for your phone's specific architecture. Similarly, if your phone is running a 32-bit processor, the 64-bit APK won't work. 64-bit processors, however, are backwards compatible, so the 32-bit APK will work fine on a 64-bit processor.

APK vs Bundle

The last thing you might notice on websites like APK Mirror is something called "Bundles." Apps are marked either as "APK" or "Bundle," and it's important to download the right one. A "Bundle" from APK Mirror is a "split APK," and it needs to be installed in a special way.

An app bundle is smaller in size than a typical APK because it's building the app specifically for your device—not all of the components might be needed, resulting in smaller file sizes. It can also allow for a smaller initial download that only installs features as they're needed.

When you download an app bundle from the Play Store, all of this is handled without you. However, in order to install a bundle from APK Mirror specifically, you need to use the official APKMirror Installer app. Split bundles from other sources can use an app called "Split APKs Installer (SAI)."

In general, it's a lot easier to avoid app bundles and just go for the good ol' APK files.

How to Find Your Device's Correct Information

That's a lot of to keep track of by yourself, but the good news is there's an easy way to find out all of your device's information with a handy app. It's called Droid Hardware Info, and this trusty free app has been around for a long time, giving you all the nitty gritty details about your Android device.

First, go ahead and install it from the Play Store. Open the app and you'll first see the "Device" tab. There are two key pieces of info here—DPI and Android OS version. To find the DPI, look at the "Software Density" entry under the "Display" section.

Look for "Software Density."

For the Android version, look at the "OS Version" on the same screen (Google still uses dessert nicknames internally). You can also easily find the OS version from the Android Settings.

Find the "OS Version."

For architecture info, slide over to the "System" tab and check out the "CPU Architecture" and "Instruction Sets" entries under the "Processor" tab. This one isn't quite as straightforward as the others since it doesn't plainly say "arm64" or similar, so you'll have to read between the lines a bit.

First off, if you see "64" in the architecture name, you can pretty much guarantee it's a 64-bit device. Easy enough. To figure out if it's ARM or x86, you'll look at the "Instruction Set" section—again, you're just looking for the basic info here, like the letters "arm."

Find the "CPU" and "Instruction Set."

On my Pixel 7, for example, it's pretty clear that it's an ARM64 device. "ARM" is mentioned in the CPU name, and "arm64" is mentioned in the "Instruction Sets." In other cases, we can safely assume a device has a 32-bit chip if it doesn't specify the 64-bit architecture.

Choosing Which File to Download

With all of this in mind, let's take a look at an example app on APK Mirror. At the time of writing, the latest version of Google Photos has six variants. Based on the information shown from the Droid Hardware Info app, I know I need to look for an ARM64 variant with 420 DPI.

It's easy to match the processor type and Android version—arm64 and Android 6.0+. But there's no specific option for 420 DPI.

DPI listings on APK Mirror.

So, in this case, I have two main options to choose from—"320-640dpi" or the catch-all "nodpi" variant.

DPI versions.

The "nodip" variants contain all the resources available to cover the gamut of DPIs out there. So why not choose this one regardless? Because of the file size—since it contains resources to work on essentially any DPI—it's a much larger file. It's better to find a DPI that matches, but in this specific case, it's the only non-bundle variant that matches what I need.

Choose the APK.

Now that you've got the correct APK for your device, it's just a matter of sideloading it! Learning your device's ins and outs is pretty simple. And fortunately, once you figure this info out you shouldn't have to worry about it again until you get a new phone.