Troubleshooting
How to Install an XAPK on Android: The Three Routes That Work
By Rehman Ahmad · Updated 2026-08-31 · 7 min read · 1477 words
Short answer
An XAPK is a ZIP archive holding a base APK plus split APKs, so Android's built-in installer cannot open it. Use a split-APK installer app, or rename the file to a .zip and install the extracted parts together in one session. Budget roughly 2.5 times the download size in free storage.
You downloaded an XAPK, tapped it, and nothing happened. No error, no dialog, no progress bar — nothing.
That is the correct behaviour. An XAPK is not an app package; it is a ZIP archive containing several app packages, and Android's installer has no idea what to do with it. There is nothing to fix on your device.
What you need is a way to hand Android all the pieces at once. There are three, and one of them works on any phone without special tools.
What is actually inside an XAPK
Google's Android App Bundle format lets a developer upload one build and have the store deliver only the parts a specific device needs. Instead of one APK containing every CPU architecture, every screen density and forty languages, the device gets a base package plus a few small split APKs tailored to it.
That is a real improvement when the store does the assembling. It becomes a problem the moment you want the app as a file, because there is no longer a single file to download. The XAPK format is the workaround: zip the base and its splits together, sometimes with an OBB asset pack, and hand you the archive.
Open one with a file manager such as Solid Explorer and you will typically see:
base.apk— the app itselfsplit_config.arm64_v8a.apk— native code for your CPUsplit_config.xxhdpi.apk— images for your screen densitysplit_config.en.apkand friends — language resources- optionally a
.obbfile — large game or media assets
All of them are signed by the same developer key and stamped with the same version code. Android will accept them as a set or reject them entirely. It will not accept a partial set, and it will not accept splits from two different downloads mixed together.
Twelve apps in this catalogue ship this way: Tasker, Solid Explorer, Shazam Encore, FaceApp, MX Player, KineMaster, Snapseed, VSCO, VivaCut, PhotoRoom, Remini and VN Video Editor. Each page shows its current download size.
Before you start: check your free space
This is the step everyone skips and it is the most common reason a correctly-performed install still fails.
An XAPK install briefly needs three things on disk at once: the archive you downloaded, the split APKs extracted out of it, and the installed application after Android has generated optimised code for it. That is why the storage requirement is so much larger than the download.
Take the download size, multiply by two and a half, and confirm you have that much free before you begin. That multiple is a rule of thumb rather than a measurement — the real figure depends on how much of the archive is compressed assets and how much native code Android has to optimise — but it is the right side to err on. A phone with 400 MB free will not install a 270 MB bundle by any of the methods below, and the error it gives you will not mention storage.
> [!NOTE]
> Free space on Android is not the same as space reported by your gallery. Check Settings → Storage for the real figure, and remember that Android reserves some of what it shows you.
Route 1 — A split-APK installer app (easiest)
The standard answer, and the one to try first.
A split-APK installer opens the archive, extracts the parts, and submits them to Android as a single install session — the same mechanism the Play Store uses. The best-known are SAI (Split APKs Installer) and APKMirror Installer, both free.
- Install the split-APK installer from a source you trust.
- Grant it "Install unknown apps" — Settings → Apps → the installer → Install unknown apps. On Android 8 and later this permission is per source app, so granting it to your browser does nothing for the installer.
- Open the installer, point it at your
.xapk,.apksor.apkmfile, and confirm. - If the archive contains an OBB, let the installer place it. Do not do this part by hand — see the OBB section below.
How to tell it worked: the app appears in your launcher and opens without missing text or blank images. If text is missing, a language or density split did not install and you should uninstall and retry rather than live with it.
Route 2 — Rename to .zip and install the parts yourself
Useful when you cannot or will not install another app, and when you want to see what you are installing.
- Rename
whatever.xapktowhatever.zip. - Extract it with any file manager or archive tool.
- You now have
base.apkplus severalsplit_config.*.apkfiles.
Here is the part that matters: you cannot install these one at a time by tapping them. Tapping base.apk installs an incomplete app; tapping a split afterwards fails with a signature or version error, because a split cannot be installed as a standalone package. Android requires them submitted as one session.
Some file managers can do this. Most cannot. If yours cannot, use Route 1 or Route 3.
This route is still worth performing for inspection alone. Extracting the archive tells you which architectures it contains, and if you are on an older armeabi-v7a device and the bundle only carries arm64_v8a, you have found your problem before you wasted twenty minutes on it.
Route 3 — ADB from a computer (most reliable)
If you have a PC and a cable, this is the method that gives you a real error message instead of a shrug.
- Enable Developer options, then USB debugging, on the phone.
- Extract the XAPK on the computer as in Route 2.
- Run
adb install-multiple base.apk split_config.arm64_v8a.apk split_config.xxhdpi.apk split_config.en.apk— listing every APK from the archive.
install-multiple is the command that exists precisely for this. It opens an install session, streams all the packages into it, and commits them together.
The real advantage is diagnostic. When it fails you get the actual reason: INSTALL_FAILED_INSUFFICIENT_STORAGE, INSTALL_FAILED_NO_MATCHING_ABIS, INSTALL_FAILED_VERSION_DOWNGRADE, INSTALL_FAILED_UPDATE_INCOMPATIBLE. Every one of those points straight at a fix, which is more than the on-device experience will ever give you.
The OBB problem on modern Android
If your XAPK contains a .obb file, it has to end up at Android/obb/<package.name>/ on internal storage.
On Android 10 and earlier you could put it there with a file manager. From Android 11 onward, scoped storage restricts write access to Android/obb/, and a general-purpose file manager usually cannot create that directory or write into it. Attempts appear to succeed and quietly do nothing.
This is why manual OBB placement is now the least reliable step in the whole process, and why Route 1 is the recommendation: a split-APK installer holds the access needed to place the OBB correctly. If the app launches and then complains about missing data files, this is what happened.
When it still fails
| Symptom | Cause | Fix |
|---|---|---|
| Nothing happens on tap | XAPK given to the stock installer | Use Route 1 |
| Fails partway through | Not enough free space | Free 2.5× the download size |
| "App not installed", instantly | Existing copy signed with a different key | Uninstall the old copy fully |
| App installs, then crashes on launch | Only base.apk was installed | Install all splits in one session |
| Missing text or blank images | A language or density split is absent | Reinstall the complete set |
| Complains about missing data | OBB not placed | Let a split-APK installer do it |
NO_MATCHING_ABIS | Bundle lacks your CPU architecture | Find a build for your ABI |
| Install prompt never appears | "Install unknown apps" not granted to that app | Grant it per source |
For the wider set of install failures that are not XAPK-specific — signature mismatches, minSdkVersion floors, leftover registrations under a work profile — the full diagnostic tree is in our guide to fixing "App not installed" on Android.
One thing worth doing first
An XAPK is a repackaged App Bundle, which means the store's distribution chain is no longer vouching for it. What remains is the developer's signature on the splits themselves and whatever trust you place in where you downloaded it.
So before you install: check the publisher, check the version against the developer's own release notes, and check the file's SHA-256 hash if a hash is published. Our guide to verifying a SHA-256 checksum covers how, including the awkward case of doing it for a file that is already on your phone.
It takes two minutes and it is the only step in this article that protects you rather than just getting the app installed.
Every app named here resolves to a page in the FileCobra catalogue — the build fails if one does not. Versions, package sizes and system requirements are read from that catalogue rather than written by hand. Where our ingestion worker has fetched a release itself, it records a SHA-256 of the exact file we serve and publishes it on the app’s page. We do not run an antivirus lab: where a VirusTotal report exists we link it, and where none exists we say so rather than imply one.
Rehman Ahmad
VERIFIED AUTHORChief Technology Officer & Lead Systems Auditor at FileCobra
Rehman specializes in Android operating system internals, cryptographic integrity verification, reverse engineering APK packaging architectures, and high-performance audio/video DSP pipelines. He directs the security verification and release ingestion infrastructure across FileCobra.
Apps covered in this guide
-
Tasker
6.3.13 · 29.84 MB · Freeware
-
Solid Explorer
2.8.38 · 22.13 MB · Freeware
-
MX Player
1.84.2 · 87.03 MB · Freeware
-
Snapseed
2.22.0 · 143.11 MB · Freeware
-
FaceApp
12.2.1 · 51.07 MB · Freeware
-
PhotoRoom
5.3.6 · 307.7 MB · Freeware
-
VSCO
385.0.0 · 180.24 MB · Freeware
-
Remini
3.7.620 · 267 MB · Freeware
Frequently asked questions
What is an XAPK file?
A ZIP archive containing a base APK plus split APKs — separate packages holding the code for one CPU architecture, the resources for one screen density, and one or more language sets. Some also carry an OBB asset file. It is Google's App Bundle format captured as a single downloadable file.
Why does nothing happen when I tap an XAPK?
Because Android's package installer installs APKs, and an XAPK is not one — it is an archive with several APKs inside. There is no error because there is no failure; the system simply has no handler for that file type. You need an app that can open the archive and submit all the parts as one install session.
Can I just extract the XAPK and install the base APK?
It often appears to work and then breaks. The base APK installs, the app launches, and it crashes or shows missing text and blank images, because the resources and native libraries it expects live in the split files you did not install. Install all the splits together or none of them.
How much free space does an XAPK install need?
About two and a half times the download size, as a rule of thumb. The archive, the extracted splits and the optimised installed app all exist on disk at the same moment, so a 270 MB bundle can want most of 700 MB free before it will complete. Check the current download size on the app's own page and multiply from there.
Are XAPK files safe?
The format is neutral — it is a ZIP file, and it is exactly as trustworthy as wherever you got it. The real concern is that repackaging an App Bundle into an XAPK breaks the original store distribution chain, so the developer's signature on the splits is the only thing vouching for them. Check the publisher and the SHA-256 hash before installing, not after.