Guide APK modding

How to Extract an APK File from Android (2026 Guide)

Extract APK files from installed apps using extractor apps or ADB. Step-by-step for rooted and non-rooted devices, including split APKs.

Contents

Part of the modding hub: How to Mod an APK · Storage: Where APKs Are Stored · Related: Export from Android Studio.

Extracting an APK means copying the installed app’s package file out of the phone, either with an extractor app or with two ADB commands (pm path and adb pull). It works without root for any app you installed, and it gives you a byte-identical backup you can archive, share, or mod later.

There are two jobs people mix up under this phrase. Copying the package out of a phone is extraction, covered here. Unpacking the archive to read what is inside is a separate task that needs a decompiler instead. Everything below is about copying.

What Does “Extracting an APK” Mean?

Extraction pulls the installed package file, base.apk plus any split files, out of /data/app and saves it to shared storage or a computer. The output is exactly what the package manager holds, with no changes to code, resources, or signature.

Getting the APK of an Installed App

Every installed app has at least one APK file on disk. The package manager knows the path, and two tools can read it: a file manager app on the phone, or ADB from a computer. Both are reading the same file.

Unpacking an APK File

Unpacking is different. It means opening the ZIP and extracting classes.dex, the manifest, and resources for inspection. That requires a decompiler such as JADX or APKTool, not an extractor.

Two Different Tasks

If your goal is a backup, a transfer, or a mod base, you want extraction. If your goal is to read the code or change something inside, you want unpacking. Extraction first, then unpack the copy, never the live install.

Method 1: Use an APK Extractor App

An extractor app lists everything installed, takes your selection, and writes the APK into shared storage. It is the fastest route on the phone itself, takes about ten seconds per app, and needs no computer or cable.

Step-by-Step

  1. Install an extractor from a source you trust.
  2. Open it and find the app in the list.
  3. Tap the app, choose extract, and pick a destination folder.
  4. Confirm the file appears in your file manager with the size you expect.

Where the APK Is Saved

Most extractors default to /storage/emulated/0/ExtractedApks/ or straight into Download/. Check the app’s settings if you cannot find it, and move the file somewhere organized before it gets buried under a hundred downloads.

Method 2: Use ADB

ADB gives the cleanest result: no intermediate app, no re-compression, no guessing where the file went. Two commands find the real path and copy the file, and the whole thing works over Wi-Fi once USB debugging is paired.

adb shell pm path

adb shell pm path com.example.app

The output prints package:/data/app/~~random/com.example.app-random/base.apk. That is the path to pull. For split packages, the command prints one line per split file, and every one of them matters.

adb pull

adb pull /data/app/~~random/com.example.app-random/base.apk ./app.apk

The file that lands on disk is byte-identical to the installed one. Full ADB setup, including wireless pairing, is in the install APK with ADB guide.

Extract Split APKs

When pm path prints more than one line, copy all of them and keep their names. Reinstalling only the base gives you an app that crashes on launch, because the split that holds the resources for your screen density or ABI never loaded.

List All Package Paths at Once

To pull several apps in one sitting, script the loop instead of clicking through an app list:

for p in com.a.app com.b.app; do
  adb shell pm path $p | sed 's/package://' | while read f; do
    adb pull "$f" "./backups/$p/"
  done
done

Each app lands in its own folder with its full split set intact. A hundred-app backup takes about four minutes on USB 2.0 and roughly half that over a paired Wi-Fi connection.

Method Comparison

Three routes reach the same file. Pick by where you are sitting and whether the app is split.

Method Root needed Split sets Speed Output
Extractor app No Usually handled 10 sec per app Shared storage
ADB pull No Explicit, all files Seconds per app Any folder on the PC
MT Manager No Handled 10 sec per app Any folder on the phone

All three copy the same bytes. The difference is bookkeeping: ADB makes you responsible for every split file, while the app-based tools collect the set for you.

Method 3: Use MT Manager

MT Manager works as an extractor on the phone: it lists installed apps, shows the package name and version, and writes the APK to any folder you choose. It is the same idea as a dedicated extractor, with a file manager attached for the next step.

Extract From the App List

Open MT Manager, use the APK list view, find the app, and choose extract. For split packages the tool gathers the set together, which is exactly the case where hand-copying over ADB goes wrong.

Then Edit or Sign

Because MT Manager is also an editor, you can go straight from extraction into modding your copy. Extract first, duplicate the file, and only then open the duplicate in the DEX or Arsc editor.

How to Extract an APK From a PC

With the phone on USB debugging, the computer is just another way to run the same two commands. Android Studio adds a graphical path for people who do not want a terminal, and both routes produce identical files.

Android Studio Device Explorer

Open the Device File Explorer, navigate to the app’s folder under /data/app, right-click the APK, and save it. The explorer shows the same paths ADB reports, which makes it useful when you are already deep in a project.

ADB Pull

Same commands as above, run from any terminal where adb is on the PATH. Over Wi-Fi, pair once with adb pair and then work without the cable. The pull step is identical.

How to Extract Split APKs and XAPK

Modern installs are often split: one base.apk plus split_config.arm64_v8a.apk, split_config.en.apk, and friends. Each split carries one slice of the app, and the set only works together.

What Split APKs Are

Splits exist so a download contains only the code and resources a given device needs. A phone in one region, on one CPU, in one language downloads a smaller slice of the app than the full universal package would be.

Extract the Whole Set

adb shell pm path lists every file in the set. Pull them all into one folder and leave the names untouched, because the installer matches splits by filename at install time. The same applies to an XAPK, which is an APK bundle with its splits inside a container.

Reinstall as a Set

adb install-multiple base.apk split_config.arm64_v8a.apk split_config.en.apk

Or use a tool that understands the container. Details on installing bundles are in the XAPK install guide.

How to Extract Every App on a Phone

Batch extraction is the same loop over every package the device reports. Run adb shell pm list packages -3 for user-installed apps, strip the package: prefix, and feed the list into the pull loop above. Add -s instead of -3 only when you also want system apps, most of which will refuse the copy without root.

Keep Versions, Not Just Apps

A backup of one moment in time goes stale the first time an app updates. Record the version code alongside each file, either from dumpsys package <pkg> | grep versionName or from the app’s About screen, so you can tell in a year which build you are holding.

Where to Store the Archive

Local disk is fine for a handful of files. For a full device archive, use a drive you control rather than a cloud folder that re-encodes or strips metadata, and keep two copies if the files matter. APKs are small: a hundred apps usually land between 8 and 15 GB.

Common Extraction Errors

Three failures cover most support threads: a permission refusal, an incomplete split set, and a path that no longer exists.

Permission Denied

If ADB refuses the copy, the app is in a protected location or the device disallows debug access to it. Extractor apps hit the same wall on system packages. Neither sign means the APK is gone, only that this route cannot read it.

Missing Split APKs

Pulling only base.apk from a split install produces a file that installs and then crashes, or refuses to install outright. Always check how many paths pm path printed, and copy every one.

Wrong File Path

Paths under /data/app contain random suffixes that change on every update. Re-run pm path instead of reusing an old path, and double-check the ~~ characters survive the copy-paste intact.

What to Do With an Extracted APK

The extracted file is a clean backup of the exact version you had installed. From there the common moves are archival, transfer, inspection, and modification.

  • Back it up: keep dated copies so you can reinstall an old version later.
  • Share it: send the file to another phone over Quick Share or a transfer app.
  • Inspect it: unpack a copy with a decompiler to see permissions, code, and resources.
  • Mod it: duplicate it and start editing, following the modding pillar.

Verify What You Got

Before trusting an extraction, check the size against what the device reports and confirm the file opens as a valid ZIP. A zero-byte file or a truncated pull means the copy failed silently, which is the most common ADB mistake on flaky cables.

Keep the Version Record

Write down the package name, version code, and extraction date next to each file. Six months later, when an app has updated three times, that record is the only way to know which build you are holding. dumpsys package <pkg> prints both numbers on a connected device.

Extraction vs Downloading a Fresh Copy

Extraction gives you the exact bytes on your phone, including any device-specific splits. Downloading gives you the developer’s published file, which may be a different build or a different split set. Neither is universally better: extraction preserves what you had, downloading gets you what everyone else has.

When Extraction Wins

Rolling back after a bad update, preserving a version that was delisted, or copying an app to a device with no store access. All three need the file you already hold, not a fresh download that may no longer exist.

When Downloading Wins

The installed copy is corrupted, the app was sideloaded from an untrusted source, or you want the universal APK rather than your device’s splits. In those cases pull from the vetted download sites instead of copying what is on the phone.

Backups and restore steps live in the backup APK guide. Start with a single extraction over ADB, confirm the file size matches what the device reports, then build the habit of pulling every package you care about before an update lands.

Key Takeaways

  • Extraction copies the installed package. It does not unpack the archive.
  • ADB (pm path + pull) gives byte-identical files with no root.
  • Split APKs must be copied and reinstalled as a full set.

Frequently Asked Questions

How do I extract an APK from an app?

Use an extractor app: open it, pick the app from the list, tap extract, and the APK lands in shared storage. The same job runs over ADB with pm path to find the file and adb pull to copy it.

Can I extract APKs without root?

Yes. Apps you installed live in a readable location, so extractor apps and ADB both reach them with no root. Root is only needed to pull system apps out of the read-only system partitions.

How do I extract a system APK?

System apps sit under /system or /product, which normal users cannot read. Use a rooted file manager, or run pm path as shell over ADB, which can resolve the path but may still refuse the copy without root.

Where do extracted APKs go?

Extractor apps default to a folder in shared storage such as /storage/emulated/0/ExtractedApks or /Download. With ADB the destination is wherever you point adb pull, so an explicit path like ./backups/app.apk avoids surprises.

How do I extract split APKs?

Run adb shell pm path com.example.app and copy every path it prints, base plus split files. Keep the names intact and reinstall the set together with adb install-multiple, because a base without its splits will crash or refuse to install.

What is the best APK extractor app?

Any extractor that shows the package name and saves the file verbatim works, and MT Manager doubles as one with an APK list view. Whatever you pick, download the extractor itself from a trusted source and verify what it gives you.

How do I extract an APK via ADB?

Connect the phone, run adb shell pm path <package> to print the real path, then adb pull <path> ./app.apk. Two commands, no root, byte-identical output, and it works over Wi-Fi with adb connect.

Can I extract an APK on a PC?

Yes, with the phone connected. Android Studio's Device Explorer shows installed packages and lets you pull files, and plain ADB does the same from any terminal. Neither approach needs an app installed on the phone.

Why can't I extract some apps?

Protected apps, apps that store their APK inside a read-only partition, and apps with private install sessions may not appear or may refuse the copy. Instant apps and streamed packages also have no single file to pull.

How do I reinstall an extracted APK?

Copy the file to the device, enable unknown sources for your file manager, and open it to install. If it replaces an existing app, the signatures must match, otherwise uninstall first and accept the loss of local data.

Part of the complete guide

How to Mod an APK (Games) — Methods, Tools & Risks (2026)

Also in APK modding: