Android APK Compatibility Check: How to Know an App Will Work Before You Install
Installed an APK and got 'app not installed' or a crash on launch? Here's how to check Android version, CPU architecture, and DPI compatibility before downloading — with a simple pre-install checklist.
You download an APK, tap install, and get “app not installed”or an instant crash. Nine times out of ten it’s not a corrupt file — it’s a compatibility mismatch: wrong Android version, wrong CPU architecture, or a split package that needs its companions. Here’s how to check before you waste time.
Core idea: An APK has to match your device on three axes — Android version (minSdk), CPU architecture (ABI), and screen density (DPI). Check all three before installing and “not installed” errors mostly disappear.
The three compatibility axes
Every install problem maps to one of these:
- Android version (minSdk / targetSdk)— the app requires a minimum Android version.
- CPU architecture (ABI)— arm64-v8a, armeabi-v7a, or x86_64. Most phones are arm64, but 32-bit devices can’t run arm64-only builds.
- Screen density (DPI)— matters mainly for split/complex packages.
Mismatch any one and you get a failure — often with a vague message.
How to check your device’s specs
Before downloading, know your own device:
- Android version:Settings → About phone → Android version.
- CPU architecture (ABI): install a lightweight app like AIDA64 or CPU-Z, look for “ABI” / “Supported ABIs.” Most modern phones show arm64-v8a.
- Screen density:from the same apps or Settings → Display.
Write these down — you’ll match them against the APK.
How to check the APK’s requirements
Now inspect the package before installing:
- Open it with APK Analyzer (Android Studio) or MT Manager.
- Check minSdkVersion— the minimum Android version the app runs on. If your Android is lower, it won’t install (or it installs but crashes).
- Check targetSdkVersion— tells you how recent the app is; very old targets may misbehave on new Android.
- Check native libraries (lib/ folder)— the ABI folders inside (arm64-v8a, armeabi-v7a, x86_64) tell you which architectures are supported. If your device’s ABI isn’t there, it won’t run.
The ABI mismatch — the most common surprise
This trips up the most people:
- Many apps ship arm64-v8a only. A 32-bit-only device can’t run them.
- Some emulators and older tablets are x86/x86_64, which arm-only builds can’t run.
- Splits and App Bundles:apps distributed as AAB get split into base + config APKs. Installing only the base APK (or the wrong config split) causes “app not installed” or missing-resource crashes.
Fix: download the full/universal package or install the matching split setfor your device’s ABI and DPI. A good extractor handles the matching for you.
The compatibility checklist
| Check | Where to look | Match against |
|---|---|---|
| Android version | Settings → About phone | APK minSdkVersion |
| CPU architecture | AIDA64 / CPU-Z | APK lib/ ABI folders |
| Screen density | Settings / AIDA64 | APK split config |
| Package type | APK Analyzer | Universal vs split/AAB |
FAQ
“App not installed” — what’s the first thing to check?
Usually a signature conflict (an old different-signed version is installed) or an ABI/minSdk mismatch. Uninstall the old version first, then re-check compatibility.
My phone is arm64 but the app crashes on launch. Why?
Often a missing split/companion APK (AAB apps) or a device-specific bug. Try the universal build.
How do I tell if an APK is for arm64?
Open it and look at the lib/ folder — the folder names are the supported ABIs. Tools like MT Manager show this instantly.
Does DPI really matter?
For single APKs, rarely. For split packages, installing the wrong density split can cause missing resources or crashes.
Where can I get a compatible build without guesswork?
Pulling the original package with gptoapk.comfrom the app’s Play link gives you a build that matches Play’s own distribution — the safest way to avoid ABI/split guesswork.
Bottom line: know your Android version, ABI, and DPI; check the APK’s minSdk and lib/ folders against them; and prefer a universal build or a matching split set. That’s the whole compatibility check — and it prevents most “app not installed” headaches. Start with gptoapk.com.